频繁查询mysql数据库导致崩溃

频繁查询mysql数据库导致崩溃,第1张

MySQL 在崩溃恢复时,会遍历打开所有 ibd 文件的 header page 验证数据字典的准确性,如果 MySQL 中包含了大量表,这个校验过程就会比较耗时。 MySQL 下崩溃恢复确实和表数量有关,表总数越大,崩溃恢复时间越长。另外磁盘 IOPS 也会影响崩溃恢复时间,像这里开发库的 HDD IOPS 较低,因此面对大量的表空间,校验速度就非常缓慢。另外一个发现,MySQL 8 下正常启用时居然也会进行表空间校验,而故障恢复时则会额外再进行一次表空间校验,等于校验了 2 遍。不过 MySQL 80 里多了一个特性,即表数量超过 5W 时,会启用多线程扫描,加快表空间校验过程。

如何跳过校验MySQL 57 下有方法可以跳过崩溃恢复时的表空间校验过程嘛?查阅了资料,方法主要有两种:

1 配置 innodb_force_recovery可以使 srv_force_recovery != 0 ,那么 validate = false,即可以跳过表空间校验。实际测试的时候设置 innodb_force_recovery =1,也就是强制恢复跳过坏页,就可以跳过校验,然后重启就是正常启动了。通过这种临时方式可以避免崩溃恢复后非常耗时的表空间校验过程,快速启动 MySQL,个人目前暂时未发现有什么隐患。2 使用共享表空间替代独立表空间这样就不需要打开 N 个 ibd 文件了,只需要打开一个 ibdata 文件即可,大大节省了校验时间。自从听了姜老师讲过使用共享表空间替代独立表空间解决 drop 大表时性能抖动的原理后,感觉共享表空间在很多业务环境下,反而更有优势。

临时冒出另外一种解决想法,即用 GDB 调试崩溃恢复,通过临时修改 validate 变量值让 MySQL 跳过表空间验证过程,然后让 MySQL 正常关闭,重新启动就可以正常启动了。但是实际测试发现,如果以 debug 模式运行,确实可以临时修改 validate 变量,跳过表空间验证过程,但是 debug 模式下代码运行效率大打折扣,反而耗时更长。而以非 debug 模式运行,则无法修改 validate 变量,想法破灭。

SQL,在这里我理解成SQLServer。三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性。排行第四的DB2(属IBM公司),与Oracle的定位和架构非常相似,就不赘述了。

如果要说明三者的区别,首先就要从历史入手。

Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板LarryEllision。Ellision32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十几家公司,老婆也离他而去。开始创业时只有1200美元,却使得Oracle公司连续12年销售额每年翻一番。

Oracle成立于1977年,早期的理论基础,反而来自于一篇IBM的论文《ARelationalModelofDataforLargeSharedDataBanks》1。作者CODD选取了关系代数的五种运算,并基于运算,架构了一种新型的数据存储模型。基于这种模型,Oracle成为了一个非常典型的关系数据库。因此也变的严谨、安全、高速、稳定,并且变的越来越庞大。

由于其诞生早、结构严谨、高可用、高性能等特点,使其在传统数据库应用中大杀四方,金融、通信、能源、运输、零售、制造等各个行业的大型公司基本都是用了Oracle,早些年的时候,世界500强几乎100%都是Oracle的用户。

MySQL:MySQL的最初的核心思想,主要是开源、简便易用。其开发可追溯至1985年,而第一个内部发行版本诞生,已经是1995年。到1998年,MySQL已经可以支持10中 *** 作系统了,其中就包括win平台。但依然问题多多,如不支持事务 *** 作、子查询、外键、存储过程和视图等功能。下图是一个截止至2006年的数据库市场占有率2:

图中可以看出,MySQL的爆发实际是在01、02年,尤其是02年发布的40Beta版,正式选定InnoDB作为默认引擎,对事务处理能力及数据缓存能力有了极大的提高。同年41版开始支持子查询,至此MySQL终于蜕变成一个成熟的关系型数据库系统。05年的50版本又添加了存储过程、服务端游标、触发器、查询优化以及分布式事务功能,但同年被Oracle抄了后路,InnoDB被Oracle收编。08年,MySQL被Sun收购,09年,Oracle收购了Sun和MySQL。

SQLServer:一提到SQLServer,大家一般都只想到MicrosoftSQLServer,而非SybaseSQLServer。SQLServer最初是由Microsoft,SybaseandAshton-Tate三家公司拦下的生意,是为IBM(又出现了)公司的OS/2 *** 作系统开发的。随着OS/2项目的失败,大家也分道扬镳。Microsoft自然转向自己的win *** 作系统,作为windowsNT软件方案的一部分。而Sybase则专注于Linux/Unix方向的数据库开发。

MSSQLServer主要面向中小企业。其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具,在快速构建商业智能(BI)方面颇有建树。MSSQLServer是MS公司在软件集成方案中的重要一环,也为WIN系统在企业级应用中的普及做出了很大贡献。

典型应用场景

关于“大型数据库”,并没有严格的界定,有说以数据量为准,有说以恢复时间为准。如果综合数据库应用场景来说,大型数据库应用有以下特点:海量数据、高吞吐量;复杂逻辑、高计算量,以及高可用性。从这点上来说,Oracle,DB2就是比较典型的大型数据库,SybaseSQLServer也算是吧。下面分别说明之前三种数据库的应用场景。

Oracle。Oracle的应用,主要在传统行业的数据化业务中,比如:银行、金融这样的对可用性、健壮性、安全性、实时性要求极高的业务;零售、物流这样对海量数据存储分析要求很高的业务。此外,高新制造业如芯片厂也基本都离不开Oracle;电商也有很多使用者,如京东(正在投奔Oracle)、阿里巴巴(计划去Oracle化)。而且由于Oracle对复杂计算、统计分析的强大支持,在互联网数据分析、数据挖掘方面的应用也越来越多。一个典型场景是这样的:

某电信公司(非国内)下属某分公司的数据中心,有4台OracleSun的大型服务器用来安装Solaris *** 作系统和Oracle并提供计算服务,3台SunStorage磁盘阵列来提供Oracle数据存储,12台IBM小型机,一台OracleExadata服务器,一台500T的磁带机用来存储历史数据,San连接内网,使用Tuxedo中间件来保证扩展性和无损迁移。建立支持高并发的Oracle数据库,通过OLTP系统用来对海量数据实时处理、 *** 作,建立高运算量的Oracle数据仓库,用OLAP系统用来分析营收数据及提供自动报表。总预算约750万美金。

MySQL。MySQL基本是生于互联网,长于互联网。其应用实例也大都集中于互联网方向,MySQL的高并发存取能力并不比大型数据库差,同时价格便宜,安装使用简便快捷,深受广大互联网公司的喜爱。并且由于MySQL的开源特性,针对一些对数据库有特别要求的应用,可以通过修改代码来实现定向优化,例如SNS、LBS等互联网业务。一个典型的应用场景是:

某互联网公司,成立之初,仅有PC数台,通过LAMP架构迅速搭起网站框架。随着业务扩张、市场扩大,迅速发展成为6台Dell小型机的中型网站。现在花了三年,终于成为垂直领域的最大网站,计划中的数据中心,拥有Dell机架式服务器40台,总预算20万美金。

MSSQLServer。windows生态系统的产品,好处坏处都很分明。好处就是,高度集成化,微软也提供了整套的软件方案,基本上一套win系统装下来就齐活了。因此,不那么缺钱,但很缺IT人才的中小企业,会偏爱MSSQLServer。例如,自建ERP系统、商业智能、垂直领域零售商、餐饮、事业单位等等。

1996年,BillGates亲自出手,从Borland挖来了大牛Anders,搞定了C

ERP系统步骤主要包括以下七个方面:

1、认识ERP系统

在ERP选型之前,企业领导和参与软件选择的人员首先应当充分认识ERP系统,进行对ERP系统认识的先行教育,了解什么是ERP?ERP系统实施成本、效益、实施方法步骤、等一系列的问题,对企业内的ERP选型统一思想。

2、成立ERP选型小组

在软件选型阶段,要成立ERP系统项目小组负责软件选型。ERP项目组成员应当包括有决策权的企业高层领导及各部门的业务人员和财务管理人员,企业的CIO和IT技术人员应该是ERP系统实施项目的重要成员,他们可以在选择软件的过程中对不同意见起到平衡的作用。

3、ERP需求调研

这是ERP选型步骤中真正的开始,需求分析既要考虑企业的当前需求,也要考虑未来的发展。通过需求分析,明确企业的规模、生产类型,以及存在的问题,为ERP系统的选型提供依据。

4、项目预算、资金准备

购买ERP系统需要一笔较大的投资,在开始ERP选型之前,应当先做好预算并得到批准,以保证选购商品软件的活动正常进行。

5、市场调研ERP系统

根据企业的需求和ERP系统的标准逻辑,对市场上比较中意的ERP系统的功能进行调研。不同的软件产品往往有不同的功能、性能、可选特征,也有不同的价格,因此必须综合考虑。

6、考察ERP系统供应商

实施应用ERP系统,就要和软件供应商进行长时间的合作,所以,在进行ERP选型时要考察ERP系统供应商的实力,包括经济实力、技术支持力量和它的用户。

7、签订合同

在做好一些准备,确定ERP系统供应商以及ERP系统产品之后,需要与供应商签订合同,需要注意一下事项:

1)在所签的合同中,一定要反映本企业对软件产品的要求。

2)企业的谈判代表在软件评价和选择阶段就应尽早阅读供应商起草的合同。

3)在合同中一定要包括处理故障隐患的条款,应该尽可能详细、清楚的规定排除故障的责任、时间以及惩罚方式等。

4)避免模棱两可或含糊不清的语言,关于供应商的义务及相关的日期,一定要通过明确的语言在合同中表述清楚。

5)不要相信任何口头承诺,任何未经书面形式在合同中表达的,都不是生意的一部分。

6)要有一个合理的付款日程表,不要把财务控制杠杆轻易地交到供应商手中。

7)如果合同中包括惩罚条款,则必须和付款日程表相结合。

8)关于软件的维护,一般一次只签订一年的合同,以便确定供应商的服务质量,并做好自行维护的准备。

扩展资料

ERP选型14条原则

1、尽量选择OA、财务一体化、支持集团公司的管理的ERP系统。

作为一个基本的信息集成系统,这个要求是基本的需求,即使用户暂时不使用某些功能,作为长远考虑,ERP系统应该具备这个功能。

2、尽量选择功能完善的ERP系统。

ERP系统作为企业管理的工具,整合所有部门的信息,严密控制企业的运作,完善的功能是基本要求。

3、尽量选择流程、界面、报表等能够自定义的ERP系统。

不同企业有不同需求,这个特点是满足企业需求的保证。保证一套系统可以伴随企业成长的不同阶段实现多次流程再造,而不影响系统的正常运营。企业最终可以掌控信息系统为管理服务。

4、尽量选择所有报表都能够支持、或自定义实现的ERP系统。

很多软件无法取出数据,或者数据之间也没有关联,无法达到管理的目的。因此随着深入运用,这个特点是企业能否长期使用的基本保证。

5、尽量选择MRP运算真正融合到ERP中,能够逆算、提前计算、随处可算的ERP系统。

这个特点是企业是否能够真正利用ERP先进的管理理念,获得准确信息、降低成本的基本保证。要特别注意,很多软件仅仅只能生硬地按照常规流程计算。

6、尽量选择具有多种企业方案的ERP系统。

多种方案指实现企业流程、物料管理的方案,系统必须能够支持多种方案,才能够保证管理软件的能够具有使用价值的基础。

企业虽然最终只采用一个方案,但是选型、实施初期,都认识不到到底那种方案是合适的。那种只有一种方案的系统,在企业意识到最初选择的方案不合适时,只能宣布失败。

7、尽量选择能够跨各种行业、通用性强的ERP系统。

一些专用软件价格高、在通用需求方面没有基础(原因简单,通用性方面较好的话,那么他就不再是专用软件了),当用户的通用需求提出来后,它们基本上是无能为力。

8、是否支持快速实施

快速实施是指1-2个月。当然这并不是说早期一些系统需要一年、两年的是骗局,但是随着技术的成熟,不再需要马拉松实施周期了。

例如从欧洲到亚洲,几个世纪前,需要徒步,一年、两年都渺无信心,但是在现代这样一个时代,仅仅是几个小时就ok了。

9、尽量选择技术先进的ERP系统。

先进的技术,是用户能够长期受益的基础。那些没有技术基础为保证的软件,往往只有2-3年的使用寿命。

10、尽量选择界面比较简洁易用的ERP系统。

界面美观、简洁、易用,是那些经过人体功能测试、视觉测试、符合人性化、提高效率的基础。

11、尽量选择后期服务量少的ERP系统。

这是真正具有实用价值、技术成熟的标志;同时也是降低用户长远投资成本的基本保证。

12、尽量选择支持所有数据库的ERP系统。

数据库行业也是竞争激烈的行业,有免费的、昂贵的,如果用户选择,那么降低成本、保证系统的性能、稳定性等,会让用户获益非浅。

例如微软自带的Access初期维护最方便,瑞典的免费MySQL则是数据库领域的娇娇者,最佳性能的象征。

13、尽量选择支持所有自然语言的ERP系统。

这虽然对很多用户是可选的,但是这也是一项技术标志之一。

14、尽量选择能够开放式地试用的ERP系统。

但是真正成熟的软件的标志,也是让用户自身做出决定的基础。

以上就是关于频繁查询mysql数据库导致崩溃全部的内容,包括:频繁查询mysql数据库导致崩溃、SQLServer与MySQL性能相差多大、ERP选型的步骤有哪些急!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存