影响数据库扩容成功的七宗罪 (影响数据库的性能)

技术教程 2025-05-06 20:39:43 浏览
影响数据库扩容成功的七宗罪

影响数据库的性能 影响数据库扩容成功的七宗罪:

1.系统升级前的被动等待

在系统进行性能和升级测试前,用户总是容易被其他的琐事吸引而不采取积极行动。常见的局限是用户经常会被动等待直到系统正式准备就绪。确实,测试是很现实的因为这样用户可以运行真实的数据库和应用软件,但是如果等你发现其中的错误,经常面临的后果就是任何补救都为时晚矣。因此在你应用之前别忽略升级测试。

2.依靠不切实际的期望

人们认为没有建立数据库的需求。而事实上情况经常会更糟;人们管理数据库时自以为是的假设系统将满足所有的期望,以为系统的表现可以完美无缺。但这是不切实际的,用户应该按照实际能够满足的期望值去建立数据库。

3.忽略需求

用户经常不知道他们的需求是什么。因此你必须帮助他们将最新的业务流程和提供支持的需求具体化。举例来说,目前你每个季度都要将巨大的产品目录用电子邮件的形式发送给所有的客户,现在你的想法是将每个专用目录的100封目标邮件发送给大约2%的客户。如果是这样,我们要做的是,首先讨论最新的电子邮件流程会是什么,如何实现每年比常规25倍的次数发送。其次,开发信息容量来支持这个流程。然后制定数据库使用方法和开发必需的工作负载,服务级别和其他需求。不要忽略这些需求,否则你就会在竞争中落伍。

4.忽略风险分析

一旦你开发出自己的需求,就要对可能出现的风险进行确认,测试和管理。

5.接受脆弱的证据

不要轻易接受销售人员对所谓测试结果的解释。也不要让厂商来定义测试的结果。如果你没有这方面的专业经验,你可以向具备这方面专业经验的咨询师求助,这些咨询师必须熟知测试复杂数据管理系统的基准规格。你的测试必须能准确捕捉扩容和性能测试的关键挑战。

6.低估本年度需求的增长率

基础架构和平台建设将花费较长的时间部署,改变的过程亦是如此。项目需求可能需要两到三年的时间。不要假设数据的增长率会 和业务的增长率相同。事实上数据和工作负载的增长速度通常都会超过相关业务的增长速度,因为数据随着业务的发展使用的更加广泛。

7.忽略扩容的规模

数据量是最容易测算的数据,但是工作负载,数据复杂性,查询复杂性,可用性和数据延迟量几乎是同等重要的。无论你是否在正确的平台上他们都能推动配置规模。要把他们都考虑在内。

就数据库扩容本身来说,对企业是有好处的,但是,当一个企业考虑数据库扩容时,不要是一时的心血来潮,要考虑周全了各方面的条件,只有这样才能使数据库扩容成为企业前进的动力,否则,会产生反效果。

【编辑推荐】


如何把oracle中表的数据导入MySQL

1、 运行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中选择Oracle Database Server,如果第一次使用会告之要求加载驱动程序。 加载驱动程序之后,界面将变成如下的形式,在其中填写Oracle数据库的连接信息,按“Next”继续。 2、 在Target Database中默认Database System为MySQL Server,在Connection Parameters中填写相应的MySQL数据库的连接信息,按“Next”继续。 3、进行数据库连接测试,测试通过后按“Next”到Source Schemata Selection,点选准备进行数据迁移的Schemata后按“Next”继续。 4、在Object Type Selection,点Detailed selection按钮,在下方左侧列表中选择不进行迁移的表,将其放入右侧列表中,即左侧列表剩余的表都将进行数据迁移。 选择好之后按“Next”继续。 5、在Object Mapping的Migration of type Oracle Schema,如果要设置参数,点Set Parameter按钮。 如果默认数据库表为UTF8的话,则选择Multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写charset=gbk, collation=gbk_general_ci。 Migration of type Oracle Table中要设置参数点Set Parameter按钮。 如果默认数据库表为UTF8的话,则选择Data consistency/multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写addAutoincrement=yes, charset=gbk, collation=gbk_general_ci, engine=INNODB。 选择好之后按“Next”继续。 6、再到Manual Editing,在这里可以修改建表脚本。 由于Oracle与MySQL之间语法规则的差异,通常需要对脚本的数据类型以及默认值进行调整,比如Oracle中通常会对timestamp类型的数据设置默认值sysdate,但在MySQL中是不能识别的。 在Filter中选择Show All Objects,然后在Migrated Objects中选择要修改脚本的表,再点击左下方的Advanced就可以进行脚本编辑了。 修改完之后点击右侧Apply Changes按钮保存,按“Next”继续。 7、然后一路“Next”,如果没有提示出错的话,就可以将指定表中的数据导入MySQL了。 如果有提示出错信息,则需要返回到Manual Editing处对脚本重新进行修改。 需要补充一点,在导大容量数据特别是CLOB数据时,可能会出现异常:“Packets larger than max_allowed_packet are not allowed”。 这是由于MySQL数据库有一个系统参数max_allowed_packet,其默认值为(1M),可以通过如下语句在数据库中查询其值:show VARIABLES like %max_allowed_packet%;修改此参数的方法是在mysql文件夹找到文件,在文件[mysqld]中添加一行:max_allowed_packet=重启MySQL,这样将可以导入不大于16M的数据了,当然这数值可以根据需要作调整。

影响数据库的性能

SQL中表示事务执行成功的语句是什么

展开全部if(mysql_affected_rows() > 0) {echo 成功;}int mysql_affected_rows ( [resource link_identifier] ) :执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。

iphone4s 系统容量 数据容量 什么意思

系统容量就是你手机总容量,一般16G的只有13.8G左右。数据容量就是你已经使用的容量

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

发表评论

热门推荐