数据库解决方案对比分析.

上传人:我** 文档编号:115241082 上传时间:2019-11-13 格式:DOCX 页数:12 大小:132.60KB
返回 下载 相关 举报
数据库解决方案对比分析._第1页
第1页 / 共12页
数据库解决方案对比分析._第2页
第2页 / 共12页
数据库解决方案对比分析._第3页
第3页 / 共12页
数据库解决方案对比分析._第4页
第4页 / 共12页
数据库解决方案对比分析._第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数据库解决方案对比分析.》由会员分享,可在线阅读,更多相关《数据库解决方案对比分析.(12页珍藏版)》请在金锄头文库上搜索。

1、数据库解决方案对比分析对于互联网应用,随着访问量的增加,当数据库数据量达到GB以上时将不可避免的面临数据库性能瓶颈的问题,因此在数据存储方案的选择上对应用的性能、后期扩展等方面将会有很大的影响,下面我将从几个角度对目前主流的几款商用数据库和Dbshards + MySql进行对比,为您的选择提供参考。开放性 sql server:只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。windows9x系列产品是偏重于桌面应用,nt server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理

2、大数据量的关键业务时。 Oracle:能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 db2:能在所有主流平台上运行(包括windows)。最适于海量数据。db2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用db2数据库服务器,而国内到97年约占5%. Dbshards + MySql:能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。并行性 sql server:并行实施和共存模型并不成

3、熟。很难处理日益增多的用户数和数据卷。伸缩性有限。 Oracle:平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsnt不能满足需要, 用户可以把数据库移到unix中。 db2:db2具有很好的并行性。db2把数据库管理扩充到了并行的、多节点的环境.数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点。 Dbshards + MySql:Dbshards + MySql具有优秀的并行性。DbShards将数据库拆分为独立子节点,多节点通过Dbshards形成一个

4、透明的数据库集群,任何数据操作都可在独立子节点执行也可多节点并行,每个操作在更小的子节点完成,性能更优。安全性 sql server:没有获得任何安全证书。 oracle:获得最高认证级别的iso标准认证。 db2:获得最高认证级别的iso标准认证。 Dbshards + MySql:GNU宽通用公共许可证性能 sql server:多用户时性能不佳 oracle:性能最高, 保持windowsnt下的tpc-d和tpc-c的世界记录。 db2:适用于数据仓库和在线事物处理性能较高。 Dbshards + MySql:脱离数据库自身性能限制,通过Dbshards数据拆分技术提高数据I/O性能。

5、客户端支持及应用模式 sql server:c/s结构,只支持windows客户,可以用ado,dao,oledb,odbc连接. Oracle:多层次网络计算,支持多种工业标准,可以用odbc,jdbc,oci等网络客户连接 db2:跨平台,多层结构,支持odbc,jdbc等客户 Dbshards + MySql:多层次网络计算,支持多种工业标准,可以用odbc,jdbc,oci等网络客户连接操作简便 sql server:操作简单,但只有图形界面. Oracle:较复杂, 同时提供gui和命令行,在windowsnt和unix下操作相同 db2:操作简单,同时提供gui和命令行,在wind

6、owsnt和unix下操作相同 Dbshards + MySql:操作简单,同时提供gui和命令行,在windowsnt和unix下操作相同使用风险 sql server:完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。 Oracle:长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 db2:在巨型企业得到广泛的应用,向下兼容性好。风险小。 Dbshards + MySql:长时间的开发经验,完全向下兼容。得到广泛的应用。风险小。可扩展性 sql server:sql server版本杂乱,并且微软公司对其旗下产品的升

7、级、兼容策略存在很大隐患,因此sql server扩展性较差。 Oracle: Oracle向下兼容,可扩展性强。 db2:db2向下兼容,但收IMB硬件平台限制,可扩展性一般。 Dbshards + MySql:Dbshards不是数据库,Dbshards是大数据库拆分工具,当性能出现瓶颈时使用该工具对数据库进行拆分优化从而提升性能,扩展成本低。成本 sql servern 软件成本:企业版在30-40万左右;作为一款商用数据库软件,存在很多不同的版本,造成使用者在选择时的困惑,并对后期升级造成困难(不同版本互不兼容);n 实施成本:只能在windows平台下进行实施,当应用存在异构环境时,

8、其实施难度将大大提升,甚至会造成额外的实施成本(如为了能在异构环境中安装sql server,需要购买虚拟机软件来安装windows平台),实施局限且成本高;n 维护成本:sql server作为一款商用软件,其配套的操作工具同样也是商用软件,因此,其产生的并不仅仅是数据库自身的成本,还包括了维护数据库所需的工具软件成本;n 扩展成本:对于互联网应用,尤其是云平台集成第三方应用,融合多语言环境是必须面对的情况,而sql server对于第三方和多语言的集成和兼容都需要大量商用软件的支持,因此在平台扩展时同样会造成成本的蔓延。 Oraclen 软件成本:企业版在30-40万左右; n 实施成本:

9、Oracle是一款庞大而复杂的数据库软件,操作复杂、难度高,其对实施、维护人员的要求非常高,也就造成了实施、维护的人力成本高昂;n 维护成本:Oracle作为一款商用软件,其配套的操作工具同样也是商用软件,因此,其产生的并不仅仅是数据库自身的成本,还包括了维护数据库所需的工具软件成本;并且维护人员成本高;n 扩展成本:Oracle按CPU个数进行收费;当性能出现瓶颈需要版本升级或更换、增加硬件时就必须根据CPU数量购买Oracle授权(企业版一颗CPU授权价格在30-40万左右,最普通的一台服务器CPU数量在两颗以上,也就是说每增加一台服务器Oracle成本将至少增加60万以上),成本将成倍增

10、长。 db2 n 软件成本:企业版在60-70万左右; n 实施成本:db2是IBM一款常用于企业应用的数据仓库软件,操作复杂、难度高,其对实施、维护人员的要求非常高,也就造成了实施、维护的人力成本高昂;n 维护成本:db2作为一款商用软件,其配套的操作工具同样也是商用软件,因此,其产生的并不仅仅是数据库自身的成本,还包括了维护数据库所需的工具软件成本;并且维护人员成本高;n 扩展成本:IBM在设计db2时专门为其配套一款商用工具PB,因此其在扩展时需要特定专业人才方可实施,有一定局限(中国PB程序员属于小众群体,比较少),扩展成本较高。 Dbshards + MySql n 软件成本: 一套

11、40万;n 实施成本:dbShards是一个数据库拆分工具,具有数据库无关性,因此实施成本更低;n 维护成本:作为一款工具具有友好的操作、管理界面,同时安久具有专业的售后服务团队,维护成本更可控;n 扩展成本:作为一款工具软件,其主要作用是拆分数据库,提高数据访问性能,并不会随着数据库的增加而增加,这样从整体上降低了扩展的成本。兼容性 sql server:面对复杂应用,需要多数据库集成时,集成能力弱。 Oracle:面对复杂应用,需要多数据库集成时,集成能力强。 db2:面对复杂应用,需要多数据库集成时,集成能力较强。 Dbshards + MySql:Dbshards具有数据库种类、版本无

12、关性,并且支持多语言(Java、C等),因此面对复杂应用,需要多数据库集成时,集成能力最强。什么是DbshardsDbshards不是数据库,Dbshards是大数据库拆分工具,是一套完整的针对大访问量、高并发应用,提高数据库访问性能的数据库优化、加速方案;其核心思想是“share noting,shard erveything”,专业服务、解决数据库水平拆分、解决数据库扩展难题。Dbshards的作用Dbshards的基本思路为“share nothing,shard everything”(“零共享,全拆分”)。这个思路揭示了数据库水平拆分技术的定义:数据库水平拆分将大量行数据按照特定的拆

13、分策略,将数据分别存储于不同的数机器上。每个数据表存储在独立的数据库或者服务器中形成独立的分区,这些分区协同工作,如同一个未被拆分的数据库一样响应所有的用户请求。下图给出了一个实际环境中运用Dbshards的原型系统。数据库拆分就是将大数据库拆分成若干个小数据库Dbshards通过数据库水平拆分技术突破了系统I/O瓶颈,解决了数据库扩展(database scaling)这个行业难题,使得其能够同一时间内响应超量用户请求。不同于传统的数据仓库等技术,Dbshards通过将独立的主机组建为一个透明的数据库集群,使用户请求被均匀分布到各个节点进而实现快速响应。这样的“零共享”架构可以通过最小化单机

14、处理量来缩短联机事物处理的响应时间,进而提高系统整体的可扩展性。 基于既有的经验,我们认为,数据库主要面临下列难题:1) 难题1:快速响应。保证服务器的快速响应以满足大量用户发送的实时请求,尤其当存在大量数据库写请求的时候;2) 难题2:可扩展性。对于数据库服务器而言,本身的I/O瓶颈是服务器扩展中的一大难题;3) 难题3:高可用性。无论是定期的服务器维护还是意外的宕机事件,需要有严格的故障切换机制来保证数据库服务无中断的同时没有数据丢失;为提高数据库的性能,Dbshards严格遵守了数据库的基本原则。实践这些原则也是保证数据库高性能的唯一途径:1) 原则1:数据库越小,数据库响应越快;2)

15、原则2:数据库越大,数据库响应越慢3) 原则3:始终保证数据库小型化。Dbshards基于“零共享,全拆分”的思路将关系数据按照特定的拆分策略按“行”拆分,并将其分别存储于多个具有相同数据模型的数据表中。每个数据表存储在独立的数据库服务器中作为独立的数据库节点,这些节点协同工作,构成一个数据库集群系统。对于用户而言,这样的系统就如同一个未被拆分的中央数据库一样透明。 图形1给出了一个基于Dbshards搭建的4节点数据库集群架构。应用服务器(AS)上运行Dbshards/Client客户端实现对数据库集群的访问(Dbshards提供各种语言的数据库驱动,包含C,Java,PHP,Python以及Ruby)。每个数据库节点(S1-S4)运行一个独立的数据库(如MySQL),每个数据库有相同的数据模型(Database/Table),系统通过Dbshards备份代理(Dbshards replication agent)和Dbshards查询代理(Dbshards query agent)实现协同工作。数据拆分策略根据具体应用场景、数据库的架构、数据表的定义而定。在这个示例中,我们采用了用户的ID(Customer ID)作为拆分的关键字(Key),采用了取模算法(modulus)来决定含有特定用户ID的行数据该存放到哪个分区服务器

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号