【コックローチディービー】
CockroachDB とは?
最終更新:
💡 データを分けて複製し、合意できる範囲で障害に耐えるSQL DB
複数ノードにデータを分散・複製するSQLデータベース。Raftによる合意で整合性を保ちます。障害に耐える条件、PostgreSQL互換の範囲、ライセンスとソース公開の変更を解説します。
📌 このページのポイント
- データを範囲(レンジ)に分け、レンジごとのレプリカで合意を取る
- Raftの投票レプリカの過半数が通信できることが、書き込みの条件になる
- PostgreSQL互換のインターフェースがあっても、全機能が同一とは限らない
- 現在の利用条件と、ソースコード公開の方針を公式資料で確認する
CockroachDBなら、何台止まっても大丈夫?
そうではないよ。データをレンジという範囲に分け、複数ノードへコピーする。各レンジの投票レプリカがRaftで合意するので、書き込みには過半数が互いに通信できる必要があるんだ。
3台なら、どう考える?
あるレンジに投票レプリカが3つある例では、2つで過半数になる。1つを失っても残りが通信できれば合意できるけれど、2つを失えば新しい書き込みを確定できない。クラスター全体の生存台数だけで、すべてのレンジの状態を判断しないようにしよう。
リージョンが丸ごと止まる場合も?
どこにどの複製を配置するかと、想定する障害に耐える設定が必要だよ。同じリージョンに複製を偏らせると、その障害で過半数を失うことがある。分散の配置、通信遅延、必要な整合性を合わせて設計するんだ。
PostgreSQLのアプリはそのまま使える?
PostgreSQL互換のインターフェースを持つけれど、PostgreSQLそのものではない。使うSQL、拡張機能、アプリやツールの動作を確かめよう。互換という言葉だけで、移行が簡単だとは決められないね。
ソースが公開されていれば、自由なOSSなの?
もっと詳しく知りたい人へ
無料で使える選択肢はある?
自己管理版には条件付きのEnterprise Freeなどがあります。売上条件、テレメトリ、更新などの要件があり、「無料」は無条件のOSSを意味しません。Cloudと自己管理版でも条件が違います。導入時には対象バージョンの公式ライセンス案内を確認してください(2026年10月確認)。
新しいソースが非公開になると、更新も止まる?
提供元の2026年9月15日の発表は、ソースコードの公開場所と公開範囲の変更です。同じ発表では、リリース、セキュリティ更新、サポートを継続し、CockroachDB Software Licenseも変更しないと説明しています。保守終了と混同しないようにしましょう。
📖 おまけ:英語の意味
「CockroachDB」 = CockroachとDBを組み合わせた製品名
💬 cockroachは英語でゴキブリ、DBはデータベースを指します。名称から無制限の耐障害性を読み取ることはできず、実際には複製配置や合意の条件があります。