CubicLouve

Spring_MTの技術ブログ

Aurora

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その4の補足資料)

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のまとめ

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-…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その9 CONCLUSION)

9 CONCLUSION Auroraは,クラウドの環境で、可用性も耐久性も妥協しない、高スループットのOLTPデータベースとして設計した。 この大きなアイデアは、伝統的なデータベースのモノリシックなアーキテクチャからの脱却と、ストレージをコンピュートの分離であ…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その7 LESSONS LEARNED)

7 LESSONS LEARNED ここでは、クラウドで一般的なシナリオとそれに求める期待にフォーカスして、新たな方向性を導き出す。 7.1 マルチテナンシーとデータベースの統合 AWSのユーザーの多くは、SaaSビジネスを展開している。 SaaSでは、一般的にschema/databa…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その6 PERFORMANCE RESULTS)

6 PERFORMANCE RESULTS 2015年7月にGAとなったAuroraを本番環境で稼働させた際の経験を紹介する。 6.1 標準的なベンチマークでの結果 SysBenchやTPC-C 亜種などの業界標準のベンチマークを用いて、AuroraとMySQLの性能を比較する。 特に記載のない限り、32 v…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その5 PUTTING IT ALL TOGETHER)

5 PUTTING IT ALL TOGETHER ここでは、Figure 5で示すAuroraの構成要素について説明する。 https://www.allthingsdistributed.com/files/p1041-verbitski.pdf 参照 データベースエンジンは "community" MySQL/InnoDBのフォークであり,主にInnoDBがどのよう…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その4 THE LOG MARCHES FORWARD)

4 THE LOG MARCHES FORWARD ここでは、永続状態、実行状態、レプリカ状態で常に一貫しているように、データベースエンジンからどのようにログが生成されるかを説明する。(3つの状態があるってことか) 特に、コストが高い2PC(2 phase commit)のプロトコルを使…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その3 ログ is データベース)

3. THE LOG IS THE DATABASE Auroraはセクション2で紹介したように、セグメントに分けられて複製されているストレージシステムになっている。 このようなストレージシステムを使って従来のデータベースを動かすと、ネットワークI/O、同期のストール(失速)の…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その2 大規模における耐久性)

2 DURABILITY AT SCALE(大規模における耐久性) データベースとは一度書き込んだら読み込みができなければならないのですが、全てのシステムはそうはなっていない。 ここでは、クォーラムのモデルの背後にある理論的根拠を示す。 なぜストレージを分けるのか…

Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databasesを読む(その1 Introduction)

論文はこちらです。 https://www.allthingsdistributed.com/files/p1041-verbitski.pdf Introduction 最近の分散型クラウドサービスでは、下記2つを実現することで回復力とスケーラビリティを実現するケースが増えている。 コンピュートをストレージから分離…

2020/06/08 気になった記事メモ

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…