Lance v2:用于现代数据的列式容器格式

主要观点:介绍 Lance v2 格式的原因及特点,旨在解决现有列格式在处理 AI/ML 工作负载时的效率问题。
关键信息

  • 因现有列格式在处理 AI/ML 工作负载时效率不高而发明 Lance,v1 已解决部分问题但仍有不足,其他格式也存在类似问题。
  • 列举了 Lance v2 要解决的各种用例,如点查找、宽列、超宽模式、灵活编码、灵活元数据等。
  • Lance v2 格式的特点包括:编码由扩展处理,无类型系统,便于添加新编码;废除行组,可获得最大数据页且减少内存缓冲;具有灵活性,列长度可不同,支持“真正”的列投影等。
    重要细节
  • 点查找时 Parquet 编码不易切片,ML 工作负载中值大,合并困难。
  • 宽列中 ML 工作负载值大,传统数据库列较小,Parquet 选好行组大小难。
  • 超宽模式下 Parquet 读者在处理宽模式时性能不佳。
  • Lance v2 编码通过插件实现,新编码无需修改文件格式等。
  • 废除行组可避免行组大小带来的各种问题,实现 I/O 和计算的解耦。
  • Lance 列长度可不同,可灵活选择数据、元数据存储位置,统计信息作为编码元数据。
  • 目前有初始实现,性能与最佳 Parquet 读者相当,欢迎提供更多用例、测试基准等帮助。
阅读 128
0 条评论