CubicLouve

Spring_MTの技術ブログ

2021-03-01から1ヶ月間の記事一覧

データベースシステム 改訂2版の数式でわからなかったところメモ

p 37 p 39 p 37 集合は波括弧 {...} を用いて集合の要素を明示的に列挙する。 一般に、条件 P(x) があったとき、それをみたす対象だけを全て集めた集合を、 と表記する。 a ∈ Aは aはAに属している、aはAの要素である。 ∧ は論理積、AND A ∧ Bは、Aであり、…

継続的デリバリー(Continuous Delivery, CD)について

継続的デリバリー(CD)とはなにか? 根本は アジャイル宣言の背後にある原則 になるかと思います。 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。 Our highest priority is to satisfy the customer through early and continuous d…

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

MySQL InnoDBにおけるPKにUUIDを使ったINSERTのパフォーマンスの調査

下記の記事を見て、PKにUUIDを使った際に内部的にどうなっているのかを確認してみました kccoder.com 比較対象として、PKにULIDを使った場合も調べてみました。 github.com ULIDはUUIDと互換性がある、ソート可能な識別子です。 MySQLのバージョン % mysql -…

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

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