Delta Lake:云对象存储上的高性能ACID表存储
摘要
像Amazon S3这样的云对象存储是地球上最大、最具成本效益的存储系统之一,这使人成为存储大型数据仓库和数据湖的诱人目标。不幸的是,它们作为键值存储的实现很难实现ACID事务和高性能:元数据操作(如列出对象)成本很高,一致性保证也很有限。在本文中,我们介绍了Delta Lake,一种最初由Databricks开发的云对象存储之上的开源ACID表存储层。Delta Lake使用压缩成Apache Parquet格式的事务日志,为大型表格数据集提供ACID属性、时间旅行和显著加快的元数据操作(例如,快速搜索数十亿个表分区以查找与查询相关的分区)。它还利用这种设计来提供高级功能,如自动数据布局优化、upserts、缓存和审计日志。Delta Lake表可以从Apache Spark、Hive、Presto、Redshift和其他系统访问。Delta Lake部署在Databricks的数千个客户中,每天处理eb级的数据,最大的实例管理eb级的数据集和数十亿个对象。