8. AWS Aurora、GCP Spannerへ辿り着くまでのDBの進化
2018年10月27日
内容紹介
kumagiさんをゲストに、AWS Aurora、GCP Spannerに辿り着くまでのデータベースの進化についてお話いただきました
出演者
話したネタ
- 山喜旅館でたまたま会って急遽収録
- これまでデータベースがぶつかってきた問題について
- メモリが高価、HDDはメモリに比べれば安いのでそれを使っていく
- HDDはシーケンシャルアクセスならランダムアクセスより早い
- IBMのInformation Management System(IMS)
- CPUとメモリの間のキャッシュ、メモリとHDDの間のキャッシュの違いとは?
- バッファプールをHDDに対するキャッシュとして使う
- IBM ARIESの公開
- WAL / Write Ahead Logging
- ログの中にundo/redoの両方が必要
- ログシーケンスナンバによるリカバリ
- バッファプールを食わせるデータ量を増やすのが最適化の一歩
- マルチコア時代への突入、メモリのビット単価の低下
- インメモリDBの問題
- 論文ジェネレータとは?
- データベースは研究のトレンドとしては人気がなかった
- Writeが増えたときのトランザクション性能が伸びない問題
- 垂直分散、水平分散でアプリケーションレイヤが辛くなる話
- AuroraはARIESからDBを理解した人がフルスクラッチで変えたように見える
- AuroraはUndoの情報をログに含めず、Redoを含める
- Auroraの場合は、Redoログを受け取るのがHDDではなくクラウド
- ページの一貫性を担保する責任をクラウドへ押し付けた
- メモリをディスクへ書き戻す必要がなくなる
- Redoログ一辺倒になったのでチェックポイントがいらなくなった
- データベースのチェックポイントについて
- Auroraはマルチマスタ化?
- Auroraのそもそもの思想はシングルマスタ
- 悲観的に巨大にロックを取る
- SpannerはRDBではなく、分散KVSに近い
- Spanサーバの役割
- Spannerを支えるPaxosとは?
- 分散合意の難しさ
- Cockroach DBはAuroraよりベンチマークで1000倍速い?
- TPCCのレギュレーションについて
- SpannerとAuroraの使い分けは?
- 今後のデータベース界隈の展望は?
- クラウドのDBはOracleの牙城を崩しに行く
(補足:32:45-33:43 は収録都合により、別マイクにて再収録しているため音質が異なります)