ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Qix 数据库系统(Database System)学习路线全指南:从经典书籍、顶级课程到事务与 NewSQL 前沿论文

Qix 数据库系统(Database System)学习路线全指南:从经典书籍、顶级课程到事务与 NewSQL 前沿论文 文档教程知识库技术博客【免费下载链接】QixMachine Learning、Deep Learning、PostgreSQL、Distributed System、Node.Js、Golang项目地址https://gitcode.com/gh_mirrors/qi/Qix点击查看免费下载本指南以 Qix 仓库 db.md 为核心骨架系统梳理数据库系统领域的高质量学习资源从夯实理论基础的殿堂级书籍与名校课程到查询/优化器、存储、事务等内核关键主题再到 NewSQL 与云原生数据库的前沿论文。读完本文你将获得一条完整的数据库学习路线图知道每个阶段该读什么书、上什么课、精读哪篇论文以及每份资源的难度定位与配套阅读材料并可通过仓库内的 pg.mdPostgreSQL 资源与 ds.md分布式系统资源进一步延伸。目录导航一份数据库系统的资源地图db.md 开篇即给出完整目录九大主题依次为书籍、课程、进程管理、查询/优化器、存储、事务、共享组件、关系模型、NewSQL另有学者与其他两个补充板块。其中“进程管理”与“共享组件”两个条目在原文档中为目录占位内容在正文中未展开与《Architecture of a Database System》一书的第 2 章“进程模型”和第 7 章“共享组件”一一对应建议学习时结合该书章节自行补齐。整个文档按“理论奠基 → 系统实现 → 内核进阶 → 前沿扩展”的脉络组织下文逐一展开。一、书籍从“殿堂级巨著”到“可当词典用”的经典数据库系统学习的起点是经典书籍。db.md 共收录 5 本核心著作难度从“入门友好”到“殿堂级”分布均匀读者可以按需取用。1. 《Database System Concepts》数据库系统概念原文档定位经典书籍、数据库系统概念数据库领域的殿堂级作品。夯实数据库理论基础、增强数据库技术内功的必备之选。覆盖范围表、SQL、关系模型、事务、数据库设计、分布式、存储、索引、查询处理与优化、并发、数据库分析涉及 PostgreSQL、SQL Server。难度提示书中内容覆盖面极广、信息密度大对刚入门的学生不太适合但非常适合当作“词典”使用——遇到陌生的概念随手查阅对应的章节。配套资源官方配套书籍网站同时仓库 pg.md 中也收录了《Database System Concepts Sixth Edition》的耶鲁大学课件入口http://codex.cs.yale.edu/avi/db-book/可作为该书的在线教学配套。2. 《A First Course in Database Systems》数据库系统基础教程作者斯坦福大学 Jeffrey Ullman 等。覆盖范围关系数据模型、ER 图、约束与触发器、SQL、视图。难度定位原文档明确评价“适合入门数据库系统的同学”可作为第一条学习路径的起点在啃《Database System Concepts》之前先用它建立整体框架。配套资源斯坦福 Infoolab 课程主页http://infolab.stanford.edu/~ullman/fcdb.html。3. 《Architecture of a Database System》数据库系统架构剖析数据系统内部架构是连接“概念书”与“源码级理解”之间的桥梁也是本文后续所有内核主题的总纲。结构全书共 8 章——第 1 章概述第 2 章进程模型第 3 章并行体系结构进程和内存协调第 4 章关系查询处理器第 5 章存储管理第 6 章事务并发控制和恢复第 7 章共享组件第 8 章结束语。翻译版由厦门大学数据库实验室翻译的中文版可供对照阅读原文档提供中文版 PDF 链接。结合仓库内的 PostgreSQL 资料 pg.md其中收录了《PostgreSQL 及其代码的结构》《A Tour of PostgreSQL Internals》等内核概览文章可以按“架构总览 → 具体数据库实现”的顺序交叉学习。4. 《Readings in Database Systems, 5th Edition》数据库红宝书数据库领域“红宝书”重出江湖。5th Edition 评注版由 Peter Bailis、Joseph M. Hellerstein、Michael Stonebraker 编著距上一版十年之久内容大幅重写。时代背景Big Data 浪潮深刻影响了数据库领域传统数据库架构彻底重写书中收录了大量反映现代系统演进的关键论文。覆盖内容数据挖掘、查询优化、数据库语言等。获取方式官方站点 http://www.redbook.io/ 可直接阅读是数据库领域必看书籍。5. 《Database System Implementation》数据库系统实现作者斯坦福大学本科教材Jeffrey Ullman 等编写。覆盖内容阐述实现关系数据库系统各个层面的关键技术主要分为三部分——存储管理器、查询处理器、事务管理器的实现技术涵盖存储、Index、SQL Compiler、Optimizer、Log、事务等关键技术。难度定位理论很多、信息量大原文档明确提示“不太适合数据库入门初学者”适合有一定基础后作为实现级进阶读物英文版 PDF。学习顺序建议依原文档定位归纳入门用《A First Course in Database Systems》→ 打基础查阅《Database System Concepts》词典式→ 进阶读《Database System Implementation》→ 系统架构用《Architecture of a Database System》总览全局 → 用《Readings in Database Systems, 5th Edition》追踪前沿脉络。二、课程CMU、MIT、TUM 三门名校数据库课除了书籍原文档收录了 3 门顶级名校课程分别覆盖 OLTP/OLAP 内核、关系型数据库系统实现与分布式数据库、以及“使用 实现”双线并进的工程实践。1. CMU 15-7212018 春季Advanced Database Systems定位对现代数据库管理系统内部进行全面研究的高级课程覆盖高性能事务处理系统OLTP和大规模分析系统OLAP中的组件核心概念与基础知识。开放资料课程阅读列表、课堂笔记、课件均已开放并提供完整视频列表。仓库内联动课程内容如存储引擎、并发控制、MVCC与 db.md 中“事务”板块的 MVCC/两阶段锁论文以及 pg.md 中《PostgreSQL 锁机制分析》《MVCC 图示》等源码分析文章形成互补。2. MIT 6.830/6.814: Database Systems定位麻省理工学院数据库系统核心课程由 Samuel Madden 教授及其 DB Lab 推出。前半段关系代数、数据模型、范式、查询优化、事务等基础内容。后半段聚焦分布式数据库——如何达到数据一致性是 database 领域比较火热的研究方向。仓库内联动后半段的分布式一致性内容与仓库 ds.md 中的分布式系统资源如 Spanner、分布式算法相关材料可衔接阅读。3. TUM《Use and realization of database systems》定位德国慕尼黑工业大学开设包含“实现”和“使用”两部分。覆盖内容事务管理、错误处理、多用户同步、数据结构、请求处理、分布式数据库、OLTP/OLAP、XML、性能评估。特色课程名称本身就点明了“既会用它、又能实现它”的完整路径与《Database System Implementation》一书定位互补。三、查询/优化器SQL 如何被执行、被优化、被加速“查询/优化器”是数据库内核的 CPU 所在。db.md 在此板块收录 3 篇关键论文分别回答查询编译器怎么搭、分析型索引怎么选、索引结构能否被机器学习改造。1. 《How to Architect a Query Compiler, Revisited》SIGMOD 2018核心内容如何架构一个查询编译器——SQL 如何被执行、查询评估如何进行、如何处理并行执行、查询优化器如何工作。实践落地论文最后给出 TPC 基准测试 验证环节可用于对比不同编译/执行方案的性能表现。学习价值是理解“SQL 文本 → 逻辑计划 → 物理计划 → 执行”全链路的最佳入门论文之一。2. 《Improved Query Performance with Variant Indexes》核心洞察分析型数据库OLAP和事务型数据库OLTP需要不同的利弊权衡这种差异直接反映在索引数据结构的选择上。内容讨论了许多更适合分析型数据库的索引数据结构variant indexes对理解行存/列存场景下索引设计很有帮助。仓库内联动可结合 pg.md 中的《Discovering the Computer Science Behind Postgres Indexes》B-Tree 索引原理与《Postgres Indexes Under the Hood》阅读对比传统 B-Tree 与论文中的分析型变体索引。3. 《The Case for Learned Index Structures》核心内容Google 团队提出利用深度学习改善索引创建、提升查询效率是“机器学习 × 数据库”交叉方向的标志性论文也是后来 learned index 研究方向的源头。延伸这篇论文与仓库 dl.md机器学习/深度学习资源存在天然交叉对两个方向都感兴趣的读者可同时参照。四、事务隔离级别、并发控制与恢复的完整谱系事务是数据库正确性的基石也是 db.md 中资源最密集的板块共收录 8 项覆盖课程、标准批判、通用隔离级别定义、MVCC、无锁事务、恢复等多个维度。1. 课程《Transaction Systems》TUM慕尼黑工业大学开设的数据库事务课程内容涵盖计算模型、并发控制算法、多版本并发控制MVCC、并发控制在对象/查询结构/关系数据库中的应用、事务恢复、Page 恢复算法以及实现细节。形式以课件为主与 TUM 的“使用与实现数据库系统”课程同源配套。2. 标准层ANSI SQL 隔离级别批判与重定义两篇论文一前一后构成完整的“隔离级别标准演进史”《A Critique of ANSI SQL Isolation Levels》ANSI SQL-92 提出了最经典的隔离级别定义读未提交 Read Uncommitted、读提交 Read Committed、可重复读 Repeatable Read、可序列化 Serializable。本文指出这些 phenomena 与 ANSI SQL 定义无法正确表征几个流行的隔离级别包括不同隔离级别对应的锁实现调查了 phenomena 说明中的歧义并提出更正式的定义同时介绍了更好表征隔离类型的新 phenomena最后定义了一个重要的多版本隔离类型——快照隔离Snapshot Isolation。《Generalized Isolation Level Definitions》更进一步指出此前对隔离级别的定义重度依赖数据库的具体实现并提出与实现无关的隔离级别定义。原文档还附有对序列化的参考阅读。研究脉络从“标准定义”→“批判”→“与实现无关的形式化定义”这条线也是后来可串行化快照隔离SSI研究的理论起点。3. 实现层快照隔离与 PostgreSQL 的可串行化《Serializable Snapshot Isolation in PostgreSQL》快照隔离首先在《A Critique of ANSI SQL Isolation Levels》中被提出本文则讲述PostgreSQL 中基于 Snapshot Isolation 的可串行化实现SSI属于“理论论文 → 工业实现”的标准对照案例。仓库内联动pg.md 中也收录了同一主题的《Serializable Snapshot Isolation in PostgreSQL》arXiv 版本此外《PostgreSQL 锁机制分析》《Deadlocks in PostgreSQL》等文章可帮助你理解 PG 实现 SSI 时依赖的底层锁与死锁检测机制。4. 工业系统Google Percolator 与 Yahoo Omid《Percolator: Large-scale Incremental Processing Using Distributed Transactions and Notifications》Google 为大数据集群增量处理更新而开发的系统主要用于 Google 网页搜索索引服务。原文档给出的关键事实使用基于 Percolator 的增量处理系统替代原有批处理索引系统后Google 在处理同样数据量的文档时将文档的平均搜索延迟降低了 50%。文末附有笔记参考。《Omid》Yahoo 研发的无锁分布式事务组件在大规模分布式存储之上提供事务功能围绕 Omid 每隔一段时间发布一篇论文——分别是《Taking Omid to the Clouds》与《Omid, Reloaded: Scalable and Highly-Available Transaction Processing》FAST 2017。原文档特别建议阅读 Omid 时与 Google 的 Percolator 论文一起读二者分别代表了无锁与锁两种分布式事务思路。5. 性能方向乐观并发控制的批量与重排序《Improving Optimistic Concurrency Control Through Transaction Batching and Operation Reordering》VLDB通过事务批量和操作重排序来提高乐观并发控制OCC性能适合对并发控制算法性能优化感兴趣的读者。6. 经典书籍并发控制与恢复的“教科书”《Concurrency Control and Recovery in Database Systems》Philip A. Bernstein 等讨论数据库的并发控制和恢复覆盖序列化、两阶段锁2PL、MVCC、分布式数据恢复、数据复制——与上文课程、论文形成完整的知识闭环。五、存储面向大规模电商的 X-Engine存储板块收录 1 篇重量级工业论文《X-Engine: An Optimized Storage Engine for Large-Scale E-Commerce Transaction Processing》阿里云面向大规模流量场景设计的自研存储引擎采用分层存储的全新理念可根据数据访问频度将数据合理归位实现“快存快取”。原文档补充的事实POLARDB 基于 X-Engine构建。学习切入点分层存储冷热数据分离是现代存储引擎的通用设计思路可与《Architecture of a Database System》第 5 章“存储管理”对照理解。六、NewSQLSpanner、Aurora、TDSQL、AnalyticDB 等前沿实践NewSQL 是 db.md 中资源量最大、最能反映数据库行业前沿的板块共 8 篇论文覆盖 Google、Amazon、Microsoft、腾讯、阿里云的工业实践与学术会议VLDB论文。1. 分布式数据库的工程经验《Spanner: Becoming a SQL System》讲述 Spanner 之所以成功的工程经验——如何为一个强大的分布式数据库内核添加 SQL 支持、如何处理并发问题。文末列举两个典型案例分布式中 TOPK 问题、JOIN 随机读问题。Spanner 本身的基础论文《Spanner: Googles Globally-Distributed Database》也在原文档中给出链接可与仓库 ds.md 中收录的 Spanner 资料联动阅读。《Fast Scans on Key-Value Stores》VLDB如何构建可快速查询的 KV 存储系统讲述 KV 系统构建时的权衡该文是作者博士论文《Tell: An Elastic Database System for Mixed Workloads》的精简版。《Online, Asynchronous Schema Change in F1》F1 团队提出的安全 Schema 变更算法——先介绍 KV 存储引擎提供的接口再分析异步 Schema 变更导致的问题最后描述 F1 的 Schema 变更算法及其限制点。原文档给出两篇深度参考异步 Schema 变更 与 TiDB 的异步 Schema 变更实现——后者可作为“论文算法 → 开源实现”的对照。2. 云原生数据库存储与计算分离《Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases》Aurora 是一个 OLTP 关系型数据库。论文描述 Aurora 架构和设计考量高吞吐的数据处理瓶颈已经从计算和存储转移到了网络Aurora 主要解决多租户 scale-out、共享存储、网络瓶颈三大问题。原文档附有阅读笔记与中文解读《Amazon Aurora: 云原生关系数据库的设计》。《PushdownDB: Accelerating a DBMS using S3 Computation》利用 AWS S3 作为存储组件把 DBMS 的一些过滤、聚合、映射操作下推至 S3并得到响应结果。原文档指出利用 S3 做底层存储的思路在 AWS 的 Aurora 中已有实现。3. 自动索引与分布式数据库实现细节《Automatically Indexing Millions of Databases in Microsoft Azure SQL Database》VLDB重点讨论 Azure 的自动索引推荐系统覆盖整个过程的细节和反馈闭环附有相关笔记。《A Lightweight and Efficient Temporal Database Management System in TDSQL》VLDB详细讲述腾讯分布式数据库TDSQL的实现细节和考量是了解国产分布式数据库内核的直观材料。4. 分析与异构查询《AnalyticDB: Real-time OLAP Database System at Alibaba Cloud》VLDB阿里云构建的 OLAP 分布式计算数据库采用存储和计算分离架构与阿里基础设施服务**盘古存储和伏羲调度**深度结合。论文中有很多大胆设计例如所有列都有索引减少用户索引维护成本、读写分离读节点定时拉取、写节点主动下推。《F1 Query: Declarative Querying at Scale》VLDBGoogle 内部进行异构查询的引擎支持对各种不同文件格式、各种不同存储系统Bigtable、Spanner、Google Spreadsheets的数据进行联合查询论文主要讲述 F1 Query 的架构设计——计算存储分离、启发式查询优化等。七、关系模型与学者追踪关系模型《Course Introduction and the Relational Model》CMU 数据课程15-445 系列讲述数据库关系模型适合作为关系模型主题的课程式入门与《A First Course in Database Systems》中的关系数据模型章节互为补充。学者Daniel Abadi卡内基梅隆大学教授、HadoopDB 作者个人主页与博客质量很高。原文档特别点名两篇博文讨论事务隔离级别可与上文“事务”板块的隔离级别论文对照阅读、2 阶段提交讨论分布式事务提交协议的演进。八、其他把“清单”继续变“长”的入口最后原文档给出 3 个“清单之上的清单”帮助你持续追踪整个数据库领域《Readings in Databases》Apache Spark 作者 Reynold Xin 推荐的数据库阅读清单GitHub 项目。《Awesome Database Learning》PingCAP 维护的数据库学习资料仓库覆盖数据库理论、存储引擎、优化器、分布式数据库等主题与本文主题高度同源可作为长期学习索引。《VLDB Proceedings of the VLDB Endowment, 2019-2020》数据库顶级会议 VLDB 的投稿论文列表涵盖测试、机器学习、数据存储、查询、图、索引、大数据等领域——它是保持知识前沿性的最佳“雷达”。九、仓库内延伸从“数据库系统”到 PostgreSQL 与分布式系统db.md 是 Qix 仓库数据库学习资源体系中的一环。若想将本文的通用理论落到具体系统上仓库还提供了两条直接的延伸路径PostgreSQL 专项阅读 pg.md其中收录了 PostgreSQL 源码分析系列内存上下文、锁机制、FSM、Page、Shared Buffer、MVCC 图示、官方文档入口、中文翻译文档、连接池PGBouncer、pgpool-II、备份恢复Barman、pgBackRest、逻辑复制pglogical、BDR、查询处理源码分析含“SELECT 语句如何走完 PG 内部”一文以及性能调优PGtune、EXPLAIN 可视化工具等大量资料恰好与本文书籍/事务/NewSQL 各板块的论文形成“理论—实现”对照。分布式系统专项阅读 ds.md其中收录了 CAP 定理MIT Nancy Lynch、Google Spanner、分布式算法Paxos 的 PG 实践 pg_paxos 等等资料可与本文 NewSQL 板块的 Spanner、Percolator 论文衔接。建议的完整学习闭环是书籍/课程建立全局框架db.md 前三节→ 论文深入内核主题查询/事务/存储→ 用 PostgreSQL 源码分析验证实现细节pg.md→ 用分布式系统资料补齐横向视野ds.md→ 用 VLDB 论文列表持续追踪前沿。结语数据库系统是一门“理论 工程”并重的学科。本文以 Qix 仓库 db.md 为骨架将其九大主题板块完整展开从 5 本经典书籍、3 门名校课程到查询优化、事务隔离、存储引擎、NewSQL 等数十篇论文与配套资源并标注了每份资源的难度定位、核心内容与交叉阅读建议。无论你是刚入门的学生、准备面试的工程师还是想系统精进内核的研究者都可以按图索骥把这份清单变成自己的学习路线。赞分享文档教程知识库技术博客【免费下载链接】QixMachine Learning、Deep Learning、PostgreSQL、Distributed System、Node.Js、Golang项目地址https://gitcode.com/gh_mirrors/qi/Qix点击查看免费下载相关推荐awesome-cpp 精选书单全解从 C 到 C 的系统学习路线与经典教材导读awesome cpp 精选书单全解从 C 到 C 的系统学习路线与经典教材导读 本篇技术指南以 awesome cpp 仓库的核心资源文档 books.文档教程Easy RL 蘑菇书经典强化学习论文研读指南从 DQN 到多智能体的全景路线图Easy RL 蘑菇书经典强化学习论文研读指南从 DQN 到多智能体的全景路线图 导读 本文是 Datawhale《Easy RL》开源仓库蘑菇书中人工智能强化学习深度学习教程机器学习初学者学习路线指南python-machine-learning-book 仓库 FAQ 推荐的课程与书籍路径机器学习初学者学习路线指南python machine learning book 仓库 FAQ 推荐的课程与书籍路径 本文基于 python machine机器学习教程上一篇Equalizer APO系统级音频均衡全攻略下一篇Meshery Traefik Mesh 适配器基于 gRPC 10006 端口管理 Traefik Mesh 服务网格创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表