过去一段时间,数据库圈有个很热的词“HTAP”( H ybrid t ransactional/ a nalytical p rocessing)。

有不少数据库厂商拿这个概念在进行营销,例如 StoneDB ,宣传是云原生的 HTAP 数据库产品。

打开网易新闻 查看更多图片

从概念上讲,HTAP 数据库的本意是结合TP(在线事务)和 AP(数据分析)的处理,让一个数据库就拥有这两种能力。

然而,传统的 OLTP 关系型数据库就没有 AP 能力么?

很显然,并不是。

所有的传统关系型数据库,如 Oracle、MySQL、Microsoft SQL Server 等,都有 AP 的处理能力。

结论1: 从概念上讲 HTAP 是一个彻彻底底的伪命题

上次在某群讨论这个话题的时候,网易杭州研究院执行院长汪源的说法很是认同:

是的,如果真有所谓的 HTAP 数据库,那么业界最成功的案例应该就是 MySQL 主从架构的 HTAP 数据库。

无 ETL 烦扰,秒级同步,使用广泛,简单易懂。

肯定有同学会说:MySQL 的 AP 能力很弱!达不到业务的需求。

没错,你说的很对。

但请你说出一个 AP 数据库可以满足所有业务的需求?

是不是也没有?单一的 AP 数据库都不到,谈什么 HTAP 数据库呢?

结论2: 不存在一种 HTAP 数据库,可以满足业务所有的 AP 需求,只能是部分

那 HTAP 是不是用户的真正需求呢?他们是否希望有一个独立数据库可以即完成 TP 又完成大部分 AP 的工作呢?

最近发现 AWS 上的一个帖子,有用户提问 AWS 是否有推出 NewSQL 或 HTAP 的数据库计划?

打开网易新闻 查看更多图片

用户的提问也蛮专业。例举了 TiDB、Vitess、YugaByte,MySQL Heatweave 结合了 TP 和 AP 能力,同时也省去不同数据库之间的 ETL 代价,是否 AWS 也有这样的计划?

AWS 的回答:没有。

AWS 的答复也相当专业,也值得好好解读。

首先, AWS 90-95% 的需求来自于客户 ,而不是一堆数据库专家 YY 的各种需求。目前没有接到用户这样的需求,所以没有这样的计划。

是 AWS 没有研发能力做所谓的 HTAP 数据库么?

显然不是。是没有客户需求。

然后,AWS 解释道 NewSQL 主要在于 Scale-Out(横向扩展)能力。如果你有 Sacle-Out 的需求可以使用 Aurora Multi-Master 功能。

然而,AWS 特别指出 Aurora 单节点就可以有 10W TPS 的能力,已经能满足大部分业务的需求。

这也与我前面的文章 ,观点出奇的一致。

接着,AWS 谈到 HTAP 数据库。如果用户有 AP 的需求,则可以使用 AWS 的 DMS (Data Migration Service)同步数据到 Redshift 去处理。

AWS 的潜台词是如果你觉得 ETL 很麻烦,不用担心,我帮你做好了。AP 能力直接用 Redshit 即可。

总结来说,AWS 目前没有收到来自客户这样的需求。如果你有需求,可以使用 Aurora + DMS + Redshit 完成。

如果实在不满意,可以去 AWS Marketplace 去看看有无第三方 HTAP 或 NewSQL 数据库的选择。

结论3: AWS 用户没有迫切的 HTAP 数据库需求

这些年我们见证了不少关于数据库的“新概念”。无一例外,都没有成功。

NoSQL 数据库厂商说,关系型数据库们太老了,要什么 SQL 解析器?影响性能。要什么关系型,直接文档存储就好。

NewSQL 数据库厂商们说,关系型数据库们太老了,做不好 Scale Out 横向扩展的功能,性能跟不上。
HTAP 数据库厂商们说,关心型数据库们太老了,只能 TP、AP 二选一,我们什么都能做。
Cloud Native Database 数据库厂商们说,关心型数据库们太老了,数据放在云上才是新时代数据库该有的样子。

TiDB 曾说他是 NewSQL 数据库,接着说他是 HTAP 数据库,现在他又说自己是 Cloud Native Database。
总结:中国不缺世界级优秀的数据库开发人员,而是真正了解 用户 ,想做 事情的人。

以上。