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
410
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
380
CockroachDB Enterprise Features Overview
kota2and3kan
1
57
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
15
8.1k
JRE しか入ってない Pod で Java の heap dump を取りたい / Get heap dump on JRE container
kota2and3kan
2
690
分散トランザクション in CockroachDB / Distributed Tx in CockroachDB
kota2and3kan
1
1.9k
Resolving Tx Conflicts in CockroachDB ~Short Version~
kota2and3kan
0
180
Resolving Tx Conflicts in CockroachDB
kota2and3kan
6
1.3k
How COMMIT Works in CockroachDB
kota2and3kan
15
2.2k
How COMMIT Works in CockroachDB ~Short Version~
kota2and3kan
0
100
Other Decks in Technology
See All in Technology
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
200
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
350
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.7k
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
450
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
44
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The World Runs on Bad Software
bkeepers
PRO
65
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Automating Front-end Workflow
addyosmani
1366
200k
A designer walks into a library…
pauljervisheath
204
24k
What's in a price? How to price your products and services
michaelherold
243
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Mobile First: as difficult as doing things right
swwweet
222
9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
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!