【コックローチディービー】
CockroachDB とは?
💡 ゴキブリの生命力!どこが落ちても生き残る分散データベース
📌 このページのポイント
- PostgreSQL互換のSQLインターフェースで既存アプリからの移行が容易
- マルチリージョン・マルチクラウドでデータを自動分散・自動復旧
- 分散トランザクションでACIDを保証しつつ水平スケーリングが可能
- Raftコンセンサスアルゴリズムでノード間のデータ整合性を維持
CockroachDBって名前すごいね…ゴキブリ?
すごい!でもどうやってそんなことを実現してるの?
データを自動的に複数のノードにコピー(レプリカ)して、Raftという合意アルゴリズムで整合性を保つんだ。あるノードが落ちても、残りのレプリカが自動的に引き継いでくれるよ
PostgreSQL互換ってことは、普通のSQLが使えるの?
そうだよ。PostgreSQLのドライバやORMがそのまま使えるから、既存アプリの移行がかなり楽なんだ。「psql」コマンドで接続することもできるよ
Google Spannerとは何が違うの?
デメリットはないの?
分散トランザクションのオーバーヘッドがあるから、単一ノードのPostgreSQLよりレイテンシは大きくなる。あと学習コストも少しある。でも「グローバル展開で止まらないDB」が必要なら、今最も現実的な選択肢の一つだね
まとめ:ざっくりこれだけ覚えればOK!
「CockroachDB」って出てきたら「PostgreSQL互換で落ちないグローバル分散DB」と思えればだいたいOK!
📖 おまけ:英語の意味
「CockroachDB」 = ゴキブリデータベース
💬 Cockroach(ゴキブリ)は核戦争でも生き残ると言われるほどタフな生き物。どのノードが落ちてもシステムが生き残るという意味が込められているよ