基于上述原因,出现了一种将 OLTP 和 OLAP 相融合的提法,即 HTAP。这意味着能够通过一个数据库系统来同时满足事务性需求和分析型需求。其中,最具代表性的是 F1 的论文,并且由此产生了一批系统。
以 TiDB 为例,它是国内团队开发的。TiDB 采用 Raft 来实现分布式协议,并且能完全兼容 MySQL 的客户端。这一点对笔者很有吸引力,因为既可以使用熟悉的 MySQL 接口,又无需对数据库进行分库分表。这样既实现了分布式,又减轻了用户的学习成本。对于企业而言,通过构建一套分布式数据库系统,能够同时满足事务性和分析型需求,在减轻系统复杂性的同时提高了效率。