【摘要】 CarbonData将存储和计算逻辑分离,通过索引技术让存储和计算物理上更接近,提升CPU和IO效率,实现超高性能的大数据分析。以CarbonData为融合数仓的大数据解决方案,为金融转型打造新一代数仓引擎。

金融领域随着数据与日俱增(如国内某大行,平均3亿笔业务/天,峰值6亿/天);业务驱动下的数据分析灵活性要求越来越高,不同业务的数据分系统构建,导致冗余严重,缺乏高效、统一的融合数仓,阻碍企业快速转型。如何对浪涌式的数据进行整合分析,发挥最大价值,金融机构对数据的处理提出了相应诉求具体表现如下:

第一,数据统一存储:为了节约成本,企业希望一份数据支持多种使用场景;减少数据孤岛和冗余,通过数据共享产生更大价值。

第二,高效:金融业务数据分析要求越来越高效、实时。

第三,易集成:提供标准接口,新的大数据方案与企业已采购的工具和IT系统要能无缝集成,支撑老业务快速迁移。

第四,大集群:区别于以往的单机系统,企业客户希望新的大数据方案能应对日益增多的数据,随时可以通过增加资源的方式横向扩展,无极扩容。

第五,开放生态:通过开源开放,让更多的客户和合作伙伴的数据连接在一起,发挥更大的价值。

存储和计算逻辑分离,开发CarbonData创新项目,满足上述诉求

华为针对上述典型诉求,从2013年开始调研分析业界大数据方案,发现每种技术都只能解决某种场景的诉求,不能同时满足上述的所有诉求,如:MPP数据库技术不能有效与Hadoop生态集成,数据不能统一共享存储;搜索类技术提升了性能,但是数据膨胀很大,不支持标准SQL、不能兼容老的业务,这促使了华为着手开发CarbonData项目。整个大数据时代的开启,可以说是源自于Google的MapReduce论文,他引发了Hadoop开源项目以及后续一系列的生态发展。他的“伟大”之处在于计算和存储解耦的架构,使企业的部分业务(主要是批处理)从传统的垂直方案中解放出来,计算和存储可以按需扩展极大提升了业务发展的敏捷性,让众多企业普及了这一计算模式,从中受益。CarbonData借鉴了这一理念,存储和计算逻辑上分离,通过索引技术让存储和计算物理上更接近,提升CPU和IO效率,实现超高性能的大数据分析:

列式存储:高效的列式数据组织,区别于行存,可以实现列裁剪和过滤下压,使OLAP查询性能更高。同时,CarbonData针对明细数据查询实现了深度优化,在需要返回所有列的场景下性能优于其他列存方案。

丰富的索引支持:支持全局多维索引、文件索引、Min/Max、倒排索引等多种索引技术,从表级,文件级,列级等多个层级逐级快速定位数据,避免SQL-on-Hadoop引擎常见的“暴力扫描“,从而大幅提升性能,实现十年数据秒级响应, 三百维字段任意组合查询。

全局字典编码:除了常见的Delta、RLE、BitPacking等编码外,CarbonData应用了全局字典编码来实现免解码的计算,计算框架可以直接使用经过编码的数据来做聚合,排序等计算,这对需要做跨节点数据交换的业务来说性能提升非常明显(3倍以上)。

自适应类型转换:CarbonData针对分析型应用中大量使用的数值类型(Double/Decimal/Numeric/BigInt)实现存储内数据类型转换,配合列式数据压缩,使得压缩非常高效,数据压缩率基于应用场景不同一般在2到8之间。

标准SQL兼容:在SparkSQL基础上,支持标准SQL99/2003/存储过程语法,TPC-DS标准测试用例全部无修改运行通过;支持数据批量更新、删除,适用于OLAP场景下数据的周期性刷新,例如拉链表更新、维表数据同步。

数据生态集成:支持与Hadoop、Spark等大数据生态系统集成,支持和商业BI工具无缝对接。既满足传统数仓、数据集市、BI应用要求,也提供大数据生态丰富多样的API支持,覆盖从GB级到EB级应用。

开源开放: CarbonData于2016年6月3日全票通过进入大数据领域全球最大的开源社区Apache,目前特性贡献来自于华为、Intel、Talend、Ebay、Inmobi、阿里、美团、乐视、滴滴等公司资深架构师和开发人员。

以CarbonData为融合数仓的大数据方案为金融转型打造新一代数仓引擎

1)XX银行针对交易流水记录做审计业务,针对140亿的大数据量,老的方案经过多次优化查询仍需700多秒且系统不稳定,采用了CarbonData方案后平均性能提升10+倍,分行的明细查询平均在10秒内。

2)XX银行的行长手机项目(亿级数据),行长可通过手机终端随时查询各分行利润、营收报表等,客户原有系统查询需要等待10秒以上,采用了CarbonData方案后,平均性能提升了4-10倍,且支持数据线性增加,查询性能保持在小于3秒。

华为将依托社区开发模式,通过开放、共赢的方式,推动大数据技术生态持续发展,为金融业务转型,打造高性能多业务融合部署的新一代数仓引擎,为客户快速创造价值。

作者:EI技术布道师-陈亮

CarbonData:大数据融合数仓新一代引擎相关推荐

  1. 【博学谷学习记录】超强总结,用心分享|大数据之数仓分层

    数仓是什么? 数据仓库,简称数仓,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合.它是单个数据存储,出于分析性报 ...

  2. 大数据---离线数仓实战项目(四)

    离线数仓实战---网站流量日志分析系统 一.模块开发---数据生成模块 1.1.目标数据 1.1.1.页面数据 1.1.2.事件数据 1.1.3.曝光数据 1.1.4.启动数据 1.1.5.错误数据 ...

  3. 大数据之数仓基石Hive3.1.2实战

    大数据数仓基石-Hive Hive3.1全解析 === 楼兰 === 文章目录 一.关于Hive 1.Hive是什么 2.Hive的适用场景 3.Hive的整体架构 4.为什么要用Hive而不用关系型 ...

  4. 【博学谷学习记录】超强总结,用心分享| 大数据之数仓及Hive介绍

    文章目录 前言 一.数据仓库介绍 (一) 数据仓库的基本概念 (二)数据仓库的主要特征 (三)数据仓库与数据库的区别 二.Hive的概念 (一)Hive的介绍 (二)Hive的架构 (三)Hive与传 ...

  5. 每天和琦琦学点新知识_大数据_数仓分析

    数仓分析 ShopXO免费开源商城系统.国内领先企业级B2C免费开源电商系统,包含PC.h5.微信小程序.支付宝小程序.百度小程序.头条&抖音小程序.QQ小程序.APP.多商户,遵循MIT开源 ...

  6. 大数据方案-数仓建设

    阿里云方案 基于阿里云日志服务实现,拉取阿里云日志到本地数据库存储. 优点:实施速度快. 缺点:依赖阿里云日志服务,扩展性和灵活性较差. 自研方案 前端.云端.Nginx等不同格式的日志发送到Kafk ...

  7. 阿里十年经验输出,大数据平台“数加”的前世今生

    2016 年1月20日,在云栖大会上阿里云发布了一站式大数据平台"数加",该平台集合了阿里巴巴十年的大数据能力以及上万名工程师实战检验,该平台是一站式的解决方案,首批亮相20款产品 ...

  8. 《大数据》2015年第3期“网络大数据专题”——大数据时代的互联网分析引擎...

    大数据时代的互联网分析引擎 窦志成,文继荣 (中国人民大学信息学院大数据管理与分析方法研究北京市重点实验室 北京 100872) 摘要:随着互联网尤其是移动互联网的高速发展,互联网文档的数量.内容的丰 ...

  9. 2 大数据电商数仓项目——项目需求及架构设计

    2 大数据电商数仓项目--项目需求及架构设计 2.1 项目需求分析 用户行为数据采集平台搭建. 业务数据采集平台搭建. 数据仓库维度建模(核心):主要设计ODS.DWD.DWS.AWT.ADS等各个层 ...

最新文章

  1. 2015 Multi-University Training Contest 1 - 10010 Y sequence
  2. MVC Filter自定义异常(拦截)
  3. Appium定位元素的几种方法总结
  4. 栈的应用就进匹配_笔记
  5. R3Injector实例里的records map的填充逻辑
  6. SpringBoot学习笔记(8):事物处理
  7. 机器学习笔记(一) : 线性建模——最小二乘法
  8. python中字符集
  9. python越来越慢_为什么我的算法越来越慢?
  10. android多击事件_Android中的多击事件
  11. DE14 Interpretation of the Exceptional Case: Resonance
  12. Wcf传递的参数实际不为空,但是接收时显示为空。
  13. python unpack java,Java中的python struct.unpack - java
  14. python变量及数据类型
  15. MATLAB输出格式控制 %d,%f,%c,%s的用法
  16. FI和MM集成自动记账-采购收货发票校验业务-OBYC
  17. js判断数据类型常用的四种方法
  18. 像素、分辨率、帧率、码率、清晰度的区别
  19. 关于程序员背景做公众号的想法
  20. 导致SSL证书出错的原因

热门文章

  1. vgp虚拟路面_长安大学工程机械国家虚拟仿真实验教学中心|公路路面摊铺施工虚拟仿真实验|...
  2. python paramiko并发_python学习笔记9--paramiko模块、多线程、锁机制
  3. python找到文件夹下指定文件_python实现在目录中查找指定文件的方法
  4. html5 动态3d箭头,HTML5旋转的3D镐 | 箭头
  5. win10 安装docker流程_Windows10下安装Docker的步骤图文教程
  6. [BZOJ3676][Apio2014]回文串
  7. Redis 处理客户端连接的一些内部实现机制
  8. ubuntu14.04安装hadoop2.7.1伪分布式和错误解决
  9. tomcat 更新class自动重启
  10. 如何在 JavaScript 中实现拖放