グローバル分散DB比較:CockroachDB vs YugabyteDB vs TiDB で分散データベースを構築する
オープンソースラボ編集部 ・ 2026年6月14日
グローバル分散DB比較:CockroachDB vs YugabyteDB vs TiDB で分散データベースを構築する
🌍 NewSQLとも呼ばれるグローバル分散データベースは、PostgreSQL互換を保ちながら世界規模のスケーリングを実現します。CockroachDB・YugabyteDB・TiDBを徹底比較します。
グローバル分散DBとは
地理的に分散した複数のノードにデータを分散して保存し、高可用性・水平スケーリング・強整合性を同時に実現するデータベースです。
主要ツール比較表
| 項目 | CockroachDB | YugabyteDB | TiDB |
|---|---|---|---|
| ライセンス | BSL(旧Apache→BSL) | Apache 2.0 | Apache 2.0 |
| 互換プロトコル | PostgreSQL | PostgreSQL + Cassandra | MySQL |
| 開発言語 | Go | C++ | Go |
| オンラインスキーマ変更 | ○ | ○ | ◎ |
| HTAPサポート | △ | △ | ◎(TiFlash) |
| マルチリージョン | ◎ | ◎ | ◎ |
| Kubernetes対応 | ◎ | ◎ | ◎ |
| Managed SaaS | Cockroach Cloud | Yugabyte Cloud | TiDB Cloud |
各ツールの特徴
CockroachDB
「ゴキブリのようにしぶとく生き残る」という名前通り、障害耐性に最大限フォーカスした分散DB。PostgreSQL互換で既存のPgSQL向けツールをそのまま使えます。
主な特徴:
- Raftプロトコルによる強整合性(Jepsen検証済み)
- ノード障害時の自動再バランス
- タイムゾーン指定でデータを特定リージョンに固定(GDPR対応)
- Multi-region transactions サポート
-- リージョン指定でテーブルを作成
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name STRING,
email STRING,
region STRING
) LOCALITY REGIONAL BY ROW;
-- レプリカ数の確認
SHOW ZONE CONFIGURATION FOR TABLE users;
向いているケース: 強整合性重視・PostgreSQL互換が必要
YugabyteDB
YSQLでPostgreSQL互換、YCQLでCassandra互換という2つのAPIを持つユニークな分散DB。YugaByte社(現Yugabyte Inc.)が開発。
主な特徴:
- YSQL(PostgreSQL互換)とYCQL(Cassandra互換)の両API
- DocDB というカスタムストレージエンジン
- Geo-Partitioning でデータを特定リージョンに分離
- CockroachDBより低レイテンシー傾向
# YugabyteDB クラスター起動
./bin/yugabyted start
./bin/yugabyted start --join 127.0.0.1 --base_dir /tmp/ybd2
# YSQL接続(PostgreSQL互換)
./bin/ysqlsh -h 127.0.0.1 -p 5433 -U yugabyte
向いているケース: PostgreSQL + Cassandraの両方が必要
TiDB
PingCAPが開発したMySQL互換の分散DB。OLTP(TiKV)とOLAP(TiFlash)を1クラスタ内に統合したHTAPが最大の特徴です。
主な特徴:
- MySQL 5.7互換(既存MySQLアプリがほぼそのまま動作)
- TiKV(行ストア)+ TiFlash(列ストア)によるHTAP
- TiCDC でリアルタイムレプリケーション
- Chaos Mesh による耐障害性テスト
# TiDB Operator で Kubernetes にデプロイ
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
name: basic
spec:
version: v7.5.0
pd:
replicas: 3
requests:
storage: 10Gi
tikv:
replicas: 3
requests:
storage: 100Gi
tidb:
replicas: 2
向いているケース: MySQL互換・分析クエリも必要なHTAPワークロード
選択ガイド
| 要件 | 推奨 |
|---|---|
| PostgreSQL互換・強整合性最優先 | CockroachDB |
| Cassandraも使いたい | YugabyteDB |
| MySQL互換・分析も同クラスタで | TiDB |
| GDPR等のデータ所在地規制 | CockroachDB or YugabyteDB |
コスト比較
セルフホストはいずれも無料。Managed Serviceは:
- CockroachDB Serverless: 10GB/月まで無料
- YugabyteDB Aeon: 無料枠あり
- TiDB Cloud: 無料枠あり
内部リンク
外部リソース
FAQ
Q. 既存のPostgreSQLをCockroachDBに移行できますか?
ほぼ互換ですが、一部のPostgreSQL固有機能(LATERAL JOIN、特定の型等)は差異があります。公式の移行ガイドで確認してください。
Q. TiDBはMySQLのドライバーをそのまま使えますか?
MySQL Connector/J、mysql2(Node.js)等の主要ドライバーは動作します。ただしストアドプロシージャ等の一部機能は制限があります。
Q. シングルノードでの開発環境構築は可能ですか?
3ツールともシングルノードでの起動をサポートしています。開発・検証目的であれば1台から始められます。
Q. CockroachDBはBSLライセンスに変更されましたが使用に問題はありますか?
BSL v1.1で、商用サービスとして提供する場合のみ制限があります。自社内利用・開発・研究用途は引き続き無料です。