htap数据库,即交易分析混合负载DB,已经成为一个流行的新数据库。不仅概念非常流行,而且逐渐成为除OLTP之外的一种新数据库。除了OLAP,越来越多的数据库用户有了新的选择规范。但是,同时也有一些现象:一是一夜之间,所有的数据库都变成了htap数据库;二是除了容易模糊的理解“可以同时承载交易和分析SQL”之外,基本上没有明确的定义;自然,htap的应用场景也是八仙过海,各种不清晰。这些都导致了htap成为噱头的趋势。
1、定义htap
在这里,htap要想成为一个新的标准和规范,就必须尽可能明确地定义它。实现这一目标最基本的原则是,它必须具备不同于过去经典数据库的技术能力(不仅仅是分布式的),还必须对客户的数字化进程进行创新和升级,包括业务结构、应用结构、数据结构和技术结构。面对这一原则,可以不断讨论其定义和定义,本文仅提出以下几点供参考:
(1)htap在技术结构和设计目标上不应等同于经典Oracle和MySQL,或者分布式Oracle和MySQL,因为如果经典Oracle和MySQL也是htap(用“可以同时承载交易和分析SQL”来衡量,那一定是),那么htap的定义就没有意义了;
(2)htap数据库的交易和分析任务的执行,应该能够实现用户透明使用,并且有相互不影响的基础,而不是AP对TP的影响更大,TP对AP的影响更大,经典Oracle和MySQL就是这样;
(3)htap不应满足数字仓库纯OLAP的需求。也就是说,在这个阶段,企业数据架构的提高不应该以放弃数据仓库系统为目标;
(4)现代htap数据库,应为分布式数据库。
2、htap应用场景
正如我前面所说,htap应该带来业务和架构的创新和改进,而不仅仅是替换或性能的提高。从这个角度来看,本文认为htap的应用场景主要集中在以下两个方面:
(1)分析能力内嵌的业务系统
有了htap的能力,未来的交易型业务系统应该天生具备在业务交易方面进行分析的能力,不影响交易性能和数据的一致性。相当一部分原本需要通过数据迁移和同步在后台数据平台上完成的风险控制、营销或其他能力,可以实时迁移到业务系统方面,成为业务系统的内在功能,使其能够在一定程度上完成业务闭环,这必然是技术驱动现代业务发展的重要方向。
今后的业务系统应按照这个标准进行设计,这对于现代交易系统业务能力的转变和升级具有重要意义。
(2)以“用”为核的数据服务超市
大部分数据仓库系统是为“管理”而生的,很难在应用中享受数据红利。大多数企业都在花费大量精力建立数据仓库系统之后,大部分业务系统和人员只能通过“请求技术人员协助完成”和“将数据导入业务系统”两种方式使用数据。这种应用与数据分离的现象是大多数企业长期以来一直非常关注的痛点。
面向数据消费,在现有数据平台之上,建立以“使用”为核心、以“管理”为基础的数据服务平台,即正确解释数据中心的概念,已经成为许多企业规划和实施的关键创新和升级应用之一。与Data WareHouse不同,它是为了存储和管理,而是为了让整个企业的用户可以像超市的商品一样自由选择和消费数据(准确地说,它是为了业务整理的数据资产,因为它不是本文的重点,这里就不赘述了),从而让整个企业享受数据红利。因此,这里被认为数据服务超市更合适。但是,除了数据资产体系建立等结构和模型层面的内容之外,应该用什么样的数据库来承载这个SuperStore呢?
SuperStore面向数据消费,即要承载来自全企业的大量、高并发的服务型查询需求(QPS的TP型),还要承载大量的探索型统计分析需求(AP型),这一要求显然不是纯粹的OLAP数据库,也不是纯粹的OLTP数据库能够满足的,显然也必须是弹性分布式的。所以,过去相当一部分数据服务平台,都是采用多种类型的数据库,组合满足不同的需求而设计的。htap数据库,应该是这个场景的最佳选择。