Heim > Datenbank > MySQL-Tutorial > MySQL数据库+至强7500=高效的并行性能_MySQL

MySQL数据库+至强7500=高效的并行性能_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 14:02:25
Original
988 Leute haben es durchsucht

在这里我们还是需要从至强7500的硬件性能开始讲起,这也方便DBA们更好的发挥MySQL高效并行方面的优势。bitscn数据库频道向您推荐《MySQL数据库入门与精通教程》专题以便于更进一步了解MySQL。

英特尔与合作伙伴携手发布至强7500 
英特尔与合作伙伴携手发布至强7500

MySQL是一个快速、多线程、多用户的SQL数据库服务器,其出现虽然只有短短的数年时间,但凭借着开放源代码的东风,它从众多的数据库中脱颖而出,成为众多DBA的首选。业内开发人员圈子里也把LAMP体系(Linux+Apache+MySQL+PHP/Perl)作为最标准的应用程序开发平台。下面我们来看看MySQL数据库的三个主要特点,以及其对服务器的具体需求。

1、 MySQL数据库的三大特性及需求方向

1998年第一代MySQL关系型数据库诞生之初,就已经在数据库核心层面提供给了对多线程计算机之的完全支持,并且提供了面向C、C++、 Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。

正是基于以上原因,在很多DBA的心目中,只要通过升级服务器CPU和内存,扩容数据库集群就可以提高MySQL数据库性能。而因为MySQL的核心程序采用的是轻量级进程(LWP,也就是说大部分资源和其他进程共用,是一种实现多任务并行的方法),所以其对系统逻辑地址空间和资源的客观理性要求就非常高(这一点后文会解释)。

由于MySQL提供了多种编程接口,因而在前端应用平台上具有其他数据库无法比拟的优势。与x86服务器日渐风靡相对照,基于C语言、C++语言、甚至是JAVA语言的数据库调用也日益流行。而MySQL被广大DBA用户青睐的一个重要原因就是其开放式架构在x86平台上的优势——例如ODBC for Windows使得MySQL支持所有的ODBC 2.5函数,从而让微软Access直接链接MySQL数据库,其应用得到极大的扩展。

此外,由于MySQL拥有一个非常快速而且稳定的内存管理系统,因此在大内存环境中性能表现优秀,在不少应用案例中,有DBA甚至直接将扩容内存作为提高系统可靠性和稳定性的手段——事实上,MySql的稳定性足以应付一个超大规模的数据库(后文我们也会有所介绍)。

综上所述,MySQL数据库三大特性分别是:核心程序支持多核心、多线程的并行计算;x86平台的多应用环境;快速稳定的内存管理系统。相应的,DBA在选择MySQL数据库服务器的时候需要考虑服务器内CPU的并行计算性能(或是多路集群的计算性能),复杂x86环境的支持性(为虚拟化数据库做考虑)和强大的内存拓展性。

2、 为MySQL量身打造最合适数据库服务器

从前文的分析来看,MySQL数据库在性能需求层面主要对处理器提出了要求:并行计算性能强(或多路集群计算性能强),x86平台全兼容,优秀的系统稳定性及内存拓展。随着3月31日英特尔至强7500处理器发布,x86平台的计算性能和可靠性被推至了巅峰,MySQL数据库也迎来了为自己量身打造的处理器。

至强7500拥有8核16线程,集成了内存控制器,并拥有4条QPI直连总线,使其每个处理器最多支持16条四通道DDR3 1333Mhz内存,这使得一个四路服务器最高支持256GB内存(4G*16条*4路),达到了x86平台有史以来的巅峰——与上一代至强7400处理器(6核6线程)相比,数据库性能提升了2.5倍。此外,基于至强7500的服务器在拓展至8路的情况下不需要第三方节点控制器的支持,并且最高可以扩展到256路服务器系统(需要第三方支持)——充分满足DBA对大规模数据库集群的计算需求。

这主要得益于至强7500所拥有的4条QPI总线,以及Nehalem-EX架构强大的多路互联技术。此外,对于前文所提的MySQL轻量级线程对系统共享资源的依赖,这里要简单介绍一下其工作原理:在数据库计算中,会出现几个计算线程共用一个数据的情况。因此MySQL将这几个计算分割在多个线程中进行,却并不分割所调用的数据,让他们统一访问这一个数据,以达到最小化存取的目的,进而将有限的计算资源尽可能多的利用到计算中,而不是数据读写中。这种设计的本意是好的,但是早期的x86平台受制于内存控制器在北桥,以及处理器自身缓存不够大(处理器常用的数据通常先存在缓存里,之后才访问内存),因此这种共享数据的访问反而会造成延迟——每个线程都去读一次内存获得要计算的数据,几乎等同于计算线程携带着相同数据所消耗的负载(牵扯较深,请自行理解)。bitscn编者注:这就相当于中国的春运,大家都带着很多行李挤火车,铁路的负载消耗当然就很大。

总结为一句话,以往DBA们一直都存有质疑,认为MySQL的轻量级线程由于共享数据,实现了较高的并行效率(但只体现在算法层面),因为x86平台存取数据——尤其是访问内存时的低效,使得MySQL的优势很难体现。至强7500凭借多达24MB的三级缓存以及集成在处理器内部的内存控制器,将MySQL数据库频繁调用相同系统资源的操作大大降低,可以说充分发挥出了MySQL数据库高效的并行性能。

对于内存扩展性方面,至强7500历史性的将每颗处理器仅支持8条内存槽拓展到支持16条内存。这给了用户极大的灵活性——有的用户数据库规模大,运算量却并不大,因而仅需要内存多,而并不需要插满四个处理器。Dell前两天新推出的采用至强7500系列处理器的服务器中,创造性的采用Flex Memory Bridge技术,使得一个四路服务器在仅插两个处理器的情况下,每个处理器可以使用另外没插处理器的8条DIMM内存插槽(每个处理器标配了8个DIMM内存插槽),也就是两个处理器可以用全服务器内的32条内存插槽(请自行理解)。

另一方面,英特尔在至强7500中加入了22条RAS特性,并首次在至强平台上实现了IA64上才有的MCA恢复功能,提供更强的可靠性。因而无论是在性能、可扩展性和可靠性上,都已经逼近RISC,甚至在某些指标上有所超越。而至强7500的x86生态环境更加开放,与MySQL相应的Linux、Unix、Windows环境融合更紧密,成本方面也更加低廉。

基于以上分析,可以看出至强7500无论是在计算性能上、内存扩展性方面、可靠性方面以及丰富的应用环境充分发挥了MySQL数据库的三大特色。毋庸置疑,至强7500将x86平台带到了一个新的高度,而DBA们也得益于x86平台与MySQL数据库开放式的强强联手,可以将企业MySQL数据库的应用推向新的高度。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage