25. 应用数据的存储

操作系统为我们的应用程序提供了多种持久化控制的机制,包括 fsync 系列 API。在此基础上,我们可以在应用程序中实现更为可靠、更为可用的数据存储方法。

本讲内容:数据库系统的设计原理与实现技术。

25.1 关系代数、SQL 和数据库 🌶️

💬
Prompt: 为什么关系型数据库不能 scale 到国民级体量的应用?

25.2 关系数据库:实现 🌶

25.3 不用关系的数据库 🌶

25.3 总结

Take-away messages: 在操作系统为我们提供的文件、目录、网络 API 上,开发者可以自由地创建更多、更复杂、更可靠的系统。我们看到了关系数据库的兴起,看到了云计算时代下 NoSQL 的繁荣,和今天的 AI 时代——在这几波浪潮之间,虽然操作系统内核的实现发生了巨大的变化,但操作系统的 API 相当惊人地稳定,这种 “稳定性” 支撑了应用生态的繁荣,这也是操作系统作为 “平台” 的使命。

📚阅读材料

教科书 Operating Systems: Three Easy Pieces:

  • 第 48 章 - Distributed Systems
  • 第 49 章 - Network File System (NFS)
  • 第 50 章 - Andrew File System (AFS)