Facebook数据仓库揭秘:RCFile高效存储结构本文介绍了Facebook公司数据分析系统中的RCFile存储结构,该结构集行存储和列存储的优点于一身,在MapReduce环境下的大规模数据分析中扮演重要角色
Facebook曾在2010ICDE(IEEEInternationalConferenceonDataEngineering)会议上介绍了数据仓库Hive
Hive存储海量数据在Hadoop系统中,提供了一套类数据库的数据存储和处理机制
它采用类SQL语言对数据进行自动化管理和处理,经过语句解析和转换,最终生成基于Hadoop的MapReduce任务,通过执行这些任务完成数据处理
图1显示了Hive数据仓库的系统结构
图1Hive数据仓库的系统结构基于MapReduce的数据仓库在超大规模数据分析中扮演了重要角色,对于典型的Web服务供应商,这些分析有助于它们快速理解动态的用户行为及变化的用户需求
数据存储结构是影响数据仓库性能的关键因素之一
Hadoop系统中常用的文件存储格式有支持文本的TextFile和支持二进制的SequenceFile等,它们都属于行存储方式
Facebook工程师发表的RCFile:AFastandSpaceefficientDataPlacementStructureinMapReducebasedWarehouseSystems一文,介绍了一种高效的数据存储结构——RCFile(RecordColumnarFile),并将其应用于Facebook的数据仓库Hive中
与传统数据库的数据存储结构相比,RCFile更有效地满足了基于MapReduce的数据仓库的四个关键需求,即Fastdataloading、Fastqueryprocessing、Highlyefficientstoragespaceutilization和Stro