Slide 1

Slide 1 text

Kubernetesでセルフホストが簡単な NewSQLを求めて 株式会社スリーシェイク 中楯 直希 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 2

Slide 2 text

\du 株式会社スリーシェイク Sreake 事業部 小売企業向け POS システムやオンラインゲームの バックエンドデータベースの運用開発などを行ったのち、株式会 社スリーシェイクに入社。 現在はSaaS・金融系・モビリティなど様々なドメインの組織に対 してSREing/DBREingを行う。 趣味は自宅KubernetesでDBを動かすこと。 中楯 直希(@nnaka2992) @nnaka2992 2 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 3

Slide 3 text

アジェンダ ● 簡単の定義 ● レギュレーション ● 検証環境 ● 検証まとめ ○ CockroachDB / TiDB / YugabyteDB ● 結果 3 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 4

Slide 4 text

簡単の定義 ● 管理しやすさ、拡張しやすさ、セルフサービスしや すさなど簡単さの指標は様々 ● 初心者がいかに手軽にSQLを実行できる状態を 構築できるかを定義とする 4 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 5

Slide 5 text

レギュレーション ● SQLクライアントで”Hello, xxDB”を実行できるまでのステップ数 * 実 行時間の数値で評価(数値が小さいほどよい) ● 手順に記載のない動作が必要とする場合 評価数値 * (記載外ステップ数 + 1) を評価とする ● 公式ドキュメントのコードブロックを1ステップとする ● 公式の推奨手順を対象とする ● ファイル変更は1ステップとする ● モニタリングリソースなどSQL実行に不要なリソースのみに関連する ステップはスキップする 5 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 6

Slide 6 text

検証環境 ● GKE Regular Version※を採用 ● クラスタリソースは手順書に記載の最も大きな要 件を採用 ● kubectl / helmコマンドはそれぞれのドキュメント が指定するバージョンを採用 6 Copyright © 3-shake, Inc. All Rights Reserved. ※2026年3月5日現在 1.34.3-gke.1444000

Slide 7

Slide 7 text

検証環境 ● クラスタリソース容量 ○ マシンタイプ: `e2-standard-4` (4 vCPU, 16 GB) x 3ノード ○ ディスク: 50 GB SSD / ノード 7 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 8

Slide 8 text

検証環境 ● 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”

Slide 9

Slide 9 text

検証 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/

Slide 10

Slide 10 text

検証 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.

Slide 11

Slide 11 text

検証 11 ● CockroachDB (v26.1.1) ○ Helm Charts x Operatorで構築 ○ helmのファイルを編集する必要があったり手順 が複雑 ○ ドキュメント通りの設定値だと動かない部分が いくつかある ○ 実際のコマンド Copyright © 3-shake, Inc. All Rights Reserved.

Slide 12

Slide 12 text

検証 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.

Slide 13

Slide 13 text

検証 13 ● TiDB (v1.6) ○ Helm Charts x Operatorで構築 ○ シンプルで実行しやすい手順 ○ 値の変更や迷う部分が少ない ○ Helm ChartsにはMonitoringリソースなども 入っておりスコアを落とす結果に ○ 実際のコマンド Copyright © 3-shake, Inc. All Rights Reserved.

Slide 14

Slide 14 text

検証 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.

Slide 15

Slide 15 text

検証 15 ● YugabyteDB (v2025.2) ○ Helm Charts x Operatorで構築 ○ シンプルで実行しやすい手順 ○ 値の変更や迷う部分が少ない ○ 単純に作成されるリソースが最低限 ○ 実際のコマンド Copyright © 3-shake, Inc. All Rights Reserved.

Slide 16

Slide 16 text

結果 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

Slide 17

Slide 17 text

まとめ ● いまどきはHelm Charts x Operatorが推奨 ● TiDB / YugabyeDBは比較的始めやすい ● CockroachDBはドキュメントの不備がいくつかあ る ● 国内での知名度と簡単さを考えるとTiDBがとっつ きやすいかも? ● どれもしっかりした手順でぶっちゃけ誤差 17 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 18

Slide 18 text

おまけ ● CockroachDBのドキュメントにはしっかりIssue報 告しました ○ https://github.com/cockroachdb/docs/issues/23078 18 Copyright © 3-shake, Inc. All Rights Reserved.

Slide 19

Slide 19 text

参考 ● 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.

Slide 20

Slide 20 text

検証に利用したコード ● nnaka2992/gke-newsql-faster-deployment ○ https://github.com/nnaka2992/gke-newsql-faster-deployment 20 Copyright © 3-shake, Inc. All Rights Reserved.