├── README.md ├── notes ├── 01-introduction.pdf ├── 02-advancedsql.pdf ├── 03-storage1.pdf ├── 04-storage2.pdf ├── 05-bufferpool.pdf ├── 06-hashtables.pdf ├── 07-trees.pdf ├── 08-indexconcurrency.pdf ├── 09-sorting.pdf ├── 10-joins.pdf ├── 11-queryexecution1.pdf ├── 12-queryexecution2.pdf ├── 13-optimization1.pdf ├── 14-optimization2.pdf ├── 15-concurrencycontrol.pdf ├── 16-twophaselocking.pdf ├── 17-timestampordering.pdf ├── 18-multiversioning.pdf ├── 19-logging.pdf ├── 21-distributed.pdf ├── 22-distributedoltp.pdf └── 23-distributedolap.pdf └── slides ├── 01-introduction.pdf ├── 02-advancedsql.pdf ├── 03-storage1.pdf ├── 04-storage2.pdf ├── 05-bufferpool.pdf ├── 06-hashtables.pdf ├── 07-trees.pdf ├── 08-indexconcurrency.pdf ├── 09-sorting.pdf ├── 10-joins.pdf ├── 11-queryexecution1.pdf ├── 12-queryexecution2.pdf ├── 13-optimization1.pdf ├── 14-optimization2.pdf ├── 15-concurrencycontrol.pdf ├── 16-twophaselocking.pdf ├── 17-timestampordering.pdf ├── 18-multiversioning.pdf ├── 19-logging.pdf ├── 20-recovery.pdf ├── 21-distributed.pdf ├── 22-distributedoltp.pdf ├── 23-distributedolap.pdf └── 25-finalreview.pdf /README.md: -------------------------------------------------------------------------------- 1 | # 概要 2 | 本リポジトリには、米国カーネギーメロン大学(Carnegie Mellon University)で開講されている講義『DATABASE SYSTEMS』の slide と note が置いてあります。 3 | https://15445.courses.cs.cmu.edu/fall2021/ 4 | 数年来、毎年度開講されている講義ですが、本リポジトリのものは2021年秋に行われた講義でのものです。 5 | 6 | 講義の動画はYoutubeで公開されています。 7 | 以下は同講義の動画のシリーズをまとめた playlist です。 8 | (日本語の自動字幕を表示させ、再生速度を落とすと、英語が得意でなくてもなんとかついていけるのでおススメです) 9 | [CMU lecture "DATABASE SYSTEMS" / Fall 2021](https://www.youtube.com/playlist?list=PLiGMZiD2v76lInN3Sq68ZXtCraw627q5o) 10 | 11 | 同講義では、学生にRDBMSを実際に実装させるという課題が与えられ、具体的にはBusTubと呼ばれる教育用RDBMSの歯抜けになった実装箇所を埋めるというものになっています。 12 | 同RDBMSのコードは以下のGitHubリポジトリでホストされています。 13 | [cmudb/bustub](https://github.com/cmu-db/bustub) 14 | 15 | # 本リポジトリ作成の目的 16 | 本リポジトリは、日本語話者でデータベースシステムの設計や実装に興味のある方における、上記講義への到達可能性の向上、情報取得の簡便化を目指した取り組みとして作成しました。 17 | 18 | # ライセンス(License) 19 | 本リポジトリに置いてあるドキュメント(pdfファイル)は [CMU DATABASE GROUP](https://db.cs.cmu.edu/) により作成されたものであり、[表示 3.0 非移植 (CC BY 3.0) ライセンス](https://creativecommons.org/licenses/by/3.0/deed.ja) の下に提供されています。 20 | 21 | Documents (pdf files) on this repository are created by [CMU DATABASE GROUP](https://db.cs.cmu.edu/) and distrited under [Attribution 3.0 Unported (CC BY 3.0) license](https://creativecommons.org/licenses/by/3.0/deed.en). 22 | 23 | 24 | -------------------------------------------------------------------------------- /notes/01-introduction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/01-introduction.pdf -------------------------------------------------------------------------------- /notes/02-advancedsql.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/02-advancedsql.pdf -------------------------------------------------------------------------------- /notes/03-storage1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/03-storage1.pdf -------------------------------------------------------------------------------- /notes/04-storage2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/04-storage2.pdf -------------------------------------------------------------------------------- /notes/05-bufferpool.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/05-bufferpool.pdf -------------------------------------------------------------------------------- /notes/06-hashtables.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/06-hashtables.pdf -------------------------------------------------------------------------------- /notes/07-trees.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/07-trees.pdf -------------------------------------------------------------------------------- /notes/08-indexconcurrency.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/08-indexconcurrency.pdf -------------------------------------------------------------------------------- /notes/09-sorting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/09-sorting.pdf -------------------------------------------------------------------------------- /notes/10-joins.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/10-joins.pdf -------------------------------------------------------------------------------- /notes/11-queryexecution1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/11-queryexecution1.pdf -------------------------------------------------------------------------------- /notes/12-queryexecution2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/12-queryexecution2.pdf -------------------------------------------------------------------------------- /notes/13-optimization1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/13-optimization1.pdf -------------------------------------------------------------------------------- /notes/14-optimization2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/14-optimization2.pdf -------------------------------------------------------------------------------- /notes/15-concurrencycontrol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/15-concurrencycontrol.pdf -------------------------------------------------------------------------------- /notes/16-twophaselocking.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/16-twophaselocking.pdf -------------------------------------------------------------------------------- /notes/17-timestampordering.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/17-timestampordering.pdf -------------------------------------------------------------------------------- /notes/18-multiversioning.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/18-multiversioning.pdf -------------------------------------------------------------------------------- /notes/19-logging.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/19-logging.pdf -------------------------------------------------------------------------------- /notes/21-distributed.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/21-distributed.pdf -------------------------------------------------------------------------------- /notes/22-distributedoltp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/22-distributedoltp.pdf -------------------------------------------------------------------------------- /notes/23-distributedolap.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/notes/23-distributedolap.pdf -------------------------------------------------------------------------------- /slides/01-introduction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/01-introduction.pdf -------------------------------------------------------------------------------- /slides/02-advancedsql.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/02-advancedsql.pdf -------------------------------------------------------------------------------- /slides/03-storage1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/03-storage1.pdf -------------------------------------------------------------------------------- /slides/04-storage2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/04-storage2.pdf -------------------------------------------------------------------------------- /slides/05-bufferpool.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/05-bufferpool.pdf -------------------------------------------------------------------------------- /slides/06-hashtables.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/06-hashtables.pdf -------------------------------------------------------------------------------- /slides/07-trees.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/07-trees.pdf -------------------------------------------------------------------------------- /slides/08-indexconcurrency.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/08-indexconcurrency.pdf -------------------------------------------------------------------------------- /slides/09-sorting.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/09-sorting.pdf -------------------------------------------------------------------------------- /slides/10-joins.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/10-joins.pdf -------------------------------------------------------------------------------- /slides/11-queryexecution1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/11-queryexecution1.pdf -------------------------------------------------------------------------------- /slides/12-queryexecution2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/12-queryexecution2.pdf -------------------------------------------------------------------------------- /slides/13-optimization1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/13-optimization1.pdf -------------------------------------------------------------------------------- /slides/14-optimization2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/14-optimization2.pdf -------------------------------------------------------------------------------- /slides/15-concurrencycontrol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/15-concurrencycontrol.pdf -------------------------------------------------------------------------------- /slides/16-twophaselocking.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/16-twophaselocking.pdf -------------------------------------------------------------------------------- /slides/17-timestampordering.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/17-timestampordering.pdf -------------------------------------------------------------------------------- /slides/18-multiversioning.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/18-multiversioning.pdf -------------------------------------------------------------------------------- /slides/19-logging.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/19-logging.pdf -------------------------------------------------------------------------------- /slides/20-recovery.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/20-recovery.pdf -------------------------------------------------------------------------------- /slides/21-distributed.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/21-distributed.pdf -------------------------------------------------------------------------------- /slides/22-distributedoltp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/22-distributedoltp.pdf -------------------------------------------------------------------------------- /slides/23-distributedolap.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/23-distributedolap.pdf -------------------------------------------------------------------------------- /slides/25-finalreview.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryogrid/CMU_lecture_DATABASE_SYSTEMS_materials/e514eadcd747570ac72ed1ac8d5af70517d19e37/slides/25-finalreview.pdf --------------------------------------------------------------------------------