CockroachDB

水平スケール可能な分散SQLデータベース。Googleの分散データベースSpannerにインスパイアされて設計されている。 #distributed-systems #database

開発元と成り立ち

開発元のCockroach Labsは2015年、元Google社員のSpencer Kimball、Peter Mattis、Ben Darnellによって設立された。KimballとMattisはGoogle File Systemチーム、DarnellはGoogle Readerチームの出身で、在職中にBigtableやSpannerに触れた経験から「Google社外の企業向けにSpannerのようなものを作る」という着想を得たという。Google Ventures含む複数の投資家から資金調達し、2016年にオープンソースとして公開された。

アーキテクチャ

SQLレイヤーの下に、ソート済み分散キーバリューストア(内部ストレージエンジンはPebble)を持つレイヤードアーキテクチャになっている。

  • データは64MiB単位の「レンジ(Range)」に分割される。閾値を超えると自動的に2つに分割され、この処理が継続的に繰り返される
  • 各レンジは複数ノードにレプリケートされ、Raft合意アルゴリズムで一貫性を担保する。大量のレンジを効率的に扱うため、Raftを拡張した「MultiRaft」という仕組みを採用している
  • MVCC(マルチバージョン同時実行制御)と、クロック同期に完全には依存しないグローバルな順序付けのためのHybrid Logical Clocksを使用する
  • シャーディング、データリバランス、レプリケーション、障害復旧を自動化しており、ディスク・マシン・ラック・データセンター単位の障害からも手動介入なしで復旧できる

ライセンスの変遷

  1. 〜2019年: Apache License 2.0(完全オープンソース)
  2. 2019年(v19.2)〜2024年: Business Source Licenseの「permissive版」に移行。他社が「Database Service」としてホスティング提供することのみ制限し、それ以外の利用(自社利用、組み込み等)は自由。BSLは各バージョンごとに一定期間(Change Date、当初3年)後にApache 2.0へ自動移行する設計だった
  3. 2024年8月発表、同年11月(v24.3)〜: 完全にプロプライエタリ化。自社製の「Cockroach Community License (CCL)」に一本化し、無料の「Core」提供を終了。個人開発者・学生・研究者・年商1000万ドル未満の企業は引き続き無料利用可だが、それ以外は有償ライセンスが必要になった
  4. この変更を受け、Oxide Computer Companyが旧BSL版(オープンソースとして利用可能な最終版)をフォークして独自にメンテナンスする方針を表明した

出典

作成日時: 2026-08-15 22:07 / 更新日時: 2026-08-15 22:07