5月20日,世界上权威数据库评测机构——国际事务处理性能委员会(TPC),发布最新评测榜单,蚂蚁金服自研的分布式关系数据库OceanBase,以7.07亿的tpmC的评测成绩再次夺冠,并将自己之前创造的记录提升了近11倍。2019年10月,OceanBase打破甲骨文长达9年的“垄断”,登顶TPC榜首时,业界有不少的评论称,阿里的第一名成绩不会保持太久的,甲骨文、IBM等老牌数据库厂商很快就会刷新OceanBase创造的记录。OceanBase这次直接用提升11倍的成绩,对那些唱衰言论给出最好回应。除了tmpC,TPC-C的评测还有一个重要指标,就是用系统的总价格除以tmpC得分,得到性能价格比的指标(Price/tpmC)。在这一项指标中,OceanBase是3.98cny/tmpc,在折算后比甲骨文的Orcale数据库低了近50%。其中最为关键的一点是,Orcale在TPC-C使用顶配的专用设备,计算集群动用了108 颗 T3 SPARC 处理器,1728 个物理核心和 13824 个执行线程,同时使用了97 台 COMSTAR 专用存储设备,这些存储设备都经过专门的优化,使用Intel 服务器作为存储机头。Oceanbase是布署在1557 台增强型阿里云ECS i2d服务器上的,并未使用专门存储。数据库的性能是很依赖服务器的计算与I/O能力,在这方面阿里云ECS i2d不但配备了Intel Xeon(Skylake) Platinum 8163 处理器、NVMe SSD本地磁盘,同时其网络性能也达到了25G的带宽和400万PPS的转发能力,这使得i2d适用于各种如OLTP、NoSQL与数据仓库等数据库应用场景。可以说阿里夺冠,不仅体现了阿里在数据库研发方面的实力,也展示了阿里云基础设施ECS的高性能与稳定性。HTAP是2014年由Garnter提出的:混合事务/分析处理(HTAP)是一种新兴的应用体系结构,兼容两种业务场景。混合负载(HTAP Hybrid Transactional/Analytical Processing)是在保留原有在线交易功能的同时,强调了数据库原生计算分析的能力。支持混合负载的数据库能够避免在传统架构中,在线与离线数据库之间大量的数据交互,同时也能够针对最新的业务数据进行实时统计分析。简单的讲TP可以看作是战斗机的敏捷迅速属性,AP则相当于载弹量大、威力强的轰炸机。OceanBase就是这种混合式战机的典范。
缘起HTAP
HTAP的出现主要原因是当今大时代时代的数据和以前相比出现了明显的变化。根据笔者在银行业的观察,目前数据的生产者有以下几种类型:第一类是应用产生数据。最早的数据生产机制是应用系统的副产品,也就是应用产生数据。为了满足业务,需要构建业务IT系统,随着IT业务系统不断在运行,大量应用数据就产生了。这些数据经过ETL加工进入数据仓库进行再处理,供业务应用。这些数据都是单一的关系型数据,数据量级是GB的。这些数据利用早期传统的关系型数据库和数据仓库都可以处理完成。
第二类是行为产生数据。随着互联网和电商的快速发展,大量人的操作行为和使用行为产生的数据,像谷歌、脸书等大数据互联公司,都记录人的形成产生的数据。上网浏览、购买、评论、刷微博、玩抖音等行为都可以产生大量数据。这些数据不再是单一的结构化数据,出现了大量文档、音频和视频数据,数据量级是TB级的。第三类是机器产生数据。进入万物互联的时代,大量机器传感器和IoT设备都会产生大量数据。这些设备 7*24小时产生数据,数据格式也是多种多样,有的是日志数据,有的是时序数据,有的是网格数据等等,数据量级是PB的。由于处理的数据的规格、速度和多样性发生了根本变化,它不仅仅是要支撑到万亿记录数据库表的处理,还要支撑分析场景。而传统的TP数据库支撑交易业务,再吐出数据将给AP分析报表的用法,无法看到实时的战报结果,无法满足时间要求,这种变化,是传统的关系数据库,数据仓库以及大数据的Nosql数据库都是无法支撑的。因此以Oceanbase为代表HTAP数据库开始兴起了。
大数据时代的秘籍——唯快不破
传统的数据消费者是一般是决策层的领导。当业务系统产生数据,经过ETL加工处理进入数据仓库,经过数据主题设计和统计汇总,形成KPI仪表盘,提供给领导决策者服务,领导根据数据分析结果进行宏观决策服务。因此管理层不只需要对上一日的数据进行追踪即可。传统的纯AP或者TP数据库在这种背景下需适应节奏的。
随着移动互联网时代到来,大量个性化服务需求产生,数据分析结果不再是推送给公司管理层,而是要提供给一线营销人员,供他们直接使用。例如,OceanBase支持阿里妈妈的广告报表查询,这使得数据实时性大幅度提升。再如,现在银行的一个移动启瓶器系统就需要向理财经理实时提供大客户的结息、净值等一系列个性化指标,用户有六万多人,需要支持至少五百个在线并发/秒。这些场景都要求基于实时数据的分析,传统TP与AP分享的数据库已经无法满足要求了。
OceanBase让数据产生价值
随着数据体量不断增大,传统的单机IOE计算框架向分布式计算框架转变,又一次实现移动数据和移动程序之间的转移。在传统IOE计算框架下,数据在不同业务系统之间移动;进入分布式计算框架下,数据存在HDFS文件系统上,根据不同业务需求编写MR程序,进行数据处理。当数据库的计算框架从单机计算框架转向分布式计算框架,整个IT业务应用系统的架构也发生根本的变化。数据在传统业务系统中从核心业务系统(TP),向数据仓库系统(AP),再向模型分析系统(SAS)进行迁移。在新一代大数据应用系统中,数据可以不进行迁移,在大数据体系架构下,同时实现TP(实时交易),AP(数据分析)和ML(机器学习)等应用处理,极大提高数据利用率和工作效率。在大数据体系架构下,想要提升数据的价值,就必须减少无谓移动。这就要有一个全新的数据库架构体系进行支撑,可以说只有使用HTAP数据库架构体系,才能满足实时数据分析结果的需求,而OceanBase也是在这样的背景下孕育而生的。为了支撑上述三大趋势变化,数据库除了应对操作型业务,还会在业务实时数据监控,数据报告和决策辅助方面有许多数据实时应用的场景。传统架构中OLTP和OLAP两类业务是完全分离的。两者的隔离导致整个系统在数据一致性,数据平台管理上带来了巨大的阻碍。此前, RDBMS和大数据(Hadoop)分别成为数据处理的两个方面,一旦一种架构选择了一种场景,就不得不放弃另一种场景。因此,以OceanBase为代表的HTAP混合数据库,终将成为数据库发展的一个新要求,必将成为数据库发展的主流。最后,笔者相信OceanBase本次再度刷榜TPC将大幅提升国人对于国产基础软件的信心。
更多精彩推荐
☞50 岁程序员创业说:两个月提交 50 个 PR,三个月内融资 2000 万美元
☞平安科技王健宗:所有 AI 前沿技术,都可以在联邦学习中大展身手!
☞踢翻这碗狗粮:程序员花 7 个月敲出 eBay,只因女票喜欢糖果盒!
☞我佛了!用KNN实现验证码识别,又 Get 到一招!
☞如何使用 SQL Server FILESTREAM 存储非结构化数据?这篇文章告诉你!
☞加密价格更新周期:看似杂乱无章,实际内藏玄机