中小企业的分布式数据库之路.docx
《中小企业的分布式数据库之路.docx》由会员分享,可在线阅读,更多相关《中小企业的分布式数据库之路.docx(8页珍藏版)》请在第一文库网上搜索。
1、中小企业的分布式数据库之路曾几何时,IT界有两款软件被奉为神一样的软件,一款是SAS,这是一个被奉为神器的数据分析软件,并有“有了SAS,世界上没有了失业”的美誉。还有一款就是Orac1e数据库了,由于当年Orac1e7击败了Sybase数据库,一跃成为王者,市场份额达到46%以上,无论是中小企业还是大公司总要用到Orac1e的数据库,风头无两,据说当年阿里巴巴Orac1e数据库部就有100多号人,而负责的RAC数据库的节点多达17个,极其庞大。然后时过境迁,当年的庞然大物,虽然现在仍然是这么的大,但境遇却发生了重大的变化。首当其冲的就是Orac1e面对分布式数据库的挑战,Orac1e公司一贯
2、的思路,就是不搞分布式数据库,因为它们觉得单库很“香”,为什么呢?原因是Orac1e公司对单库的功力深厚,依赖于强大的关系型数据库的设计和规划技术,Orac1e单库可以适应于各个领域,而且如果对性能有较大需求的,可以让客户买Exadata一体机,完全可以满足互联网的海量数据分析O1AP应用,而前端的互联网应用不是Orac1e的范畴,可以用MySQ1去对付。Orac1e依赖单库Orac1e数量巨大的许可证售卖,维持着每年庞大的利润,而在是否搞分布式数据库问题上非常不上心。但技术的发展是挡不住的,Orac1e在分布式数据库上的犹豫,给了很多其他公司机会。一、三类分布式数据库单体数据库时代,随着系统
3、交易量的不断上升,数据库读写性能出现了严重下降。我们可以借助分库分表中间件,比如mycat、Shardingjdbc来实现分库分表,缓解单库的读写性能。但是这种分库分表的中间件充其量都只是XA弱事务,虽然接近于普通事物,但仍然有很多缺点,最主要的是会存在数据不一致的情况。如果要保证数据一致性,就需要借助于分布式事务中间件,比如阿里巴巴的seatao后来分布式数据库逐渐成为解决数据一致性的选择,目前分布式数据库产品已经比较成熟,支持ACID事务。A、PGXC数据库支持全局时钟的分布式数据库这种数据库架构被业内称为PGXC架构,这个名字是PostgreSQ1-XC的简称,它是一种提供写可靠性,多主
4、节点数据同步,数据传输的开源集群方案。基于分库分表演化而来,优点是性能比较稳定,缺点是写入能力有限,这是由架构风格决定的。目前主流的有: TBaSe:腾讯数据平台团队在基于PostgreSQ1研发的,支持IITAP(HybridTransactionandAna1ytica1Process),主要由协调节点、数据节点和全局事务管理器(GTM)组成。 GuassDB300:由华为研发,也是基于开源PostgreSQ1研发的,支持HTAP,支持SQ192、SQ199和SQ12003语法,并且支持提供存储过程、触发器、分页等。 AntDB:由亚信科技开发,基于开源PostgreSQ1内核研发的,主要
5、特点是对Orac1e兼容性高,分布式事务支持2PC协议和MVCC,集群支持动态扩展。 Go1denDB:由中兴通讯研发,这款数据库以mysq1为内核构建的,按照官方的描述,这款数据库对金融行业的支持比较好。 TDSQ1:由腾讯研发,它算不上是完全的PGXC架构,因为没有全局时钟。不过它也有自己解决一致性的方案,它的自增长序列为用户提供一个全局唯一数字ID服务,对全局锁和mvcc都有一定的作用。B、NEWSQ1数据库一新型架构的分布式数据库由NoSQ1键值数据库发展而来,它是一类新的数据库架构方案,不仅具有NoSQ1对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQ1等特性。有以下特
6、点: 放弃了PGXC架构中单体数据库的事务支持 在BigTab1e基础上构建了事务支持 引入分片机制,主要采用Range动态分片技术,跟IIASH分片相比,数据可以不用固定的在某一个分片上可靠性方面,放弃传统数据库的主从复制,采用Paxos、Raft等共识算法来保证HA 存储引擎方面,使用1SM-Tree替换B树模型,写入性能更高 支持事务管理这种数据库架构上有很大优势,但设计难度也很大,目前主流的有: 谷歌Spanner:可以说是NewSQ1数据库的鼻祖,后来的好多数据库都是借鉴了Spanner的思想,使用GPS加原子钟的方式来实现全局时钟,同时实现了线性一致性。 TiDB:非常有名的一块N
7、ewSQ1数据库,由PingCAP研发,支持HTAP,支持线性一致性,一个亮点是兼容mysq1协议和生态,可以支持K8S部署。 OceanBase:简称OB,蚂蚁集团研发,按照官方说法,2023年5月,OceanBase以7.07亿tpmC的在线事务处理性能,打破了去年自己创造的TPC-C世界纪录。截止至目前,OceanBase是第一个也是唯一一个上榜的中国数据库。但该数据库在金融行业使用的不多。 CockroachDB:著名的小强数据库,不支持线性一致性,只支持因果一致性,因为它们使用的是混合逻辑时钟(Hybrid1ogica1C1ocks),它们的设计思想都是来自Spanner,但和TTD
8、B很像,都使用raft算法的改进算法mu1tiraft,让多分片并行处理提升性能。C、Aurora数据库由Amazon推出的云原生数据库,它的特点是计算节点垂直扩展,存储节点可以水平扩展。可见计算节点依然是单节点,同步到其他从节点,可见跟其他分布式数据库相比,从节点不支持写入,所以不支持多写,从节点只能分担读的压力。Aurora基于mysq1引擎构建,100%支持mysq1。目前主流的有: Po1arDB:阿里云原生关系型数据库,有三个独立的引擎,分别100%兼容MySQ1.100%兼容PostgreSQ1.高度兼容Orac1e语法,存储容量最高可达100TB,单库最多可扩展到16个节点。 C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中小企业 分布式 数据库