CockroachDBは、 Cockroach Labsによって開発されたソースコードが利用可能な 分散SQLデータベース管理システムです。 [ 2 ] [ 3 ]
関係機能は、さまざまな基盤インフラストラクチャの障害に耐えることができる分散型トランザクション一貫性キーバリューストアの上に構築されており、PostgreSQLとワイヤ互換性があるため、ユーザーは広範な PostgreSQL エコシステムからさまざまなドライバとツールを利用できます。CockroachDB クラスタは、データセンターやパブリッククラウドリージョンなどの障害ドメインに分散できる複数のノードで構成されます。クラスタは、水平方向[ 4 ] (ノードを追加する) と垂直方向 (既存のノードに割り当てられるリソースを増やす) の両方で拡張できます。高いレベルの回復力と可用性を提供し、プライベートデータセンターとクラウドの両方で、ベアメタル、VM、コンテナ、Kubernetesなどのさまざまな環境で実行できます。CockroachDB という名前は、災害に強いことで知られるゴキブリに由来しています。[ 5 ]
Cockroach Labsは、元Google社員のスペンサー・キンボール、ピーター・マティス、ベン・ダーネルによって2015年に設立されました。キンボールとマティスはGoogleファイルシステムチームの主要メンバーであり[ 6 ] 、ダーネルはGoogleリーダーチームの主要メンバーでした[ 7 ]。
Google在籍中、3人全員がGoogle所有のDBMSであるBigtableとその後継であるSpannerを使用していた。[ 3 ] Googleを退社後、彼らは同様のものを設計・構築したいと考えた。[ 8 ]スペンサー・キンボールは2014年1月に設計の最初のバージョンを書き、2014年2月にGitHubでオープンソースプロジェクトを開始し、外部からのアクセスと貢献を可能にした。[ 9 ]
GitHub 上での開発は多大な貢献を集め、Black Duck Software からオープンソース新人賞を受賞しました。 [ 10 ]
共同創設者たちは、会議、ネットワーキング、交流会、資金調達ラウンドなどを通じてプロジェクトを支援した。
2019年6月、Cockroach Labsは、CockroachDBのライセンスを、フリーソフトウェアライセンスであるApache License 2.0から、ソースコードが利用可能なライセンスであるBusiness Source License(BuSL)に変更すると発表した。このライセンスでは、「ライセンスを購入せずにCockroachDBの商用版をサービスとして提供すること」は禁止されているが、コミュニティでの使用は無料のままである。[ 11 ] [ 12 ]
CockroachDBは、迅速なアクセスを実現するために、データのコピーを複数の場所に保存します。[ 8 ] [ 13 ]
これは、スケーラブルで一貫性のあるレプリケーションを備えたトランザクションデータストアとして説明されています。[ 14 ]単一のインスタンスは、1台のラップトップから数千台のサーバーまで拡張できます。[ 3 ]
CockroachDBはクラウド上で動作するように設計されており、高い耐障害性を備えています。主要なニュースメディアによると、ダウンさせることは「ほぼ不可能」とされています。[ 15 ] [ 16 ] [ 13 ]
CockroachDB は、 Google Spannerの機能にできるだけ近い設計の整合性モデルを採用していますが、時刻同期のための専用ハードウェアに依存していません。「古い読み取りがない」というのが、非線形化可能なトランザクション履歴を持つというトレードオフを意図的に採用したこの整合性モデルを説明する最も簡単な方法です。[ 17 ]重複するキーを含むトランザクションは、外部整合性が保証されます。そのため、実際には、クロックスキューの変動が大きいノードをクラスタから削除でき、アプリケーションは重複するキーと同一範囲への書き込みによって提供される外部整合性に依存でき、書き込みによってフォロワーのタイムスタンプ キャッシュに変更が伝播されるため、CockroachDB に依存するシステムで整合性の問題が発生する可能性は非常に低くなります。[ 18 ]