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

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

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

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

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

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

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

收起
参与24

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

topzgmtopzgm课题专家组软件架构设计师People's Bank of China

谈点个人理解:
1)个人认为,关于实时数仓和风险监控(风险管控),实际上有许多概念需要梳理清楚。如果把许多不同层面的概念揉在一起,系统脉络和建设思路必然陷入混乱,那么系统建设容易失去方向。
2)实时数仓也是数据仓库,实时数据仓库是相对于历史数据仓库而言的。以前各个银行建设都是历史数据仓库(T+1),而实时数据仓库强调数据实时性(T+0)。
3)一般业务(应用)系统
对于一般业务(应用)系统之上补充增加一些实时分析或者实时监控模块,这样的系统和模型建立与业务(应用)系统耦合比较紧密,这样的系统和模型建立的五花八门,没有统一、更没有标准。这样的case在许多银行的许多系统都是这样。那么,一般来说,我们的风险监控(风险管控)应用按照这种模式来建设。
4)专业型数据仓库系统:
对于专业型数据仓库系统来说,传统数据仓库和大数据准实时数据仓库,在模型设计上应该是统一的、一致的,存储上应该也是统一的+差别化。
未来,传统数据仓库和大数据准实时数据仓库,在系统上必然是融合和统一的。
因为,从本质上来说:传统数据仓库和大数据准实时数据仓库之间差异就是时间粒度。但是,统一的数据模型是能够解决时间粒度问题。
5)所以,个人认为未来的数据仓库会是历史数据仓库和实时数据仓库的融合,即传统数据仓库和大数据实时数据仓库的融合。
6)再补充一点,关于历史数据仓库和实时数据仓库的存储是是"统一的+差别化"。从架构的顶层
来看是统一的,统一就是存储规划统一、架构和设计统一、对上层应用接口统一。同时,从架构
底层来看又是差异化的,结构化、半结构化、非结构化可以采用不同的存储技术来实现。

银行 · 2020-08-10
浏览3970
匿名用户 邀答

回答者

topzgm
软件架构设计师People's Bank of China
擅长领域: 数据库服务器存储

topzgm 最近回答过的问题

回答状态

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