在 Codd 中我们信任(或不信任)

  • 2024 年 6 月 17 日,提到 Ted Codd 介绍关系模型的论文开篇观点:未来大数据银行用户应免受机器内部数据组织方式的影响,即数据库的逻辑模式和物理模式应分离,关系模型因其高抽象层次能较好实现这一点,需有复杂查询规划器以解耦“检索内容”和“检索方式”。
  • 有人认为对于非性能敏感系统,保持查询聚焦语义意义很好,但 Nelson Elhage 认为有性能和可预测性要求的系统更希望减少查询“魔法”,不能随意优化用户写的内容,以免变糟。
  • 奇怪的是编译器有“优化级别”标准,而数据库中未见类似,虽不同数据库用于不同目的,但一些灵活的数据库应在查询优化时有不同程度的攻击性,目前多数系统未暴露此类设置。
  • 虽强调“声明式”好,但实践中并非如此,成熟数据库可通过保留旧版本查询优化器来降低风险,查询优化是混沌且有风险的过程,需权衡利弊。
  • 作者未见过 Codd,但想象中他会不满人们指定声明式 SQL 查询的运行方式,数据库是计算中多种理念的综合,在“智能”解决问题和按指令执行之间存在权衡,如今的数据库在这两方面做得不够好。
阅读 12
0 条评论