为数据库服务器配置存储和内存的基本法则 (为数据库服务的目的)

技术教程 2025-05-14 10:58:47 浏览
为数据库服务器配置存储和内存的基本法则

导读: 随着 服务器 硬件的功能变得越来越强大,而价格一路急剧下跌,许多公司(尤其是小公司)发现如今购买 数据库服务器 面临众多选择。这意味着,经验相对欠缺的数据库管理员们也要能够设计功能越来越强大的系统。为大型系统设计数据库系统时,能够买到有许多硬盘和充足 内存 的大型数据库服务器。在为数据库服务器配置存储和内存之前,首先要明白为数据库服务器配置存储和内存的基本法则,只有这样才能符合要求,下文就是为大家介绍的为数据库服务器配置存储和内存的基本法则。

存储系统

人们在设计磁盘阵列时最常犯下的错误就是,只计算所需的闲置容量。闲置容量只是设计存储子系统时要考虑的一部分而已;另一个部分就是存储系统需要支持的输入/输出操作次数。

应当遵守的一条基本原则就是,写操作频繁的数据库最好使用RAID 10阵列,而读操作频繁的数据库通常最好使用RAID 5阵列。原因在于,如果把数据写到RAID 5阵列,性能会受到影响。由于把数据写到RAID 5阵列上,存储系统必须在写数据之前计算出奇偶检验位,而算出奇偶检验位需要相当长的时间,这意味着写到RAID 5阵列上的性能会降低。

由于这种性能影响,我们总是建议你应当把事务日志放到RAID 10阵列上。事务日志是写操作始终很频繁的文件,不管数据库是以读操作为主的数据库,还是以写操作为主的数据库。tempdb数据库也应当放在RAID 10阵列上,具体来说放在与事务日志文件所在阵列不同的另一个RAID 10阵列上。

对每个磁盘阵列进行分区时,应当确保分区正确对齐。默认情况下,windows 2003及以下版本没有正确对齐分区,这会导致磁盘子系统的性能达不到最理想水平。可以通过使用diskpart.exe实用程序(Windows 2000中的diskpar.exe)创建分区来解决这个问题。这样创建的每个分区其对齐偏移量应为64kb;在默认情况下,创建的每个分区其对齐偏移量为32kb。Windows 2008在默认情况下创建的分区其对齐偏移量为128kb。

物理数据库构建

微软最近开始推荐使用的一项比较新的技术就是,针对两个至四个CPU核心当中的每个核心,数据库应当有一个物理数据库文件。应当为数据库里面的每个文件组做到这一点。

如果你的服务器有两个四核CPU,那么共有八个核心。我们假定数据库有两个文件组,一个名为Data,另一个名为Indexes。那么每个文件组都应当有两个至四个物理文件。这项技术让sql Server可以对磁盘输入/输出进行优化。可能的话,你应当尽量分散文件,以便位于每个存储阵列上的文件尽可能少。

tempdb数据库的配置应有点不同。配置tempdb数据库时,建议针对每个CPU核心,数据库应当有一个物理文件。这样系统就可以为tempdb数据库尽量加快输入/输出操作。与用户数据库一样,放在每个磁盘阵列上的文件也应当尽可能少。

你在数据库里面应当始终至少有两个文件组。第一个文件组包括表,第二个组包括索引。你需要让它们位于不同的文件组,那样查询索引时,装入到表的操作不会受到影响,反之亦然。

系统内存

为数据库服务的目的

在过去,购买只安装了数GB内存的数据库服务器相当常见。那是因为内存的价格还很昂贵。

如今,内存价格相当便宜;只要你能承受得了,应当购买尽量多的内存。内存越多,数据库的运行速度几乎总是越快。例外情况就是,如果你安装的内存超过了数据库的大小。举例来说,如果你有3 GB大小的数据库,但安装了8GB内存,那么为服务器添加更多内存对提升数据库的性能没有帮助,因为SQL Server可能已经能把整个数据库装入到内存中。

在决定为SQL Server分配多大内存时,绝对不要让SQL Server把所有内存都分配给它。因为Windows操作系统需要内存来运行,安装在数据库服务器上的其他任何软件同样需要内存来运行,比如备份软件和反病毒软件等。 建议留出一两GB内存用于操作系统及所用的其他软件。这个内存量的大小取决于安装了哪些软件。

因为没有两个数据库服务器是一样的,所以没有明确的原则规定你的硬件解决方案应当是什么样子。你有众多选择;要设计一款将来可以使用多年的可靠的解决方案,关键在于明白自己的数据库需求,明白自己使用的硬件,明白这些需求在哪些环节得到了满足,以便既没有购买对现在而言配置过低的硬件,也没有购买对下一年而言配置过高的硬件。

这就是我为大家总结的为数据库服务器配置存储和内存的基本法则的全部内容,希望能在大家为数据库服务器配置存储和内存时提供参考。

【编辑推荐】


sql常用语句写法

1、说明:创建数据库

CREATE DATABASE database-name

2、说明:删除数据库

drop database dbname

3、说明:备份sql server

--- 创建 备份数据的 device

USE masterEXEC sp_addumpdevice ’disk’, ’testBack’, ’c:mssql7BackupMyNwind_’

--- 开始 备份

BACKUP DATABASE pubs TO testBack

4、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

根据已有的表创建新表:

A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only

5、说明:

删除新表:drop table tabname

6、说明:

增加一个列:Alter table tabname add column col type

注:列增加后将不能删除。 DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、说明:

为数据库服务的目的

添加主键:Alter table tabname add primary key(col)

说明:

删除主键:Alter table tabname drop primary key(col)

8、说明:

创建索引:create [unique] index idxname on tabname(col….)

删除索引:drop index idxname

注:索引是不可更改的,想更改必须删除重新建。

9、说明:

创建视图:create view viewname as select statement

删除视图:drop view viewname

10、说明:几个简单的基本的sql语句

选择:select * from table1 where 范围

插入:insert into table1(field1,field2) values(value1,value2)

删除:delete from table1 where 范围

更新:update table1 set field1=value1 where 范围

查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!

排序:select * from table1 order by field1,field2 [desc]

总数:select count * as totalcount from table1

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1

请大伙给我解释一下数据库设计的基本原则!

设计数据库不应该有这些: 1数据冗余 2不一致性 3插入异常 4删除异常

这图就出现了问题 如人工智能的学分不一致有两个文化学这就出现了以上的问题 所以要杜绝 我们可以这样分为两个表 如下:

右边的表只要把人工智能的删除一个就好了(画错了不好意思)

在就是函数的一些关系 如函数依赖 :

v函数依赖设R(U)是一个属性集U上的关系,X和Y是U的子集。如果属性集合X中每个属性的值构成的集合唯一地决定了属性集合Y中每个属性的值构成的集合,则属性集合Y函数依赖于属性集合X,计为:X→Y如下表所示,知道了“课程名”的值,即可知道“授课学时”的值。称“授课学时”函数依赖于“课程名”,或“课程名”可以决定“授课学时”,记作课程名→授课学时。

还有这个

v部分函数依赖:如果非主属性B函数依赖于构成某个候选关键字的一组主属性A的某一个真子集,则称B部分函数依赖于A。 v如“学分”函数依赖于主关键字{学号、课程}。 但决定“学分”的只是“课程”,与“学号”无关,则称“学分”部分函数依赖于{学号、课程} 。

传递关系:

v传递函数依赖的关系:在R (U)中,如存在X,Y,Z包含于U,且满足:X—>Y,Y—>Z,则称Z传递函数依赖于X。 v学生住宿的楼号依赖于学号,学生应交的住宿费是由楼号决定的,即“收费”依赖于“楼号”,“楼号”依赖于“学号”,则“收费”传递函数依赖于“学号”。

接下来的就是要符合范式:

第一范式:

任何符合关系定义的表即满足第一范式。

ID Name Sex Age Male Female 101 张三 Y 20 102 李四 Y 21

v第二范式™定义:如果一个关系不存在部分依赖关系,那么该关系就属于第二范式。 ™凡是以单个属性作为主关键字的关系自动就是第二范式。 因为主关键字只有一个,不会存在部分依赖的情况。 因此,第二范式只是针对主关键字是组合属性的关系。

第三范式v定义:一个关系如果是第二范式的,并且没有传递依赖关系,则该关系就是第三范式。 v每个非主属性不部分依赖于关键字,也不传递依赖于关键字的关系。

关系规范化的目的:解决关系模式中存在的插入、删除异常,以及数据冗余问题,基本思想:围绕函数依赖的主线,对一个关系模式进行分解,使关系从较低级范式变换到较高级范式。

以上也就是设计数据库基本注意的问题 我也是初学者 只能帮忙这些不知道是否对你有用!

登陆用友企业门户账套显示不能连接到数据服务器。

首先进入应用服务器配置看你你指认的加密服务器和数据服务器是否正确其次 进入数据库看看相应年度的数据库 是否质疑再次确认防火墙是否关闭 相应端口是否放出 ==最后上述检查没问题 你可以直接修复软件了

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐