Aurora
MySQLは8.0.19を使っています。 LSN LSNとは Log Sequence Number の略で、単調増加する値で、redoログに書き込まれたバイト数分だけLSNが増えます。 dev.mysql.com MySQLでは SHOW ENGINE INNODB STATUS でLSNを確認できます。 --- LOG --- Log sequence nu…
Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases の翻訳まとめページ https://www.allthingsdistributed.com/files/p1041-verbitski.pdf 翻訳内容 spring-mt.hatenablog.com spring-mt.hatenablog.com spring-…
9 CONCLUSION Auroraは,クラウドの環境で、可用性も耐久性も妥協しない、高スループットのOLTPデータベースとして設計した。 この大きなアイデアは、伝統的なデータベースのモノリシックなアーキテクチャからの脱却と、ストレージをコンピュートの分離であ…
7 LESSONS LEARNED ここでは、クラウドで一般的なシナリオとそれに求める期待にフォーカスして、新たな方向性を導き出す。 7.1 マルチテナンシーとデータベースの統合 AWSのユーザーの多くは、SaaSビジネスを展開している。 SaaSでは、一般的にschema/databa…
6 PERFORMANCE RESULTS 2015年7月にGAとなったAuroraを本番環境で稼働させた際の経験を紹介する。 6.1 標準的なベンチマークでの結果 SysBenchやTPC-C 亜種などの業界標準のベンチマークを用いて、AuroraとMySQLの性能を比較する。 特に記載のない限り、32 v…
5 PUTTING IT ALL TOGETHER ここでは、Figure 5で示すAuroraの構成要素について説明する。 https://www.allthingsdistributed.com/files/p1041-verbitski.pdf 参照 データベースエンジンは "community" MySQL/InnoDBのフォークであり,主にInnoDBがどのよう…
4 THE LOG MARCHES FORWARD ここでは、永続状態、実行状態、レプリカ状態で常に一貫しているように、データベースエンジンからどのようにログが生成されるかを説明する。(3つの状態があるってことか) 特に、コストが高い2PC(2 phase commit)のプロトコルを使…
3. THE LOG IS THE DATABASE Auroraはセクション2で紹介したように、セグメントに分けられて複製されているストレージシステムになっている。 このようなストレージシステムを使って従来のデータベースを動かすと、ネットワークI/O、同期のストール(失速)の…
2 DURABILITY AT SCALE(大規模における耐久性) データベースとは一度書き込んだら読み込みができなければならないのですが、全てのシステムはそうはなっていない。 ここでは、クォーラムのモデルの背後にある理論的根拠を示す。 なぜストレージを分けるのか…
論文はこちらです。 https://www.allthingsdistributed.com/files/p1041-verbitski.pdf Introduction 最近の分散型クラウドサービスでは、下記2つを実現することで回復力とスケーラビリティを実現するケースが増えている。 コンピュートをストレージから分離…
1 theta.tokyo blog.yuuk.io 同期ノンブロッキングIO という表現がわかりやすい。 下記のサンプルコードで理解が深まった。 sample_o_nonblock/test.c at master · hajifkd/sample_o_nonblock · GitHub 2 kccoder.com これに関しては、手元のMacのMySQL 5.7…