系统的软硬件配置_硬件配置和软件配置

系统的软硬件配置_硬件配置和软件配置,第1张

一、系统软件开发环境

(一)数据库服务器

*** 作系统为AIXUNIX,硬件为IBMP620小型机、硬盘为70GB、双CPU、内存为4GB,数据库为Oracle10g。

(二)应用服务器

*** 作系统为Windows2000Server,硬件为PC服务器、内存为2GB,ArcGIS9x,空间数据库引擎ArcSDE9x,防病毒软件等。

(三)客户端

*** 作系统为Windows2000或WindowsXP,PC计算机或便携机、主频17GHz以上、硬盘80GB以上、内存1GB以上,ArcGIS客户端应用程序,Oracle数据库客户端应用程序,防病毒软件。

(四)网络

基于TCP/IP的局域网、通过100/10M交换机连接主机与客户机。

二、系统软件运行环境

(一)数据库服务器

*** 作系统为开发的UNIX *** 作系统,硬件为小型机以上或计算机并行处理的机群或双机热备、硬盘不少于2TB、至少4CPU、内存大于8GB,基于并行处理的Oracle数据库和空间数据库引擎ArcSDE。

(二)应用服务器

*** 作系统为Windows2000Server或WindowsXPServer,硬件为高端PC服务器、硬盘不少于100GB、至少2CPU、内存4GB,ArcGIS9x,空间数据库引擎ArcSDE9x,本信息系统软件。

(三)客户端

*** 作系统为Windows2000或WindowsXP,PC计算机或便携机、主频17GHz以上、硬盘80GB以上、内存1GB以上,ArcGIS客户端应用程序,Oracle数据库客户端应用程序,防病毒软件。

(四)网络

企业内部网、行业网和互联网。路由器、交换机和防火墙。

1

数据库定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享

2

数据库管理技术发展的三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段

3

DBMS(数据库管理系统)是位于用户与 *** 作系统之间的一层数据管理软件

主要功能:1,数据定义功能

2,数据组织、存储和管理

3,数据 *** 纵功能

4,数据库的事务管理和运行管理

5,数据库的建立和维护功能

6,其他功能

4

什么是数据模型及其要素(设计题):数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和 *** 作手段的形式构架

一般地讲,数据模型是严格定义的概念的集合

这些概念精确地描述系统的静态特性、动态特性和完整性约束条件

因此数据模型通常由数据结构、数据 *** 作和完整性约束三部分组成

(1)数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述

(2)数据 *** 作:是指对数据库中各种对象(型)的实例(值)允许进行的 *** 作的集合,包括 *** 作及有关的 *** 作规则,是对系统动态特性的描述

(3)数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容

最常用的数据模型:层次模型,网状模型,关系模型,面积对象模型,对象关系模型

5

常用的数据模型有哪些(逻辑模型是主要的),各有什么特征,数据结构是什么样的

答:数据模型可分为两类:第一类是概念模型,也称信息模型,它是按用户的观点来地数据和信息建模,主要用于数据库设计

第二类是逻辑模型和物理模型

其中逻辑模型主要包括层次模型、层次模型、关系模型、面向对象模型和对象关系模型等

它是按计算机系统的观点对数据建模,主要用于DBMS的实现

物理模型是对数据最低层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的

物理模型是具体实现是DBMS的任务,数据库设计人员要了解和选择物理醋,一般用户则不必考虑物理级的细节

层次数据模型的数据结构特点:一是:有且只有一个结点没有双亲结点,这个结点称为根结点

二是:根以外的其他结点有且只有一个双亲结点

优点是:1

层次数据结构比较简单清晰

2

层次数据库的查询效率高

3

层次数据模型提供了良好的完整性支持

缺点主要有:1

现实世界中很多联系是非层次性的,如结点之间具有多对多联系

2

一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据结构来解决

对插入和删除 *** 作的限制比较多,因此应用程序的编写比较复杂

3

查询子女结点必须通过双亲结点

4

由于结构严密,层次命令趋于程序化

可见用层次模型对具有一对多的层次联系的部门描述非常自然,直观容易理解,这是层次数据库的突出优点

网状模型:特点:1

允许一个以上的结点无双亲2

一个结点可以有多于一个的双亲

网状数据模型的优点主要有:1

能够更为直接地描述现实世界,如一个结点可以有多个双亲

结点之间可以有多种上联第

2

具有良好的性能,存取效率较高

缺点主要有:1

结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握

2

网状模型的DDL,DML复杂,并且要嵌入某一种高级语言中,用户不容易掌握,不容易使用

关系数据模型具有下列优点:1

关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的

2

关系模型的概念单一

3

关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发的建立的工作

主要的缺点是:由于存取路径房租明,查询效率往往不如非关系数据模型

因此为了提高性能,DBMS必须对用户的查询请求进行优化

因此增加了开发DBMS的难度,不过用户不必考虑这些系统内部的优化技术细节

6

三级体系结构,外模式,模式,内模式定义是什么?模式也称逻辑模式,是数据库中全体数据的逻辑结构和牲的描述,是所有用户的公共数据视图

外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的

SQL2000

在开始-程序-MICROSOFTSQLSERVER-企业管理器界面下打开控制台根目录下的所有号展开到(LOCAL)(WINDOWSNT),它下面有数据库,数据转换服务等等,你在“数据库”右键点“新建数据库”就可以了

SQL2005

》打开SQLServerManagementStudio。

》系“连接到服务器”对话框中,“服务器类型”下拉选项选择“数据库引擎”,“服务器名称”个度默认会显示上次连接的服务器,可以使用计算机名称、IP地址或是命名管道来连接。

》打开“对象资源管理器”,右击“数据库”可以新建数据库。

》点击新建数据库后,出现一个窗口,通常只要完成常规页面设置即可。设置如下:

1.“数据库名称”要符合SQL的命名规则,唔好与现存的数据库名称相同。2.“所有者”,点一下“。”按扭来选取其他用户。

3.“使用全文索引”,全文索引可以快速且有d性地编制索引,查询大量非结构化文本数据时效率高于LIKE表达式。

4.“逻辑名称”,一般采用默认的,方便管理。

5.“初始大小”,设置时可根据你的主要数据库估计用到几大,便设到几大,再去设启用“自动增长”。一般选按1M,“不限制文件增长”。

6.“路径”,选择存储数据库的位置。

7.日志的设置按数据设置技巧相同,但要注意,日志文件会记录所有发生在数据库的变动和更新,以便到硬件损坏等各种意外时,能有效地将数据还原到发生意外的时间点上,从而确保数据的一致性与完整性。显然,要让日志文件能够发挥效用,必须将数据文件与日志文件存储在不同的物理磁盘上这点是您在设定日志文件的物理文件名时所必须留意的。

8.“添加”,在添加时注意选“文件类型”,当你选择日志,文件组就会自动选用“不适用”。还要注意,不用的日志,存储路径的物理盘应设置为不同。以便还原。

9.添加次要数据文件默认会隶属于主要文件组,如果你想新建一个文件组,在次要数据的文件组中选择“新文件组”,输入名称,选中“默认值”。如果你唔想被人修改或更新文件组内的表,你就选“只读”。

主数据库文件(Primary):存放数据,每个数据库都必须有一个主数据文件。

其他数据文件(Secondary):存放数据,一个数据库可以没有也可以有多个Secondary文件。

事务日志文件(TransactionLog):存放事务日志,每个数据库必须有一个或多个日志文件。

一般情况下,一个简单的数据库可以只有一个主数据文件和一个日志文件。如果数据库很大,则可以设置多个Secondary文件和日志文件,并将它们放在不同的磁盘上。

默认状态下,数据库文件存放在MSSQLdata目录下,数据文件名为“数据库名_DataMDF”,日志文件名为“数据库名_LogLDF”。数据库的创建者可以在创建时指定其他的路径和文件名,也可以添加Secondary文件和更多的日志文件。

第一步:将MicrosoftSQLServer2000安装光盘放入光驱中,(网上下载iso镜像或安装包也行),安装程序会自动运行出现版本选择界面,我们以选择个人版为例。

第二步:在接下来的界面中选择“安装SQLServer2000组件”选项。

第三步:接着选择“选择安装数据库服务器”。

第四步:稍后才开始出现安装向导,点击“下一步”后出现“计算机名”窗口。“本地计算机”是默认选项,其名称就显示在上面,我们按其默认点“下一步”。

第五步:接下来,在“安装选择”对话窗口中,同样按其默认项“创建新的SQLServer实例,或安装客户端工具”点下一步。

第六步:接下来的窗口是用户名、公司名的自取,在经过软件许可协议一步后,到达“安装定义”对话窗。同样地,按其默认“服务器和客户端工具”选择到下一步。

第七步:在“实例名”窗口中,系统一般提供了默认的复选框,我们既可以安装默认方式的实例,也可以自定义。

第八步:在安装类型对话窗口中,可以设定多个选项。比如安装组件的多少,以及安装的路径等,请根据实际需要选择。

第九步:在“服务帐户”对话窗口中,一般接受默认的选项。然后输入你的域的密码即可。

小提示:如果选择指定服务器所用的帐号就需要指定一个用户、口令和域名。

第十步:在“身份验证模式”窗口里,如果你的 *** 作系统是windowsNT以上,选择“Windows身份验证模式”即可,如果 *** 作系统是windows9X,就建议选择“混合模式”。并且为此设定访问密码。

第十一步:一切设定OK后,安装程序开始向硬盘复制必要的文件,开始正式安装。

几分钟后,安装完成。依次单击“开始”—“程序”,即可看到MicrosoftSQLServer2000的程序组件。

字符串里一个\符是用来作转义符的, \\ 才表示 \ 符号, 当然也可以使用@屏蔽掉\转义定义, 如下:

string strMp3Name = @"D:\我的资料库\Music\Music\范玮琪 - 十七岁的北极星mp3";

MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库。

(1)MongoDB提出的是文档、集合的概念,使用BSON(类JSON)作为其数据模型结构,其结构是面向对象的而不是二维表,存储一个用户在MongoDB中是这样子的。

使用这样的数据模型,使得MongoDB能在生产环境中提供高读写的能力,吞吐量较于mysql等SQL数据库大大增强。

(2)易伸缩,自动故障转移。易伸缩指的是提供了分片能力,能对数据集进行分片,数据的存储压力分摊给多台服务器。自动故障转移是副本集的概念,MongoDB能检测主节点是否存活,当失活时能自动提升从节点为主节点,达到故障转移。

(3)数据模型因为是面向对象的,所以可以表示丰富的、有层级的数据结构,比如博客系统中能把“评论”直接怼到“文章“的文档中,而不必像myqsl一样创建三张表来描述这样的关系。

(1)文档数据类型

SQL类型的数据库是正规化的,可以通过主键或者外键的约束保证数据的完整性与唯一性,所以SQL类型的数据库常用于对数据完整性较高的系统。MongoDB在这一方面是不如SQL类型的数据库,且MongoDB没有固定的Schema,正因为MongoDB少了一些这样的约束条件,可以让数据的存储数据结构更灵活,存储速度更加快。

(2)即时查询能力

MongoDB保留了关系型数据库即时查询的能力,保留了索引(底层是基于B tree)的能力。这一点汲取了关系型数据库的优点,相比于同类型的NoSQL redis 并没有上述的能力。

(3)复制能力

MongoDB自身提供了副本集能将数据分布在多台机器上实现冗余,目的是可以提供自动故障转移、扩展读能力。

(4)速度与持久性

MongoDB的驱动实现一个写入语义 fire and forget ,即通过驱动调用写入时,可以立即得到返回得到成功的结果(即使是报错),这样让写入的速度更加快,当然会有一定的不安全性,完全依赖网络。

MongoDB提供了Journaling日志的概念,实际上像mysql的bin-log日志,当需要插入的时候会先往日志里面写入记录,再完成实际的数据 *** 作,这样如果出现停电,进程突然中断的情况,可以保障数据不会错误,可以通过修复功能读取Journaling日志进行修复。

(5)数据扩展

MongoDB使用分片技术对数据进行扩展,MongoDB能自动分片、自动转移分片里面的数据块,让每一个服务器里面存储的数据都是一样大小。

MongoDB核心服务器主要是通过mongod程序启动的,而且在启动时不需对MongoDB使用的内存进行配置,因为其设计哲学是内存管理最好是交给 *** 作系统,缺少内存配置是MongoDB的设计亮点,另外,还可通过mongos路由服务器使用分片功能。

MongoDB的主要客户端是可以交互的js shell 通过mongo启动,使用js shell能使用js直接与MongoDB进行交流,像使用sql语句查询mysql数据一样使用js语法查询MongoDB的数据,另外还提供了各种语言的驱动包,方便各种语言的接入。

mongodump和mongorestore,备份和恢复数据库的标准工具。输出BSON格式,迁移数据库。

mongoexport和mongoimport,用来导入导出JSON、CSV和TSV数据,数据需要支持多格式时有用。mongoimport还能用与大数据集的初始导入,但是在导入前顺便还要注意一下,为了能充分利用好mongoDB通常需要对数据模型做一些调整。

mongosniff,网络嗅探工具,用来观察发送到数据库的 *** 作。基本就是把网络上传输的BSON转换为易于人们阅读的shell语句。

因此,可以总结得到,MongoDB结合键值存储和关系数据库的最好特性。因为简单,所以数据极快,而且相对容易伸缩还提供复杂查询机制的数据库。MongoDB需要跑在64位的服务器上面,且最好单独部署,因为是数据库,所以也需要对其进行热备、冷备处理。

因为本篇文章不是API手册,所有这里对shell的使用也是基础的介绍什么功能可以用什么语句,主要是为了展示使用MongoDB shell的方便性,如果需要知道具体的MongoDB shell语法可以查阅官方文档。

创建数据库并不是必须的 *** 作,数据库与集合只有在第一次插入文档时才会被创建,与对数据的动态处理方式是一致的。简化并加速开发过程,而且有利于动态分配命名空间。如果担心数据库或集合被意外创建,可以开启严格模式。

以上的命令只是简单实例,假设如果你之前没有学习过任何数据库语法,同时开始学sql查询语法和MongoDB 查询语法,你会发现哪一个更简单呢?如果你使用的是java驱动去 *** 作MongoDB,你会发现任何的查询都像Hibernate提供出来的查询方式一样,只要构建好一个查询条件对象,便能轻松查询(接下来会给出示例),博主之前熟悉ES6,所以入手MongoDB js shell完成没问题,也正因为这样简洁,完善的查询机制,深深的爱上了MongoDB。

使用java驱动链接MongoDB是一件非常简单的事情,简单的引用,简单的做增删改查。在使用完java驱动后我才发现spring 对MongoDB 的封装还不如官方自身提供出来的东西好用,下面简单的展示一下使用。

这里只举例了简单的链接与简单的MongoDB *** 作,可见其 *** 作的容易性。使用驱动时是基于TCP套接字与MongoDB进行通信的,如果查询结果较多,恰好无法全部放进第一服务器中,将会向服务器发送一个getmore指令获取下一批查询结果。

插入数据到服务器时间,不会等待服务器的响应,驱动会假设写入是成功的,实际是使用客户端生成对象id,但是该行为可以通过配置配置,可以通过安全模式开启,安全模式可以校验服务器端插入的错误。

要清楚了解MongoDB的基本数据单元。在关系型数据库中有带列和行的数据表。而MongoDB数据的基本单元是BSON文档,在键值中有指向不定类型值的键,MongoDB拥有即时查询,但不支持联结 *** 作,简单的键值存储只能根据单个键来获取值,不支持事务,但支持多种原子更新 *** 作。

如读写比是怎样的,需要何种查询,数据是如何更新的,会不会存在什么并发问题,数据结构化的程度是要求高还是低。系统本身的需求决定mysql还是MongoDB。

在关于schema 的设计中要注意一些原则,比如:

数据库是集合的逻辑与物理分组,MongoDB没有提供创建数据库的语法,只有在插入集合时,数据库才开始建立。创建数据库后会在磁盘分配一组数据文件,所有集合、索引和数据库的其他元数据都保存在这些文件中,查阅数据库使用磁盘状态可通过。

集合是结构上或概念上相似得文档的容器,集合的名称可以包含数字、字母或 符号,但必须以字母或数字开头,完全。

限定集合名不能超过128个字符,实际上 符号在集合中很有用,能提供某种虚拟命名空间,这是一种组织上的原则,和其他集合是一视同仁的。在集合中可以使用。

其次是键值,在MongoDB里面所有的字符串都是UTF-8类型。数字类型包括double、int、long。日期类型都是UTC格式,所以在MongoDB里面看到的时间会比北京时间慢8小时。整个文档大小会限制在16m以内,因为这样可以防止创建难看的数据类型,且小文档可以提升性能,批量插入文档理想数字范围是10~200,大小不能超过16MB。

(1)索引能显著减少获取文档的所需工作量,具体的对比可以通过 explain()方法进行对比

(2)解析查询时MongoDB通过最优计划选择一个索引进行查询,当没有最适合索引时,会先不同的使用各个索引进行查询,最终选出一个最优索引做查询

(3)如果有一个a-b的复合索引,那么仅针对a的索引是冗余的

(4)复合索引里的键的顺序是很重要的

(1)单键索引

(2)复合索引

(3)唯一性索引

(4)稀疏索引

如索引的字段会出现null的值,或是大量文档都不包含被索引的键。

如果数据集很大时,构建索引将会花费很长的时间,且会影响程序性能,可通过

当使用 mongorestore 时会重新构建索引。当曾经执行过大规模的删除时,可使用

对索引进行压缩,重建。

(1)查阅慢查询日志

(2)分析慢查询

注意新版本的MongoDB 的explain方法是需要参数的,不然只显示普通的信息。

本节同样主要简单呈现MongoDB副本集搭建的简易性,与副本集的强壮性,监控容易性

提供主从复制能力,热备能力,故障转移能力

实际上MongoDB对副本集的 *** 作跟mysql主从 *** 作是差不多的,先看一下mysql的主从数据流动过程

而MongoDB主要依赖的日志文件是oplog

写 *** 作先被记录下来,添加到主节点的oplog里。与此同时,所有从结点复制oplog。首先,查看自己oplog里最后一条的时间戳;其次,查询主节点oplog里所有大于此时间戳的条目;最后,把那些条目添加到自己的oplog里并应用到自己的库里。从节点使用长轮询立即应用来自主结点oplog的新条目。

当遇到以下情况,从节点会停止复制

local数据库保存了所有副本集元素据和oplog日志

可以使用以下命令查看复制情况

每个副本集成员每秒钟ping一次其他所有成员,可以通过rsstatus()看到节点上次的心跳检测时间戳和 健康 状况。

这个点没必要过多描述,但是有一个特殊场景,如果从节点和仲裁节点都被杀了,只剩下主节点,他会把自己降级成为从节点。

如果主节点的数据还没有写到从库,那么数据不能算提交,当该主节点变成从节点时,便会触发回滚,那些没写到从库的数据将会被删除,可以通过rollback子目录中的BSON文件恢复回滚的内容。

(1)使用单节点链接

只能链接到主节点,如果链接到从节点的话,会被拒绝写入 *** 作,但是如果没有使用安全模式,因为mongo的fire and forget 特性,会把拒绝写入的异常给吃掉。

(2)使用副本集方式链接

能根据写入的情况自动进行故障转移,但是当副本集进行新的选举时,还是会出现故障,如果不使用安全模式,依旧会出现写不进去,但现实成功的情况。

分片是数据库切分的一个概念实现,这里也是简单总结为什么要使用分片以及分片的原理, *** 作。

当数据量过大,索引和工作数据集占用的内存就会越来越多,所以需要通过分片负载来解决这个问题

(1)分片组件

(2)分片的核心 *** 作

分片一个集合:分片是根据一个属性的范围进行划分的,MongoDB使用所谓的分片键让每个文档在这些范围里找到自己的位置

块:是位于一个分片中的一段连续的分片键范围,可以理解为若干个块组成分片,分片组成MongoDB的全部数据

(3)拆分与迁移

块的拆分:初始化时只有一个块,达到最大块尺寸64MB或100000个文档就会触发块的拆分。把原来的范围一分为二,这样就有了两个块,每个块都有相同数量的文档。

迁移:当分片中的数据大小不一时会产生迁移的动作,比如分片A的数据比较多,会将分片A里面的一些块转移到分片B里面去。分片集群通过在分片中移动块来实现均衡,是由名为均衡器的软件进程管理的,任务是确保数据在各个分片中保持均匀分布,当集群中拥有块最多的分片与拥有块最少分片的块差大于8时,均衡器就会发起一次均衡处理。

启动两个副本集、三个配置服务器、一个mongos进程

配置分片

(1)分片查询类型

(2)索引

分片集合只允许在_id字段和分片键上添加唯一性索引,其他地方不行,因为这需要在分片间进行通信,实施起来很复杂。

当创建分片时,会根据分片键创建一个索引。

(1)分片键是不可修改的、分片键的选择非常重要

(2)低效的分片键

(3)理想的分片键

(1)部署拓扑

根据不同的数据中心划分

这里写描述

(2)最低要求

(3)配置的注意事项

需要估计集群大小,可使用以下命令对现有集合进行分片处理

(4)备份分片集群

备份分片时需要停止均衡器

(1)部署架构

使用64位机器、32位机器会制约mongodb的内存,使其最大值为15GB

(2)cpu

mongodb 只有当索引和工作集都可放入内存时,才会遇到CPU瓶颈,CPU在mongodb使用中的作用是用来检索数据,如果看到CPU使用饱和的情况,可以通过查询慢查询日志,排查是不是查询的问题导致的,如果是可以通过添加索引来解决问题

mongodb写入数据时会使用到CPU,但是mongodb写入时间一次只用到一个核,如果有频繁的写入行为,可以通过分片来解决这个问题

(3)内存

大内存是mongodb的保障,如果工作集大小超过内存,将会导致性能下降,因为这将会增加数据加载入内存的动作

(4)硬盘

mongodb默认每60s会与磁盘强制同步一次,称为后台刷新,会产生I/O *** 作。在重启时mongodb会将磁盘里面的数据加载至内存,高速磁盘将会减少同步的时间

(5)文件系统

使用ext4 和 xfs 文件系统

禁用最后访问时间

(6)文件描述符

linux 默认文件描述符是1024,需要大额度的提升这个额度

(7)时钟

mongodb各个节点服务器之间使用ntp服务器

(1)绑定IP

启动时使用 - -bind_ip 命令

(2)身份验证

启动时使用 - -auth 命令

(3)副本集身份认证

使用keyFile,注意keyFile文件的权限必须是600,不然会启动不起来

(1)拓扑结构

搭建副本集至少需要两个节点,其中仲裁结点不需要有自己的服务器

(2)Journaling日志

写数据时会先写入日志,而此时的数据也不是直接写入硬盘,而是写入内存

但是Journaling日志会消耗内存,所以可以在主库上面关闭,在从库上面启动

可以单独为Journaling日志使用一块固态硬盘

在插入时,可以通过驱动确保Journaling插入后再反馈,但是会非常影响性能。

logpath 选项指定日志存储地址

-vvvvv 选项(v越多,输出越详细)

dbrunCommand({logrotare:1}) 开启滚动日志

(1)serverStatus

这里写描述

(2)top

(3)dbcurrentOp()

动态展示mongodb活动数据

占用当前mongodb监听端口往上1000号的端口

(1)mongodump

把数据库内容导出成BSON文件,而mongorestore能读取并还原这些文件

(2)mongorestore

把导出的BSON文件还原到数据库

(3)备份原始数据文件

可以这么做,但是, *** 作之前需要进行锁库处理 dbrunCommand({fsync:1,lock:true})

db$cmdsysunlockfindOne() 请求解锁 *** 作,但是数据库不会立刻解锁,需要使用dbcurrentOp()验证。

(1)修复

mongd --repair 修复所有数据库

dbrunCommand({repairDatabase:1}) 修复单个数据库

修复就是根据Jourling文件读取和重写所有数据文件并重建各个索引

(2)压紧

压紧,会重写数据文件,并重建集合的全部索引,需要停机或者在从库上面运行,如果需要在主库上面运行,需要添加force参数 保证加写锁。

(1)监控磁盘状态

(2)为提升性能检查索引和查询

总的来说,扫描尽可能少的文档。

保证没有冗余的索引,冗余的索引会占用磁盘空间、消耗更多的内存,在每次写入时还需做更多工作

(3)添加内存

dataSize 数据大小 和 indexSize 索引大小,如果两者的和大于内存,那么将会影响性能。

storageSize超过dataSize 数据大小 两倍以上,就会因磁盘碎片而影响性能,需要压缩。

以上就是关于系统的软硬件配置_硬件配置和软件配置全部的内容,包括:系统的软硬件配置_硬件配置和软件配置、数据仓库三层结构中的组成部分是、sql如何新建数据库(sql2008如何新建一个数据库)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9721424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存