|
楼主 |
发表于 2021-4-26 18:09:43
|
美国数据库已把持太久 来自中国的新玩家出现了
所谓分布式数据库 , 是指区别于Oracle传统的集中式数据库 , 不再将数据储存在一台服务器上 , 而是直接运行在云上 。这是一个颠覆性的变化 。一个合格的数据库 , 必须满足ACID特性 。 简单地理解 , 当A给B转账100元钱时 , 数据库必须做到:原子性(Atomicity):A的账户减少100元 , B的账户增加100元 , 这两件必须同时发生 , 像原子一样不可分割;一致性(Consistency):转账之后 , A和B的账户总和必须跟转账前一致;隔离性(Isolation):A和B之间的转账不影响其它任何账户;持久性(Durability):转账记录必须长久存在 , 即使发生断电等故障也不能消失 。
甲骨文等传统数据库,被称为集中式数据库,运行在一个单一的服务器上,因此可以最大程度上保证ACID特性。即使服务器出现故障,也可以保证一个任务要么都发生,要么都不发生,不会出现A的账户少了100块钱,B的账户却没收到的情况。但是对于分布式数据库来说,如果A、B两个账户处在不同的机器上,其中一台机器出现故障,另一台却在继续执行任务,原子性和一致性就没法保证了。在2010年,这是一条从未有人成功过的道路,阿里方面深知其难度之大。
在阿里以外,美国数据库积威犹在,特别是在对数据库要求最高的金融、电信等领域。早在上世纪90年代,国内就逐渐形成了Oracle垄断电信行业,IBM垄断金融行业的格局。2013年的斯诺登事件,让中国ZF意识到使用美国数据库的巨大安全风险,全力推进去IOE化,但实际进展缓慢。到目前为止,尽管很多大型银行已经基于MySQL等开源系统,对非核心业务进行替换,但核心业务仍然在使用IBM DB2系统。
多年以来,外界对于OceanBase的质疑一直不绝于耳,最常见的看法是,分布式计算无法做到同集中式一样的ACID,因此根本没法在金融业应用。OceanBase参加TPC-C测试,某种程度上也是为了回应这个质疑。TPC-C测试一个最基本的要求,就是满足ACID原则。其实,Oracle当初创造世界纪录,也应用了某种程度的分布式技术,将数据库服务器扩展到几十个节点,才能吊打IBM。因此,OceanBase等国产数据库面临的最大挑战,恐怕还是如何搭建自己的生态系统。
OceanBase从2017年起对外提供服务,至今已经拿下了不少金融业客户,比如招商银行的互联网业务已经采用OceanBase服务器。OceanBase的服务对象还包括自家的网商银行,以及南京银行、常熟农商行等数十家商业银行和保险机构。2019年,腾讯的分布式服务器TDSQL,也首次应用于张家港农商行的传统核心业务。区别于享受政策红利、远离市场的传统国企,阿里、华为这些中国顶尖科技企业在最激烈的市场竞争中厮杀,用丰厚的商业利润来为科研输血,正在为中国蹚出一条更高效的技术进击之路。
|
|