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
390
Let's try CockroachDB
kota2and3kan
December 13, 2022
Tweet
Share
More Decks by kota2and3kan
See All by kota2and3kan
CockroachDB Enterprise Features Overview
kota2and3kan
1
48
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
14
7.6k
JRE しか入ってない Pod で Java の heap dump を取りたい / Get heap dump on JRE container
kota2and3kan
2
610
分散トランザクション in CockroachDB / Distributed Tx in CockroachDB
kota2and3kan
1
1.8k
Resolving Tx Conflicts in CockroachDB ~Short Version~
kota2and3kan
0
170
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
96
20190701_What_is_CockroachDB
kota2and3kan
10
2k
Other Decks in Technology
See All in Technology
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
24
6.8k
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
15
4k
コンテンツを支える 若手ゲームクリエイターの アートディレクションの事例紹介 / cagamefi-game
cyberagentdevelopers
PRO
1
130
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
270
APIテスト自動化の勘所
yokawasa
7
4.1k
10分でわかるfreeeのQA
freee
1
3.4k
いまならこう作りたい AWSコンテナ[本格]入門ハンズオン 〜2024年版 ハンズオンの構想〜
horsewin
9
2.1k
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
220
MAMを軸とした動画ハンドリングにおけるAI活用前提の整備と次世代ビジョン / abema-ai-mam
cyberagentdevelopers
PRO
1
110
20241031_AWS_生成AIハッカソン_GenMuck
tsumita
0
110
「 SharePoint 難しい」ってよく聞くけど、そんなに言うなら8歳の息子に試してもらった
taichinakamura
1
620
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Documentation Writing (for coders)
carmenintech
65
4.4k
What's new in Ruby 2.0
geeforr
342
31k
Rails Girls Zürich Keynote
gr2m
93
13k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
KATA
mclloyd
29
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
1.9k
Into the Great Unknown - MozCon
thekraken
31
1.5k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
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!