Apache CarbonData:大数据生态一种新的高性能数据格式

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

Apache CarbonData是一种新的高性能数据存储格式,针对当前大数据领域分析场景需求各异而导致的存储冗余问题,CarbonData提供了一种新的融合数据存储方案,以一份数据同时支持“任意维度组合的过滤查询、快速扫描、详单查询等”多种应用场景,并通过多级索引、字典编码、列存等特性提升了IO扫描和计算性能,实现百亿数据级秒级响应。CarbonData是由华为开源贡献到Apache基金会的大数据项目,致力于推动大数据开源生态技术的发展。

Apache CarbonData:大数据生态一种新的高性能数据格式

随着数据与日俱增,业务驱动下的数据分析灵活性要求越来越高,不同场景的数据分业务系统而构建,导致冗余严重,缺乏高效、统一的融合数仓,阻碍企业快速转型。

企业典型的诉求总结如下:

  • 第一,数据统一存储:为了节约成本,企业希望一份数据支持多种使用场景;减少数据孤岛和冗余,通过数据共享产生更大价值。
  • 第二,高效:数据分析要求越来越高效、实时。
  • 第三,易集成:提供标准接口,新的大数据方案与企业已采购的工具和IT系统要能无缝集成,支撑老业务快速迁移。
  • 第四,大集群:区别于以往的单机系统,企业客户希望新的大数据方案能应对日益增多的数据,随时可以通过增加资源的方式横向扩展,无极扩容。
  • 第五,开放生态:通过开源开放,让更多的客户和合作伙伴的数据连接在一起,发挥更大的价值。

华为针对上述典型诉求,从2013年开始调研分析业界大数据方案,发现每种技术都只能解决某种场景的诉求,不能同时满足上述的所有诉求,如:并行数据库技术不能有效与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和API:在SparkSQL基础上,支持标准SQL99/2003;支持数据批量更新、删除,适用于OLAP场景下数据的周期性刷新,例如拉链表更新、维表数据同步。提供JDBC/ODBC连接,支持与BI工具无缝对接;兼容Spark DataFrame/DataSet,支持复杂分析应用。

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

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


本文作者:佚名

来源:51CTO

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
SQL Apache 分布式计算
Apache Carbondata on Preto
1.download apache carbondata - 1.5.3apache carbondata - 1.5.4apache spark - 2.3.2apache hadoop - 2.7.
1252 0
|
消息中间件 Kafka 流计算
Apache Carbondata接入Kafka实时流数据
1.导入carbondata依赖的jar包 将apache-carbondata-1.5.3-bin-spark2.3.2-hadoop2.7.2.jar导入$SPARKHOME/jars;或将apache-carbondata-1.
1680 0
|
2月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
42 1
|
5天前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
23 3
|
1月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
|
2月前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
156 2
|
2月前
|
消息中间件 分布式计算 Hadoop
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
43 3
|
2月前
|
消息中间件 运维 Kafka
Apache Flink 实践问题之达到网卡的最大速度如何解决
Apache Flink 实践问题之达到网卡的最大速度如何解决
43 2

推荐镜像

更多