# CockroachDB [[Cockroach Labs]] が開発・運営する商用のスケーラブル SQL DBMS。地理分散 OLTP ワークロードを対象に、高可用性・強一貫性・地理分散パーティショニングを提供する。 ## 概要 - **ライセンス**: Business Source License(コアは 3 年後に Apache 2.0 へ転換) - **対応 SQL 方言**: PostgreSQL(PostgreSQL ワイヤープロトコルと SQL 方言を採用) - **ストレージエンジン**: RocksDB(論文時点。後に Pebble に移行) - **実装言語**: Go(ストレージ層以外) - **コード**: https://github.com/cockroachdb/cockroach - **マネージドサービス**: CockroachCloud(現 CockroachDB Serverless / Dedicated) ## 主要設計特性(SIGMOD 2020 時点) - **直列化可能分離**: MVCC + 楽観的 Read Refresh で、専用ハードウェアなしに達成 - **Raft による合意**: Range 単位のレプリカグループで耐障害性を保証 - **Parallel Commits**: 2PC の追加ラウンドを staging ステートで回避 - **地理分散データ配置**: Geo-Partitioned Replicas / Leaseholders / Duplicated Indexes の 3 ポリシー - **分散 SQL**: DAG 物理プランによるフィルタ・結合・集計のデータローカリティ最適化 - **Hybrid Logical Clock(HLC)**: 物理 + 論理時刻で因果関係を追跡し単一キー線形化可能性を保証 ## 関連 - 所属: [[Cockroach Labs]] - 論文: [[@2020__SIGMOD__CockroachDB - The Resilient Geo-Distributed SQL Database]] - 概念: [[分散トランザクション]] / [[外部一貫性]] / [[ハイブリッド論理クロック]] / [[地理分散SQLデータベース]] - 比較対象: [[Spanner]] / [[Amazon Aurora (Database)]] ## 出典 - [[@2020__SIGMOD__CockroachDB - The Resilient Geo-Distributed SQL Database]](SIGMOD 2020)