首页数据库阿里分布式数据库 阿里巴巴采用自己研发的分布式数据库系统叫什么,它有哪些特点

阿里分布式数据库 阿里巴巴采用自己研发的分布式数据库系统叫什么,它有哪些特点

编程之家2023-10-1883次浏览

大家好,关于阿里分布式数据库很多朋友都还不太明白,今天小编就来为大家分享关于阿里巴巴采用自己研发的分布式数据库系统叫什么,它有哪些特点的知识,希望对各位有所帮助!

阿里分布式数据库 阿里巴巴采用自己研发的分布式数据库系统叫什么,它有哪些特点

国内做分布式数据库开发的现状如何

应该说,现在是国产分布式数据库发展的利好时期。在讨论发展前景前,首先要先看看分布式数据库的发展方向。

大家把传统关系型数据库称作oldSQL,给人感觉要被淘汰似的。但其实数据量不是很大或者事务处理的场景夏,关系型数据库的还是占优的。

关系型数据库的主要问题在于:

性能瓶颈,

单一模型(关系模型),只适合OLTP

应对业务的灵活性不够,

阿里分布式数据库 阿里巴巴采用自己研发的分布式数据库系统叫什么,它有哪些特点

弹性扩充能力不够,

两地三中心和双活等问题上不足。

随着互联网和手机的飞速发展,无论从用户规模、使用频率、还是场景多样性都使得这些问题浮出水面。其实Oracle在92年就开始尝试转向分布式,还当时引起了业界的巨大争论,最后失败。更何况过去CPU、内存、存储、带宽的高成本导致分布式数据库的性价比并不高,只能停留在学术阶段,限制了分布式的发展。

新分布式数据库首先是要避免和传统关系型数据库的竞争,这是明智的选择,能够轻装上阵。因此从几个方面入手,应对海量数据处理、分析、缓存、流式处理、开发模式等等。相对应列式,KV,Document等多种存储数据结构。

所有这些都被称为NoSQL数据库,放弃ACID和事务能力还换取性能。然而,NoSQL又收到了大量的批评反对意见,主要是说把数据库应该处理的问题交还给了开发是种发展的倒退。这些问题包括,索引、版本、SQL支持、事务支持等等。市场上超过90%的开发员都需要SQL,而且SQL也是非常有效和成熟。于是大家无论底层是什么存储结构又开始支持SQL,形成了NewSQL。

这里插一句题外话,在硅谷已经不再用SQL、NoSQL、NewSQL来划分数据库了。理由很简单,SQL是一种语言,从来没有SQL数据库的说法,自然也不应该有NoSQL数据库的说法。NewSQL数据库就更不合理,用的SQL并非什么“New“的新东西。所以专业上用关系型和非关系型数据库来划分,分布式数据库主要都是非关系型数据库。

阿里分布式数据库 阿里巴巴采用自己研发的分布式数据库系统叫什么,它有哪些特点

回过头来看国内分布式数据库市场需求,中小企业不满足Mysql的性能,分库分表又很难搞,也不彻底;大型企业被Oracle等垄断支付高额成本,而且又不解决实际碰到的瓶颈问题。因此,用户都在寻找新的解决方案。小型用户、云计算的用户、大型企业都需要对应的分布式数据库产品。

再加上国产自主和去IOE浪潮,更加推动了国产分布式数据库的发展利好。值得注意的是,数据库研发是个严肃的事情,没法短平快。

国产分布式数据库到底怎么样

海内外数据库在部分场景上的性能差距还比较大,难以做进核心业务系统。比如说在RAC(实时应用集群)这块,数据量大、并发量大、变化速度快,国内所有的数据库厂商做的都不如Oracle好,其他如果说兼容性、安全机制等方面国产数据库其实没什么问题,所以国产数据库应用在一些小的边缘业务系统上是没什么问题的,但核心业务系统上还是很难的。现在国家要求金融行业全替换,也是针对办公系统的数据库全替换,在业务系统层面更多的是在小业务系统上做做实验,现在去谈核心业务系统的数据库国产化还为时尚早。

国产数据库厂商要先争取拿到小业务系统的备份系统机会,不要急着喊“国产替代”。存在即合理,Oracle、IBM DB2现在能在金融等行业广泛使用,客户还要接着续购,一定是有原因的。但如果客户愿意在小业务系统上试用国产数据库,那国产数据库厂商可以从备选系统的国产化上先入手。也就是以前的业务系统和海外数据库继续作为主系统使用,在旁边用国产数据库搭一个备选系统来应用,两个系统同时跑看看有没有问题;如果跑一段时间没问题的话就把两个系统切换一下,用国产当主应用,海外当备应用继续跑;这样跑一段还没问题的话,再切回最初的样子,以后两个系统就一直跑下去了;未来一旦海外的主系统出现问题的时候,20s内会自动切换到国产备系统上运行。

做这样的工作并不是一刀切的“国产替代”,只是在海外产品旁边预备一个国产数据库,就足够让国产数据库成长起来。对于客户来说,一方面备选系统采购国产数据库满足了国家对国产化的考核要求,另一方面海外的产品还能维持不动继续使用,满足业务的安全性和稳定性,而且备系统用国产也比主备都用海外产品的开销更低,降低成本压力。

信创环境下国产数据库价格战激烈,厂商生存压力大。由于性能上确实和海外有较大差距,本身国产数据库厂商在信创投标时价格就会报低一点,Oracle的分析型数据库过去在央采里卖三四十万一套,而国产数据库在信创上报价就只报十几万一套,中标价折扣加上集成商一分到手也就五万块,客户采购数量一多再打个折就只能三四万块一套,后续还要去做三年的运维实施,成本压力很大。

国产数据库非良性的竞争下价格越来越低,最后每家公司当年挣的钱只能够支撑当年的运营,如果拿不到项目挣不了钱就难以继续运营,在这种情况下必须要保证当年有钱挣,不管项目是挣多还是挣少,只要有收入就干,有项目发标就去低价抢。这种过度的低价竞争下如果厂商单卖数据库一款产品目前很难实现盈利,也逼退了像华为这样的公司在信创数据库市场的发力,因为投入产出比达不到公司的预期。

另一方面就是跑马圈地现象严重。20年作为信创规模化采购的第一年,厂商都想先占坑抓住客户,所以就降价竞争,有些厂商甚至签的是五年的长期运维合同,这意味着未来五年都是一个低价运维的状态,但一个很核心的问题是后续的业务系统替换国产数据库厂商到底能不能搞定?如果搞定不了,那其实之后是不会有新的利润点出来的,现在占的坑也是白占。

国产信创数据库市场正处于发展早期。根据我们的产业调研,2020年党政信创电子公文系统的数据库市场几乎被人大金仓和达梦瓜分,我们估计二者合计约6个亿收入。目前信创数据库的市场机会在于党政信创电子公文系统的持续替换以及各大央企的OA办公系统的全替换,今年金融、能源、电信等重要行业在信创政策的驱动下已经开始在OA系统和小业务系统上进行国产信创数据库的测试。后续如果信创数据库的试用表现良好,国产数据库将在电子政务系统和重要行业的业务系统上迎来更大的市场发展机会。

过去有些行业客户直接使用开源数据库,之后可能转去采购商业发行版数据库,这也是国产数据库厂商的机遇。根据我们的产业调研,过去我国自然资源行业60%的地理信息系统公司都在使用PG开源数据库,他们自己养十几个人的IT团队去写、去维护自己的PG数据库,但随着国家监管政策的加强,继续使用自研的数据库是需要去进行一系列的测评并拿到相应的证书,客户进行数据库投入的成本会越来越大,而且随着技术的迭代,跟上开源进步的节奏难度也在加大,在第三方专业的数据库厂商发展壮大之后,客户会更愿意去采购商业发行版数据库,这样也能降低自己的成本,让自己更专注于地理信息系统的研发,像超图软件、航天宏图这样的上市公司已经开始与第三方数据库厂商进行兼容性测试,对于走PG技术路线的数据库厂商来说可以无缝兼容,这块未来会成为一个重要的业务拓展场景。

综上所述,当前信创政策的启动为国产信创数据库带来了难得的市场机会,国家投入了大量的人力和财力去推动信创环境的适配工作,客户也给了国产数据库厂商去做到业务系统中的机会,都是希望国产数据库能够逐步发展壮大。但由于数据库技术壁垒高,且直接关系到客户业务系统运行的稳定性,目前国产数据库性能相比海外还有较大差距,还很难做进核心业务系统中,这是产业发展的正常现象。

国产数据库厂商应该抓住政策机遇和客户的信任,多跑客户做案例落地试用,少去论坛空谈技术前景;从小系统的备份先做起,不要急于在核心系统上做一刀切的“替换”,在小系统上经过长时间的验证后再去考虑切入核心场景;加强产业自律与合作,避免过度的价格战对产业长期发展带来伤害,将战略重心放在产品性能和竞争力的提升上。数据库行业没有弯道超车,只有脚踏实地的发展,数据库的国产化会是一个漫长的过程,我们认为在政策和庞大国内市场的培育下,未来十年有望成长出一批具备国际竞争力的优秀国产数据库厂商。

阿里巴巴采用自己研发的分布式数据库系统叫什么,它有哪些特点

上层的是分布式数据库分表分库中间件,负责和上层应用打交道,对应用可表现为一个独立的数据库,而屏蔽底层复杂的系统细节。分布式数据库中间件除了基本的分表分库功能,还可以丰富一下,比如讲读写分离或者水平扩容功能集成在一起,或者比如读写分离本身也可以作为一个独立的中间件。(Cobar, MyCAT, TDDL, DRDS, DDB)

增量数据订阅和消费,用户对数据库操作,比如DML, DCL, DDL等,这些操作会产生增量数据,下层应用可以通过监测这些增量数据进行相应的处理。典型代表Canal,根据MySQL的binlog实现。也有针对Oracle(redolog)的增量数据订阅与消费的中间件。(Canal, Erosa)

数据库同步中间件涉及数据库之间的同步操作,可以实现跨(同)机房同步以及异地容灾备份、分流等功能。可以涉及多种数据库,处理之后的数据也可以以多种形式存储。(Otter, JingoBus, DRC)

数据库与数据库之间会有数据迁移(同步)的动作,同款数据同步原理比较简单,比如MySQL主备同步,只要在数据库层进行相应的配置既可,但是跨数据库同步就比较复杂了,比如Oracle->MySQL.数据迁移一般包括三个步骤:全量复制,将原数据库的数据全量迁移到新数据库,在这迁移的过程中也会有新的数据产生;增量同步,对新产生的数据进行同步,并持续一段时间以保证数据同步;原库停写,切换新库。将“跨数据库”这个含义扩大一下——“跨数据源”,比如HDFS, HBase, FTP等都可以相互同步。(yugong, DataX)

关于阿里分布式数据库的内容到此结束,希望对大家有所帮助。

sql数据库导入数据?sql怎么导入数据库文件沃顿数据库?国泰君安和国泰安数据库什么关系