OLTP 和 OLAP 技术栈曾因大数据系统规模问题分道扬镳。但是随数字化技术落地到千行百业,复杂的业务场景产生海量数据,即使是相对成熟的 OLTP 产品也无法满足业务对于实时分析的需求,于是 OLAP 技术快速发展,至 Gartner 正式提出了 HTAP 这一概念,到如今呈现出 HTAP 理念大火的局面。
虽然 HTAP 概念已经普及很长时间,但是业内对于 HTAP 的理解不同,国内几款代表性的 HTAP 数据库技术路线也不尽相同。开发者应该如何理解 HTAP?什么才是开发者友好的 HTAP?想要了解什么才是开发者友好的 HTAP,不如先来看看开发者们对于数据库的偏好。
开发者需要怎样的数据库?
在 OceanBase 开发者大会上,OceanBase CTO 杨传辉表示,开发者的首要需求是稳定可靠。“或许开发者第一反应是代码要好,写起来比较简单,但是如果你去追问,一定会得到‘首先不能有故障’的答案。”其次是多云原生。在多云、混合云的大趋势下,云原生数据库如今更能满足开发者需求。沃趣科技创始人兼 CEO 陈栋也表示:“多数据库选择、多云部署趋势特别明显。”
再次是一体化。目前国内数据库有集中式和分布式两大技术路线,每条技术路线各有优劣,虽然分布式数据库目前还未占据主导地位,但其对于业务场景的适配能力得到了普遍认同。整体来看,国内企业整体对于分布式数据库的需求依然旺盛,开发者对于分布式数据库的热情不减。在数据库融合的大趋势下,杨传辉判断,国内集中式和分布式融合的需求是存在的,开发者也就自然需要关注集中式分布式数据库融合的问题。“最早的 OceanBase 的一体化架构叫做‘集中式分布式一体化’,当时我们认为 DBA 更加熟悉集中式这个说法。不过,市场品牌的负责人建议修改成 ‘单机分布式一体化’,这样会更加形象直观,能够更好地表达 OceanBase 的技术特点,开发者也更容易理解。很多开发者来自使用分布式数据库的公司,不仅希望分布式简单,还希望不会因为数据库能力不足而做很多业务的改造。OceanBase 收到了很多融合的需求。”他谈道。
最后是用户体验,降低技术产品的使用门槛是保证用户体验重要的一环。“从入门到劝退、还是从入门到精通,其实就是用户体验应该解决的问题。”杨传辉表示。
dbaplus 社群联合创始人杨建荣近期在社区内做了一项开发者对于分布式数据库需求的调研,结果显示,开发者对于分布式数据库选型依次比较看重稳定性、成本(硬件成本和研发接入成本)、易用性和对主流技术栈的兼容。PostgreSQL 中文社区主席张文升观察到,业务越来越复杂,企业开始关注在不同细分场景里是否有更好用的数据库功能或数据库,导致企业采用越来越多的数据库可能成为一种常态。
但是从开发者或者企业的角度来说,采用的数据库越来越多并不是一件好事。技术人员对不同数据库的学习成本居高不下,企业对于多种类数据库全生命周期的管理也是一个难题。不完全统计显示,国内数据库公司超过 300 家,技术产品各有千秋。所以,企业选用的数据库产品固定在少数几家或许才是未来数据库在企业内部的常态。沃趣科技创始人兼 CEO 陈栋表示:“我们对接的头部券商基本上都会说希望数据库类型最终控制在 10 种以内。dbaplus 社群联合创始人杨建荣判断,这个数量可能还会缩减至 5-6 种。
如今我们可以看到的是,稳定可靠、简单易用、多云原生、可扩展、用户体验佳、计费方式更加弹性的数据库产品将更受开发者欢迎。HTAP 作为数据库融合的方案之一,广受关注的原因之一就是简化了企业对于数据库的使用。
什么才是开发者友好的 HTAP?
如今,OLTP 技术已经比较成熟,但是成本也比较高,所以很多企业开始把 OLTP 数据库慢慢转向 OLAP 对外提供服务。新一代云原生 OLAP 正在替代传统大数据项目,让大数据项目朝着更简单、更好用、高性能的方向发展。
HTAP 是数据库融合的一种方案,把事务处理和分析处理都集中在一个系统中对外提供服务,目前已经成为 OLTP 方向数据库正在追求的一个重要方向。国内的 OceanBase、PolarDB、TDSQL-H、TiDB 等都实现了 HTAP。在过去很长一段时间内,似乎是否支持 HTAP 成为数据库是否“先进”的隐形指标。
不过在杨传辉看来,如今业内对于 HATP 甚至 AP 这个词都没有明确的定义。他将 HTAP 分成三类:第一类做并集,TP 也行,AP 也行;第二类做交集,本身的 TP 能力和 AP 能力单独去看都是比较弱的,交集在一起能去覆盖一些场景;第三类就是 OceanBase 自然衍生的“OLTP plus”思路,可以理解为是 OLTP 加上 OLAP 形成 HTAP 这个系统应用的核心。
在 dbaplus 社群联合创始人杨建荣看来,HTAP 的底层设计还是读写分离,需求也是读写分离,更多需要解决读的场景下的问题。在他看来,原生对于对 HTAP 要求会更高一点,具备 TP 的能力,从 AP 的场景入手,到 TP 的切换会更容易。
“(现在出现)很多不同的路径,从 OceanBase 的角度来讲,在一个单机上甚至上在某一个页面上进行优化,有一部分列存,有一部分行存。怎么调它都有成本,你怎么搬过来搬过去都有成本。怎么去找到平衡点,我认为是最重要的。”中达金桥资深数据库专家卢东明表示。
在陈栋看来,"Oracle 也是这样的思路,把 TP 做到极致,同时拥有部分 AP 能力、离线能力。OceanBase 后续的 roadmap 非常巧妙,拿出一个副本做列存,既升节空间,又做到数据的一致性,不需要单独设计一个表格,我十分期待这个功能",HTAP 最终是为了解决混合场景的问题,解决这个问题可以用多表查询、大表关联的方式来实现,也可以用列寸的方式实现,还可以纯粹依赖硬件红利。“因为数据库运行是平衡的系统,从计算到网络到存储到 IO 到数据库内核,就看哪个地方最高性价比可以解决问题。”
仅从运维的角度来看,杨传辉认为开发者友好的 HTAP,“一定是让开发者觉得越来越简单,比如最好是在公有云上都不用怎么去部署。”
杨传辉对于 OceanBase 在走的 HTAP 路线非常坚定。他表示,“从开发者视角来看,HTAP 只有从 TP 开始才有可能成功,TP 的门槛很高,而且 TP 会涉及到核心场景,如果核心场景做好了的话,往 AP 是自然延伸,相当于由高打低,如果 AP 做好了,本身 AP 的重要程度、核心程度远远低于 TP,开发者不会因为选了 AP 而选 TP,但是可能因为选了 某个数据库 的 TP 也选了 他的 AP。”
“用心做好最难的、用户最需要的事情”的商业理念应用到技术里依然有效,这个层面上,Oracle 和 OceanBase 的思路相同,都是希望将 OLTP 能力做到极致,再抽取打磨出部分 OLAP 的能力。国内大量复杂的查询业务和高并发频现的运营商业务场景,为打磨数据库尤其是 HTAP 提供了土壤。杨传辉谈认为,“如果满足不了开发者对应用的核心 OLTP 能力,那种 HTAP 不是真正的 HTAP。”