系统与数据库2018db.cs.berkeley.edu编辑精选
数据库系统架构
Architecture of a Database System (2007)
入门 · 约 90 分钟读完前置知识:关系型数据库基础、操作系统基础
导读
这是一篇经典的数据库系统架构综述(2007 年,Berkeley),系统性地拆解一个数据库管理系统的主要组件——进程模型、存储管理、缓冲区池、事务与并发控制、查询处理与执行等,是理解关系型数据库内部结构的入门级权威文献。评论指出它常被视为"参考架构",但也有人批评这种以缓冲池为中心的经典范式限制了人们对数据库的想象。
HN 关注点:这是数据库领域的必读经典,HN 读者围绕它补充了红皮书、CMU 课程、FaunaDB 查询流程等延伸资料,并争论"经典参考架构是否已成为创新的桎梏"。
后来怎么样
成为数据库系统课程的经典参考架构文献,被广泛用作理解 DBMS 内部结构的入门教材,也引发了关于经典架构是否束缚创新的持续讨论。
HN 评论精选
这几条评论里:质疑 1 补充 3
补充推荐 redbook 作为进阶阅读合集
一个更深入的资源是 databases 领域的 readings 合集(redbook):http://www.redbook.io/
craigkerstiens查看英文原文
A great deeper resource is the readings in databases collection (redbook) - http://www.redbook.io/
质疑批评经典参考架构束缚创新,认为有无缓冲池不应成为数据库的定义标准
另外相关的一篇:http://www.bailis.org/blog/how-to-make-fossils-productive-again/ 其中有一段精彩的引文:"杀掉参考架构,重新思考我们对『数据库』的概念。那篇题为《Architecture of Database System》的文章应当被视为有害的。一个系统如果没有缓冲池,它仍然可以是数据库;事实上,我不想再读任何带缓冲池的『数据库』论文了。相反,我更希望你用一个激进的、全新的(且有用的!)数据管理平台构想震撼我。"
fizwhiz查看英文原文
Also relevant: http://www.bailis.org/blog/how-to-make-fossils-productive-again/ Choice quote from there: > Kill the reference architecture and rethink our conception of “database.” The article titled “Architecture of Database System” should be considered harmful. If a system doesn’t have a buffer pool, it can still be a database, and, in fact, I’d prefer not to read any more papers on “databases” that have buffer pools. Instead, I’d prefer you shock me with your radical, new (and useful!) conception of a data management platform.
补充推荐 CMU 高级数据库系统课程视频
CMU 的 Advanced Database Systems 课程讲座也非常好:https://www.youtube.com/playlist?list=PLSE8ODhjZXjYplQRUlrgQKwIAV3es0U6t
jaswilder查看英文原文
The CMU Advanced Database Systems lectures are also really good: https://www.youtube.com/playlist?list=PLSE8ODhjZXjYplQRUlrgQKwIAV3es0U6t
补充补充 FaunaDB 中分布式查询数据流的现代案例
如果你对一次查询的生命周期感兴趣,但想看现代分布式数据库版本,我同事在 Fauna 写的这篇博客展示了一个全球分布式事务数据库的数据流:https://blog.fauna.com/the-life-of-a-faunadb-query
jchrisa查看英文原文
If you are interested in the life of a query but in a modern distributed database, this blog post from my colleague at Fauna illustrates the data flow of a global transactional database https://blog.fauna.com/the-life-of-a-faunadb-query
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2018Hacker News 讨论帖210 分 · 13 评
同领域还值得读
I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象
I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions
指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。
系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选使用 io_uring 的高效 I/O
Efficient IO with io_uring
由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。
系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选线程对大多数用途而言是个坏主意(1995)
Threads Are a Bad Idea for Most Purposes (1995)
这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。
系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选学习型索引结构之论证
The Case for Learned Index Structures
提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…
系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选FoundationDB:一个分布式、解耦的事务型键值存储
FoundationDB: A distributed, unbundled, transactional key value store
介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。
系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选