欢迎来到 上海在线
返回首页您现在的位置: 上海在线 > 科技 > 文章内容

这一底层技术,正在经历50年未有之大变局

作者: 编辑 来源: 互联网 时间: 2020-06-09 阅读:

原标题:这一底层技术,正在经历50年未有之大变局

数千年前,数字被用来计算羊群的数量,几何图形被用来测量田地并绘制道路,这是数字首次出现在人类历史长河里。

如今,过去零散的自然数字已经逐渐演变成信息时代庞大并且无处不在的数据库,无论是电商、游戏、社交等互联网行业,还是通讯、交通、金融等传统行业,现代社会的商业和经济活动都离不开数据库。

数据库并非新兴行业,其发端于上世纪六十年代,但在很长一段时间里,行业几乎一直在传统数据库制定的游戏规则下发展。时至今日,这道固若金汤的防线才逐渐被撕裂。

6月8日,蚂蚁集团宣布,将自研数据库产品OceanBase独立进行公司化运作,成立由蚂蚁100控股的数据库公司北京奥星贝斯科技,并由蚂蚁集团CEO胡晓明亲自担任董事长。此举标志着蚂蚁旗下这一明星科技产品走上大规模商业化轨道,也推动分布式数据库这一中国顶级自研技术进入全新发展阶段。

不到1个月前的5月21日,数据库领域最权威的榜单TPC-C公布了最新结果,支付宝OceanBase仅用7个月的时间打破了自己在去年创造的世界纪录,将榜单的性能分数从千万级提升到了亿级,达到7.07亿tpmC。

传统数据库看似固若金汤的地位,正在面临一定冲击,支付宝正在撬开技术变革的大门。

五十年兴衰史,传统数据库逐步走下神坛

上世纪五六十年代,IT产业与现在硬件发展的步伐落后于软件、算法截然不同,彼时的科技创新大多是硬件驱动软件。

当时,计算机由晶体管时代进入集成电路时代,计算能力、内存容量都得到了大幅提升,计算机也从军事领域,逐步走进了中小企业,最基本的用途就是做数据管理。

但遗憾的是,传统的文件系统在面对复杂的数据时捉襟见肘,这主要因为数据共享性差并且无法描述数据之间的关系,为了解决这一难题,数据库才以“新物种”的方式被提出。

1970年,关系数据库之父、IBM研究员E.F.Codd发表了一篇名为“ARelationalModelofDataforLargeSharedDataBanks”的论文,首次提出了关系模型的概念,并成为现代数据库产品的主流,今天,我们看到的主流数据库几乎都是围绕这一模型研究。

1978年,当时还在为美国中央情报局做一个数据项目的拉里·埃里森(LarryEllison),率先嗅到了关系型数据库的商机。几个月后,Oracle1.0诞生了,尽管这一产品没有祭出太多的功能,只能完成简单关系查询,但就是这样一个不成熟的产品,让数据库行业正式迈入了大航海时代。

当年,Oracle1.0就拿下了美国中央情报局和海军情报所两个大单,在政府机构的背书下,埃里森的公司声名鹊起,顿时大量国际商业巨头纷纷寻求与埃里森合作。

此后,硅谷科技公司纷纷推出各自的数据库产品。关系数据库的提出者,IBM在1983年推出首个商业数据库;六年后,软件巨头微软姗姗来迟,祭出了首个商业数据库SQLserver。

天下熙熙皆为利来。对于企业级场景而言,商业数据库是和操作系统一样重要的软件,由于技术门槛高,其价格极为昂贵。按照当时的价格,传统数据库价格在数十万到百万不等。而在商业数据库市场里,仅Oracle、SQLServer、IBMDB2就拥有超过80的市场份额,传统数据库因此赚得盆满钵满。

2018年12月,Oracle公司在《2018世界品牌500强》中就排名31,而埃里森本人也以661亿美元身家名列世界富豪榜第七。

但数据库行业并没有就此停下前进的脚步。昂贵的价格,以及互联网时代对数据库提出了完全不同的需求,加速了数据库行业的变革,越来越少的企业愿意为传统数据库买单。

因此,数据库领域涌现了一股新生力量,例如开源数据库、分布式数据库等,这些新兴技术的诞生正在一步步挤压传统数据库的市场。根据第三方机构显示,到2021年,传统数据库市场会下降20至30。

分布式数据库成不可逆趋势

阿里巴巴是最早遇到互联网规模挑战的企业之一。

2009年,阿里巴巴的OracleRAC集群节点数达到了创记录的20个,虽然这已经是当时亚洲最大的Oracle数据集群,但依旧无法解决当时的流量压力。

因为在传统架构上获得千万级并发处理能力、PB级数据库管理能力、一天之内系统扩容百倍并在业务高峰期后立即释放,获得这样的性能需要巨大的成本,因为传统数据库集群难以横向扩展,最多只有数十个节点,且难以做到性能线性增长。

为了解决与日俱增的流量压力,阿里巴巴决定用分布式架构替代传统“IOE”架构,而分布式数据库OceanBase替代的就是传统数据库。

从当时的数据库行业来看,团队面临两个选择——

  • 一是基于开源数据库研发,好处是可以研发周期短,但开源数据库的性能瓶颈依旧存在;
  • 而另一条路径就是走完全自研道路,难度高、周期长,但更具想象力,其可以在性能上实现更大的突破。

作为OceanBase的创始人,阳振坤的态度非常坚决,他认为单机数据库已经走到了尽头,下一步一定是走向分布式,而且当时团队成员大多是研究分布式出身,做的就是自己最擅长的工作。团队应该去研发一款新型的分布式数据库。阳振坤坚信:“这是千载难逢的机会,我们一定要做,而且一定能做成。”

2010年,项目正式启动,团队写下了OceanBase第一行代码。

高科技的自研之路从来都是从满荆棘,而且整个分布式数据库领域还没有太多成功案例,团队就像在黑暗中前行,没有任何模仿对象。很少有人敢相信团队可以完成全面替代Oracle数据库这一使命。

但出乎所有人意料的是,仅仅一年的时间,这支团队就跨越了死亡之谷。

2011年,OceanBase迎来了第一个客户——淘宝收藏夹。当时的淘宝收藏夹正处于业务高速发展期,数据库的访问量飞快增长,而OceanBase首战就崭露头角,将淘宝收藏加的服务器数量降低了一个数量级。

此后几年,OceanBase一路狂奔——

  • 2014年双11,OceanBase支撑了十分之一的交易流量;
  • 2015年,支付宝交易库和支付库都换成了OceanBase;
  • 2016年,支付宝账务系统上线,这也标记着OceanBase真正在金融系统最核心最关键的领域站住了脚;
  • 2017年,OceanBase开始走出支付宝、走出蚂蚁金服,在商业银行推广使用,至今已在数十家商业银行上线运行。

从今天来看,分布式数据库跨越的是上一代数据库的技术鸿沟,其既能通过扩展集群实现扩展能力的大幅提升,又可以充分保证业务场景的一致性,实现整体性能的数量级提升。

此次TPC-C测试中,OceanBase也向世界展示了分布式数据库的力量。1500多个数据库节点,5000多万个仓库以及对应数量的客户端,并进行8个多小时的持续压测,OceanBase完成数据库领域的新成就。

OceanBase的成功也为各行业企业带来了更多可选项。过去几年,企业数据库选择的天平逐渐在向分布式数据库倾斜。由于分布式数据库兼顾了性能及价格方面的优势,在过去十几年,银行的IT架构已从大型机时代的集中架构,转移到UNIX小型机,到现在全面拥抱分布式存储与数据库技术。

作为国内第一个拥有自主产权的分布式数据库OceanBase,已服务建设银行、南京银行、西安银行、人保健康险、苏州银行、广东农信、网商银行等多家商业银行和保险机构。

据了解,独立之后的新公司将在今年内发布重大版本升级,在原有功能基础上增加分析型业务处理能力,OceanBase将升级为一款支持HTAP混合负载的企业级分布式数据库。OceanBase同时还宣布,将在未来三年内服务全球超过万家企业客户。

分布式数据库才是未来

为什么OceanBase会选择分布式数据库方向,为什么机构越来越多地选择使用分布式数据库?分布式数据库相对于传统数据库,到底有哪些优势?

我们知道,传统的关系型数据库,由二维表及其之间的联系组成,其实就是一个数据组织。关系型数据库的优势在于:

  • 关系模型相对网状、层次等其他模型来说更容易理解;
  • 使用方便,使用SQL,可用于复杂的查询;
  • 统一使用关系模型来构建,减低了数据冗余和数据不一致的概率,维护起来更容易。

但其不足也很明显,当用户集中查询时,查询请求,传统关系型数据库压力大;而且很难进行横向扩展,想通过添加硬件和服务节点来扩展性能,并不容易,数据库系统升级和扩展是个难题;特别是,处理大规模和高并发的微博、微信、社交媒体数据时,传统关系型数据库力不从心。

以往应对这些难点,多是采用非关系型数据库路线,不需要事先定义数据模式,预定义表结构。当插入数据时,并不需要预先定义它们的模式,可以在系统运行的时候,动态增加或者删除结点。

OceanBase依然是关系型数据库,但与Oracle不同,它是分布式架构的数据库。OceanBase实现突破,在于其采用了新一代分布式设计技术,可以在线扩容、缩容、迁移、以及做负载均衡,并且通过分布式扩展集群实现扩展能力的大幅提升,整个集群可以异地部署,跨城市部署。

这样,颠覆了传统数据库集中式处理技术架构。OceanBase还通过分布式选举技术、事务技术,保证业务场景的一致性,实现性能提升。当下,OceanBase集群节点数突破了1500,是目前全球唯一超千个节点并通过TPC-C测试的数据库。

在最新的TPC-C基准测试中,OceanBase性能分数突破亿级大关,达到7.07亿tpmC,意味着每分钟创建新订单数7.07亿,相比去年10月的6088万tpmC,提升近12倍。这背后,就是分布式技术构架带来的效果。

分布式构架存在稳定性的问题,随着机器和节点的增加,可用率会下降。如何解决这一问题,OceanBase采用了多处备份的方法,将每一份数据同时备份三份,存放在三台不同的机器上。一台pc机出故障的概率如果是千分之一,两台同时坏的概率可能就是百万分之一,三台同时坏的概率则是十亿分之一。这样就保障了分布式系统的稳定性。

能够很好的解决性能问题,又可以保持较好的稳定性,这样的分布式数据库必然是行业的未来,能给众多银行级客户认可也就不难理解了。

结语

IT产业过去数十年里,历经了多次技术革命,每次技术浪潮都是一次新旧势力的交替。技术进步没有终点,数据库未来也还会向更稳定、反应更敏捷、操作更友好的方向演化,目前传统数据库还占据着主要的份额,但在未来,会有更多份额被分布式数据库蚕食。

当然分布式数据库发展也不是一蹴而就,想要打开市场,一方面要在产品和技术上继续突破,并在实际应用中证明自己,另一方面也需要有一个教育市场的过程。

上一篇:微软Xbox直播内容或延期到8月发布 下一篇:没有了

相关阅读

发表文章

最新评论

更多评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
友情提示: 登录后发表评论,可以直接从评论中的用户名进入您的个人空间,让更多网友认识您。