CockroachDBとは?
こっくろーちでぃびー
CockroachDBとは、分散アーキテクチャで高可用性と強整合性を両立したオープンソースのSQLデータベースで、Google Spannerの設計思想を参考に開発されました。
CockroachDBは、Cockroach Labs社が開発したオープンソースの分散SQLデータベースです。「ゴキブリ(cockroach)」のようにどんな障害が起きても生き延びることをコンセプトとしており、ノード障害・データセンター障害が発生しても自律的にデータを複製・再配置して高可用性を維持します。
CockroachDBの主な特徴は以下のとおりです。
- 強整合性(Serializable Isolation):分散環境でもACID特性を完全に保証し、データの一貫性を維持する。
- 水平スケーリング:ノードを追加するだけでストレージと処理能力を線形に拡張できる。
- ジオ分散:複数のリージョン・データセンターにまたがって配置でき、データの物理的局所性を制御可能。
- PostgreSQL互換:PostgreSQLのワイヤプロトコルおよびSQLサブセットと互換性があり、既存のアプリケーションを比較的容易に移行できる。
技術的な基盤として、Google Spannerの論文で紹介された分散トランザクションの設計思想を参考にしつつ、オープンソースとして実装されています。内部ではデータをキーバリュー形式で保持し、Raftアルゴリズムを用いてノード間のレプリカ一貫性を保証しています。
CockroachDBはSaaSやフィンテックなど高可用性と強整合性が同時に求められるシステムでの採用事例があります。クラウドネイティブな分散データベースの選択肢として、PlanetScaleやNeonなど他のNewSQLプロダクトとともに注目を集めています。
使い方・例文
グローバルに展開するECサービスが、米国・欧州・アジアの各リージョンにCockroachDBのノードを配置し、どのリージョンのユーザーも低レイテンシでデータにアクセスできる構成を実現する、といった用途に使われます。
この用語をシェア
最終更新: