Apache CarbonData介绍 for 暑期2021
随着数据量的增大,如果基于传统的数据存储解决方案,即使用不同的数据库产品来分别处理不同业务类型,势必会带来成本和运维的巨大压力。以互联网行业用户行为数据为例,随着5G+AI的到来,数据量正呈现快速增长趋势,目前对于一个日活1000万的APP应用来说,平均每天约产生500亿条用户行为数据,一年的数据存储量约10PB。PB级别数据可以满足不同类型业务的需求,如明细查询类业务:用户行为查询、订单查询、交易查询;聚合分析类业务:A/B Test、聚合分析;ELT类业务:热销榜、PV/UV等。
面对以上大数据问题和挑战,Apache CarbonData实现了一种高性能融合的大数据存储方案,针对当前大数据领域分析场景需求各异而导致的存储冗余问题,业务驱动下的数据分析灵活性要求越来越高,CarbonData提供了一种新的融合数据存储方案,以一份数据同时支持多种应用场景。CarbonData通过索引等加速技术让存储和计算物理上更接近,从而提升CPU和IO效率,实现万亿数据分析秒级响应。
CarbonData关键技术点有:
- 一份数据支持多种应用场景:既可支持数据分析,也可做机器学习,做到一份数据满足多种应用场景需求,即数据的融合存储。
- 万亿级数据上的多级索引加速,秒级响应:粗粒度索引、高维索引、Min/Max、倒排索引、全局字典。
- 内存向量化计算:CPU和IO操作分离实现预读和流水线操作,实现列式数据大吞吐处理能力。
- 灵活预聚合,无需建模,多维分析秒级响应:与传统BI系统的CUBE方案最大区别是,用户不需要预先进行Cube建模以及修改任何SQL语句,既可加速OLAP分析性能;支持针对时间序列的预汇聚,Rollup操作。
- 可计算的压缩编码:除了常见的Delta,RLE,Dictionary等编码方式外,CarbonData支持全局字典编码来实现免解码的计算,计算框架可以直接使用经过编码的数据来做聚合,排序等计算,这对需要大量shuffle的查询来说性能提升非常明显。
- 支持流式入库,实时数据分析。
- 支持标准SQL语法做批量数据更新,删除,数据合并:CarbonData是HDFS分布式存储上首个支持数据更新和删除的数据存储,满足用户对融合数据进行有效管理的需求,避免其它类HDFS数据变化后,需要重新导入的Cost。
CarbonData是由华为开源的,于2016年6月3日全票通过进入全球最大的开源社区Apache,2017年4月19日从Apache社区毕业正式成为顶级开源项目。
与大数据生态Apache Hadoop, Apache Spark,Apache Hive, Presto等开源软件可无缝集成。
开源代码地址:https://github.com/apache/carbondata
开源社区官网:carbondata.apache.org
- 点赞
- 收藏
- 关注作者
评论(0)