2021-03-01から1ヶ月間の記事一覧
p 37 p 39 p 37 集合は波括弧 {...} を用いて集合の要素を明示的に列挙する。 一般に、条件 P(x) があったとき、それをみたす対象だけを全て集めた集合を、 と表記する。 a ∈ Aは aはAに属している、aはAの要素である。 ∧ は論理積、AND A ∧ Bは、Aであり、…
継続的デリバリー(CD)とはなにか? 根本は アジャイル宣言の背後にある原則 になるかと思います。 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。 Our highest priority is to satisfy the customer through early and continuous d…
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(大規模における耐久性) データベースとは一度書き込んだら読み込みができなければならないのですが、全てのシステムはそうはなっていない。 ここでは、クォーラムのモデルの背後にある理論的根拠を示す。 なぜストレージを分けるのか…
下記の記事を見て、PKにUUIDを使った際に内部的にどうなっているのかを確認してみました kccoder.com 比較対象として、PKにULIDを使った場合も調べてみました。 github.com ULIDはUUIDと互換性がある、ソート可能な識別子です。 MySQLのバージョン % mysql -…
論文はこちらです。 https://www.allthingsdistributed.com/files/p1041-verbitski.pdf Introduction 最近の分散型クラウドサービスでは、下記2つを実現することで回復力とスケーラビリティを実現するケースが増えている。 コンピュートをストレージから分離…