Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a New...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes

2026/03/12 に開催された「Database Engineering Meetup #9: NewSQL」の登壇資料です。
この資料では、公式ドキュメントに記載されたKubernetsでセルフホストする場合の簡単さを下記の指標で評価します。
- 実行するステップ数
- 実行にかかる時間
- 公式ドキュメントで記述が不足している数

Avatar for nnaka2992

nnaka2992

March 12, 2026
Tweet

More Decks by nnaka2992

Other Decks in Programming

Transcript

  1. アジェンダ • 簡単の定義 • レギュレーション • 検証環境 • 検証まとめ ◦

    CockroachDB / TiDB / YugabyteDB • 結果 3 Copyright © 3-shake, Inc. All Rights Reserved.
  2. レギュレーション • SQLクライアントで”Hello, xxDB”を実行できるまでのステップ数 * 実 行時間の数値で評価(数値が小さいほどよい) • 手順に記載のない動作が必要とする場合 評価数値

    * (記載外ステップ数 + 1) を評価とする • 公式ドキュメントのコードブロックを1ステップとする • 公式の推奨手順を対象とする • ファイル変更は1ステップとする • モニタリングリソースなどSQL実行に不要なリソースのみに関連する ステップはスキップする 5 Copyright © 3-shake, Inc. All Rights Reserved.
  3. 検証環境 • GKE Regular Version※を採用 • クラスタリソースは手順書に記載の最も大きな要 件を採用 • kubectl

    / helmコマンドはそれぞれのドキュメント が指定するバージョンを採用 6 Copyright © 3-shake, Inc. All Rights Reserved. ※2026年3月5日現在 1.34.3-gke.1444000
  4. 検証環境 • クラスタリソース容量 ◦ マシンタイプ: `e2-standard-4` (4 vCPU, 16 GB)

    x 3ノード ◦ ディスク: 50 GB SSD / ノード 7 Copyright © 3-shake, Inc. All Rights Reserved.
  5. 検証環境 • GKE 構築スクリプト 8 Copyright © 3-shake, Inc. All

    Rights Reserved. # Enable GKE api gcloud services enable container.googleapis.com # Create clusters gcloud container clusters create "${GKE_CLUSTER_NAME}" \ --region "asia-northeast1” \ --machine-type "e2-standard4" \ --num-nodes "1" \ --disk-size "50" \ --disk-type pd-ssd \ --no-enable-autoupgrade \ --release-channel None # Get credentials gcloud container clusters get-credentials "${GKE_CLUSTER_NAME}" \ --region "asia-northeast1”
  6. 検証 9 Copyright © 3-shake, Inc. All Rights Reserved. •

    対象とする手順書 CockroachDB (v26.1.1) ▪ https://www.cockroachlabs.com/docs/stable/deploy-cockroach db-with-cockroachdb-operator ◦ TiDB (v1.6) ▪ https://docs.pingcap.com/tidb-in-kubernetes/stable/get-started/ ◦ YugabyteDB (v2025.2) ▪ https://docs.yugabyte.com/stable/quick-start/kubernetes/
  7. 検証 10 • CockroachDB (v26.1.1) i. gcloud コマンドからGoogleアカウントのメールアドレスを取得 ii. kubectlでRBACを作成

    iii. Git repositoryをクローン iv. env varをexport v. namespaceを作成 vi. helmでoperatorをインストール vii. helmでデータベースクラスタを作成 viii. SQL クライアントリソースを作成し接続する(計4ステップ) Copyright © 3-shake, Inc. All Rights Reserved.
  8. 検証 11 • CockroachDB (v26.1.1) ◦ Helm Charts x Operatorで構築

    ◦ helmのファイルを編集する必要があったり手順 が複雑 ◦ ドキュメント通りの設定値だと動かない部分が いくつかある ◦ 実際のコマンド Copyright © 3-shake, Inc. All Rights Reserved.
  9. 検証 12 • TiDB (v1.6) i. helmでoperatorをインストール ii. helmにPingCAPのリポジトリを追加する iii.

    TiDB オペレータ用namespaceを作成する iv. TiDB namespaceを作成する v. TiDBクラスタ用namespaceとクラスタを作成する vi. SQL クライアントリソースを作成し接続する(計2ステップ) Copyright © 3-shake, Inc. All Rights Reserved.
  10. 検証 13 • TiDB (v1.6) ◦ Helm Charts x Operatorで構築

    ◦ シンプルで実行しやすい手順 ◦ 値の変更や迷う部分が少ない ◦ Helm ChartsにはMonitoringリソースなども 入っておりスコアを落とす結果に ◦ 実際のコマンド Copyright © 3-shake, Inc. All Rights Reserved.
  11. 検証 14 • YugabyteDB (v2025.2) i. helmにYugabyteDBのリポジトリを追加する ii. helmリポジトリをアップデートする iii.

    helmでクラスタ作成用chartを検索する iv. YugabyteDBクラスタ用namespaceとクラスタを作成する v. 作成されたpodのステータスを確認する vi. SQL クライアントリソースを作成し接続する(計1ステップ) Copyright © 3-shake, Inc. All Rights Reserved.
  12. 検証 15 • YugabyteDB (v2025.2) ◦ Helm Charts x Operatorで構築

    ◦ シンプルで実行しやすい手順 ◦ 値の変更や迷う部分が少ない ◦ 単純に作成されるリソースが最低限 ◦ 実際のコマンド Copyright © 3-shake, Inc. All Rights Reserved.
  13. 結果 16 • 検証結果 Copyright © 3-shake, Inc. All Rights

    Reserved. 対象DB ステップ数 実行時間 記載外 ステップ スコア CockroachDB 12 steps 84 sec 3 step 4032 TiDB 8 steps 93 sec 0 step 744 YugabyteDB 6 steps 34 sec 0 step 204
  14. まとめ • いまどきはHelm Charts x Operatorが推奨 • TiDB / YugabyeDBは比較的始めやすい

    • CockroachDBはドキュメントの不備がいくつかあ る • 国内での知名度と簡単さを考えるとTiDBがとっつ きやすいかも? • どれもしっかりした手順でぶっちゃけ誤差 17 Copyright © 3-shake, Inc. All Rights Reserved.
  15. 参考 • YugabyteDB ◦ https://docs.yugabyte.com/stable/quick-start/kubernetes/ • TiDB ◦ https://docs.pingcap.com/tidb-in-kubernetes/stable/get-starte d/

    • CockroachDB ◦ https://www.cockroachlabs.com/docs/stable/deploy-cockroac hdb-with-cockroachdb-operator 19 Copyright © 3-shake, Inc. All Rights Reserved.