为了保证时效性,实时数仓的数据存储技术应该如何选择?

银行业一般会用实时数仓做风控类相关业务,对于数据查询的时效性要求较高。现有的hive是无法满足快速返回查询要求的。那么请问业界是否有已落地的较好的解决方案?比如impala、presto或者使用MPP数据库?如果有,还望告知下大概的执行效率是如何的,满足了哪些业务需求,感激~另外,对...显示全部

银行业一般会用实时数仓做风控类相关业务,对于数据查询的时效性要求较高。

现有的hive是无法满足快速返回查询要求的。那么请问业界是否有已落地的较好的解决方案?比如impala、presto或者使用MPP数据库?如果有,还望告知下大概的执行效率是如何的,满足了哪些业务需求,感激~

另外,对于数据的使用,存在多表关联,那么一些不适合多表关联的存储引擎,HBASE、ES这类我们已经先排除掉了。

0909更新:
目前较优解决方案:历史数据使用传统hive+impala,实时数仓使用kudu+impala

补充一下需求:
1.其实如一些回答说的,理想上的实时数仓,应该是一个流处理的不落地的过程,但是我们根据业务的部分需要,会将抽取、加工好的部分事实数据供做它用,其实从这里可以看到已经有实时+历史数仓的样子的。
2.我们已有数据仓库(hive),作为存量t+1数据存放。因此也是想找一个,是基于大数据平台的存储技术(考虑到易于扩容等因素),当然也有考虑过传统关系型数据库,但结合需求1,可能未来更想找到一个合适的技术,来将实时+历史的数仓统一存放,既有一定的OLAP效率,又有实时查询能力。

收起
参与24

查看其它 6 个回答xclu_csdc的回答

xclu_csdcxclu_csdc软件开发工程师csdc

基于参与过项目的实际经验,谈一点个人的理解:

在问题描述的业务场景中,建设具有实时查询能力的实时数仓主要是为了支持实时风控业务。在金融行业头部机构落地的大数据平台中,这种功能的实时数仓一般称为数据集市,如风控业务数据集市。其作用以支持业务系统实时查询为主,一般能达到几千甚至上万QPS。下面从技术选型、系统架构和数据架构三方面分析这种技术方案。

1、这种数据集市技术选型一般有两种,一种是基于传统OTLP数据库为核心建设,如oracle、mysql等;另一种是近年新兴的newsql数据库,如oceanbase、tidb、巨杉数据库等。两种方案比较,面对TB级海量数据,第一种方案软硬件性价比较低、管理运维较复杂;而第二种方案性价比较低、管理运维相对简单,已成为大多数新建企业级大数据平台的首选方案。

2、这种数据集市系统架构也分为ETL加载加工、数据分层存储、数据查询三个核心功能。ETL加载加工可以用传统的ETL工具或spark、flink等分布式实时计算引擎自研(我们的项目就是用基于spark引擎自研的etl工具);数据可以根据冷、热情况分层存储,并且为提升实时查询效率,一般将数据存储为宽表,按键值分布在不同的区中;数据查询可以兼容oracle、mysql sql语法。

软件开发 · 2020-08-11
浏览3815

回答者

xclu_csdc
软件开发工程师csdc
擅长领域: 大数据数据湖存储

xclu_csdc 最近回答过的问题

回答状态

  • 发布时间:2020-08-11
  • 关注会员:8 人
  • 回答浏览:3815
  • X社区推广