HTAP(Hybrid Transaction and Analytical Process,混合事务和分析处理)自2014年明确提出以后成为了很多数据库厂商努力的方向。其实HATP并不新鲜,早年RDB刚兴起时本来就是用一个数据库同时做事务和分析,但随着数据规模不断变大再直接基于业务库做分析就会影响业务,这时数据仓库出现了,将业务数据导入数据仓库来专门应对分析需求,同时与业务库隔离,这样不仅可以更好地服务分析场景,又不会对业务系统产生影响,这是“合久必分”的阶段。但是由于数据仓库将历史数据与实时数据分开了,有时经常还会采用异构数据库(或大数据平台),如果要分析实时全量数据(T+0)就非常困难了,而T+0又是很多及时性业务必须的,这就造成了“数据仓库之殇”。为了解决这个问题,能不能把AP和TP在一个数据库内同时满足呢?于是HTAP再次登场了,这又到了“分久必合”的阶段。
但我们知道,AP和TP两个场景有显著不同,前者涉及的数据量很大,并且计算逻辑复杂,但并发量往往不大,没有数据一致性要求,甚至经常为了使用方便可以不满足范式;后者恰恰相反,数据量不大且数据处理逻辑简单,但并发量很大,有数据强一致性要求。从功能上讲,TP数据库本来就能执行SQL,也本来就具有一定的AP功能。当