Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Let's try CockroachDB
Search
kota2and3kan
December 13, 2022
Technology
1
630
Let's try CockroachDB
kota2and3kan
December 13, 2022
Tweet
Share
More Decks by kota2and3kan
See All by kota2and3kan
Kubeshark で Kubernetes の Traffic を眺めてみよう/Let's Look at k8s Traffic with Kubeshark
kota2and3kan
3
780
CockroachDB Enterprise Features Overview
kota2and3kan
1
230
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
19
12k
JRE しか入ってない Pod で Java の heap dump を取りたい / Get heap dump on JRE container
kota2and3kan
2
1.1k
分散トランザクション in CockroachDB / Distributed Tx in CockroachDB
kota2and3kan
1
2.2k
Resolving Tx Conflicts in CockroachDB ~Short Version~
kota2and3kan
0
220
Resolving Tx Conflicts in CockroachDB
kota2and3kan
6
1.4k
How COMMIT Works in CockroachDB
kota2and3kan
15
2.3k
How COMMIT Works in CockroachDB ~Short Version~
kota2and3kan
0
150
Other Decks in Technology
See All in Technology
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
160
Redshift認可、アップデートでどう変わった?
handy
1
110
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
290
AI との良い付き合い方を僕らは誰も知らない
asei
1
310
ESXi のAIOps だ!2025冬
unnowataru
0
440
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
130
ルネサンス開発者を育てる 1on1支援AIエージェント
yusukeshimizu
0
120
株式会社ビザスク_AI__Engineering_Summit_Tokyo_2025_登壇資料.pdf
eikohashiba
1
140
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.6k
Next.js 16の新機能 Cache Components について
sutetotanuki
0
200
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
160
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
120
The untapped power of vector embeddings
frankvandijk
1
1.5k
Leo the Paperboy
mayatellez
0
1.3k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Git: the NoSQL Database
bkeepers
PRO
432
66k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Invisible Side of Design
smashingmag
302
51k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
130
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
94
Tell your own story through comics
letsgokoyo
0
770
Transcript
Let’s try CockroachDB \ コンニチハ / #CloudNativeDB 2022/12/13 Cloud Native
Database Meetup #5
Who am I. Name: こたつ&&みかん Account: @kota2and3kan WorkAt: Scalar, Inc
Job: [Technical Support, SRE] Like: DB: [PostgreSQL, CockroachDB, ScalarDB, ScalarDL] Bouldering: 5Q Dislike: Real Cockroach
今日は CockroachDB の話をします \ ナマエ ガ ヤバイ /
名前は聞いたことあるけど触ったことは ない人、挙手! \ ハイ! /
CockroachDB を試す方法をいろいろ 紹介します \ トライ /
CockroachDB を試す方法 • Managed な環境で試す ◦ Learn CockroachDB SQL (ブラウザ)
◦ CockroachDB Serverless Cluster ◦ CockroachDB Dedicated Cluster • 自分で構築した環境で試す ◦ cockroach demo コマンド ◦ Kubernetes Operator を使う ◦ サーバー上でバイナリを使って直接起動 ◦ コンテナ (Docker) を使う
Managed な環境で試す \ マネージド /
Learn CockroachDB SQL (ブラウザ) • ブラウザ上で CockroachDB を試すことができる。 ◦ https://www.cockroachlabs.com/docs/tutorials/sql-playground.html
◦ CockroachDB の Built-in SQL shell を使ってクエリを実行できる。 ◦ 裏では 1匹構成のクラスタ (?) が動作している。 ◦ とりあえず実行できる SQL を確認したい時はこれが便利。
CockroachDB Serverless Cluster • CockroachDB の Serverless サービス。 ◦ https://www.cockroachlabs.com/docs/cockroachcloud/create-a-se
rverless-cluster.html ◦ 無料枠があり、毎月一定の RU が無料で使える。 ◦ 無料枠の範囲で使う場合、クレジットカードの登録は不要。 ◦ マルチテナントであり、リソースは専有ではない。 ◦ アプリケーションから接続して検証したい場合はこれば便利だと思わ れる。
CockroachDB Dedicated Cluster • CockroachDB の DBaaS (Database as a
Service)。 ◦ https://www.cockroachlabs.com/docs/cockroachcloud/create-your -cluster ◦ いわゆる Managed サービスで、クラスタの管理等は全て Cockroach Labs 側で実施される。 ◦ 30日間の無料枠がある。 ◦ 「ちょっと試してみる」場合は CockroachDB Serverless Cluster の方 がお手軽だと思われる。
お手軽に検証する場合 Managed な環 境はとても便利です... \ ベンリ /
が \ ヌルポ /
できないこともあります \ デキナイ /
Managed な環境でできないこと • 起動しているプロセスを観察する。 • プロセスにデバッガでアタッチする。 • ファイルシステム上にある DB の実データを探す。
• DB の実データ (バイナリデータ) を hexdump で覗いてみる。 • データが格納されている KVS (Pebble) から key - value 形 式のデータを直接引っこ抜く。 • ノード障害を発生させて遊ぶ。
自分で構築した環境で試す \ ユアセルフ /
cockroach demo コマンド • メモリ上に一時的なクラスタを構築する。 ◦ https://www.cockroachlabs.com/docs/stable/cockroach-demo.html ◦ 24時間だけ有効なエンタープライズライセンスが付与されるため、有 償版限定の機能も試すことができる。
◦ とりあえず実行できる SQL を確認したい時はこれが便利。 ◦ かなりお手軽だが、データはメモリ上に格納されるので、実データを覗 くのは難しい。
Kubernetes Operator を使う • Operator を使って Kubernetes 上にデプロイする。 ◦ https://www.cockroachlabs.com/docs/stable/orchestrate-a-local-cl
uster-with-kubernetes.html ◦ Operator がいい感じにいろいろやってくれる。Helm もある。 ◦ 障害発生時には Kubernetes / Operator がいい感じに対処してしまう ので、ノード障害を発生させて遊ぶのが難しい。
サーバー上でバイナリを使って直接起動 • cockroach start コマンドでプロセスを起動する。 ◦ https://www.cockroachlabs.com/docs/stable/secure-a-cluster.html ◦ 遊び倒すならこれが一番良いと思われる。 ◦
クラスタを作るためには、ノード数分コマンドを実行 (プロセスを起動) する必要がある。 ◦ ドキュメントからコマンドをコピペすればクラスタが構築できるが、ちょっ とだけ手間がかかる。
コンテナ (Docker) を使う • docker run コマンドでコンテナを起動する。 ◦ https://www.cockroachlabs.com/docs/v22.1/start-a-local-cluster-in -docker-linux
◦ 公式の Docker Image (cockroachdb/cockroach) を使ってコンテナを 起動する。 ◦ 端末上でも環境を汚さずにクラスタを作って検証できる。 ◦ ドキュメントからコマンドをコピペすればクラスタが構築できるが、ちょっ とだけ手間がかかる。
遊び倒すならやはり自前で環境を構築 するのが良いです... \ タノシイ /
が \ ヌルポ /
環境構築がちょっとめんどくさい \ メンドクサイ /
ということで... \ ナノデ /
Docker を使ってシュッとクラスタを作っ てくれる CLI を作りました \ シュッ /
_人人人人_ > Goki <  ̄Y^Y^Y^Y^ ̄ https://github.com/kota2and3kan/goki \ ゴキ /
Goki • $ goki create ◦ クラスタを構築。 • $ goki
sql ◦ 構築したクラスタに Built-in SQL shell で接続。 • $ goki jet ◦ ノード障害を発生させる (コンテナを kill する)。 • $ goki revive ◦ ノード障害を復旧させる (コンテナを start する)。 • $ goki delete ◦ クラスタを削除。
Demo \ デモ /
まとめ • CockroachDB はいろんな方法でお試しできる。 ◦ 名前はヤバイ DB ですが、中身は真面目な分散 SQL データベースな
ので、興味がある人は是非試してみてください。 • Goki の今後。 ◦ Scale in/out ができるようにしたい。 ◦ クラスタのメタデータ等を参照できるようにしたい。 ◦ Pebble (KVS) のデータを取れるようにしたい。 ◦ CI やテストがほぼ未実装なので、まずはそれをやりたい。
Thank you!