面向分布式数据库的HTAP研究与实现
2021-05-18景苌弘刘文洁高锦涛裴欧亚
景苌弘, 刘文洁, 高锦涛, 裴欧亚
(西北工业大学 计算机学院, 陕西 西安 710072)
OLTP系统以小的事务以及小的查询为主,系统评估主要看其每秒执行的Transaction以及Execute SQL的数量。一般而言,单个数据库每秒处理的Transaction往往超过几百个,或者是几千个,Select 语句的执行量每秒几千甚至几万个。
OLAP系统也叫DSS决策支持系统,即数据仓库。由于一条语句的执行时间可能会非常长,读取的数据也非常多,所以不采用执行量作为考核标准,考核的标准通常是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。
HTAP数据库(hybrid transaction and analytical process,混合事务和分析处理)是Gartner在2014年提出的新型应用程序框架,打破了OLTP和OLAP之间的隔阂,既可以应用于事务型数据库场景,亦可以应用于分析型数据库场景,实现实时业务决策。这种架构可以避免繁琐且昂贵的ETL操作,而且可以更快地对最新数据进行分析,从而成为企业的核心竞争力之一。
虽然OLTP和OLAP的考核标准不一样,但2种业务都是金融的核心需求,特别是在大数据背景下,如果能基于相同的数据存储运行2种业务,将大大降低构建OLAP数据仓库的成本,提高数据的应用价值。
CBase是西北工业大学和交通银行自主研发的面向金融应用的分布式关系数据库[1],基于阿里巴巴的分布式数据库OceanBase,已经在交通银行上线应用。目前CBase主要面向OLTP业务,不支持OLAP业务。因此针对历史数据的查询、分析及统计则需要重新进行数据的导入导出,利用其他分析引擎如Spark进行分析统计。为了更好地支持分析业务,并复用现有的存储引擎,需要研究在CBase之上添加OLAP的查询引擎,为分析业务提供支持。……
