冰山,正确的想法 - 错误的规格 - 两部分中的第 1 部分:历史

主要观点:

  • 标准很重要,但当前的 Iceberg 存在设计缺陷,可能会引发类似 HADOOP 式的灾难。
  • 数据库的存储引擎能解决文件系统难以解决的一系列问题,如控制碎片、解决行与块之间的阻抗不匹配等。
  • 云的出现并未改变这些问题,反而使处理更困难,对象存储存在诸多问题,如性能不佳、增加复杂性等。
  • 数据库及存储引擎在历史发展中存在一些问题,如大型供应商对客户数据的锁定等,ODBC 等标准虽出现但仍有不足。
  • 云分析中利用缓存等方式可提供高速数据访问的假象,但存在问题,Parquet 作为开放标准数据格式有其优势,元数据虽小但很重要,开源数据库也在发展。

关键信息:

  • 详细阐述了文件系统与数据库存储引擎的差异及各自问题,如文件系统不适合存储大量文件、存在并发和锁定问题等,数据库则能解决这些问题。
  • 介绍了对象存储的发展及存在的问题,如 HTTP 接口不适合高速数据修改等。
  • 讲述了数据库及存储引擎在历史上的发展历程,包括大型供应商对客户的锁定、ODBC 等标准的出现及局限性等。
  • 重点介绍了 Parquet 作为开放标准数据格式的特点及优势,以及元数据在大数据系统中的重要性。

重要细节:

  • 1980 年代各种字符集编码混乱,近期又重新发明新的标记语言。
  • 文件系统的常见结构及与数据库存储方式的差异,如数据库可将多行数据存储在单个文件中以平衡文件数量和元数据开销。
  • 数据库在处理行与块的阻抗不匹配、并发和锁定、原子性等方面的优势,如使用快照和锁解决冲突问题。
  • 不同文件系统如 Btrfs 和 ZFS 尝试模仿数据库解决碎片问题但未进入主流。
  • 数据库在临时空间管理、压缩、检测比特错误等方面的优化。
  • 云供应商采用对象存储的原因及存在的问题,如 HTTP 接口不适合高速数据修改,对象存储增加客户端复杂性等。
  • ODBC 作为开放标准的局限性,Java 的 JDBC 和微软的 ADO.NET 等变体的出现。
  • 云分析中利用缓存提供高速数据访问假象,以及 DataBricks、Snowflake 等在云分析市场的主导地位。
  • Parquet 作为开放标准数据格式的特点,如压缩性能、可被多个供应商读取等,以及元数据的特点和重要性。
阅读 11
0 条评论