基于参与过项目的实际经验,谈一点个人的理解:
在问题描述的业务场景中,建设具有实时查询能力的实时数仓主要是为了支持实时风控业务。在金融行业头部机构落地的大数据平台中,这种功能的实时数仓一般称为数据集市,如风控业务数据集市。其作用以支持业务系统实时查询为主,一般能达到几千甚至上万QPS。下面从技术选型、系统架构和数据架构三方面分析这种技术方案。
1、这种数据集市技术选型一般有两种,一种是基于传统OTLP数据库为核心建设,如oracle、mysql等;另一种是近年新兴的newsql数据库,如oceanbase、tidb、巨杉数据库等。两种方案比较,面对TB级海量数据,第一种方案软硬件性价比较低、管理运维较复杂;而第二种方案性价比较低、管理运维相对简单,已成为大多数新建企业级大数据平台的首选方案。
2、这种数据集市系统架构也分为ETL加载加工、数据分层存储、数据查询三个核心功能。ETL加载加工可以用传统的ETL工具或spark、flink等分布式实时计算引擎自研(我们的项目就是用基于spark引擎自研的etl工具);数据可以根据冷、热情况分层存储,并且为提升实时查询效率,一般将数据存储为宽表,按键值分布在不同的区中;数据查询可以兼容oracle、mysql sql语法。