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
550
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
690
CockroachDB Enterprise Features Overview
kota2and3kan
1
210
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.1k
Resolving Tx Conflicts in CockroachDB ~Short Version~
kota2and3kan
0
210
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
140
Other Decks in Technology
See All in Technology
生成AIシステムとAIエージェントに関する性能や安全性の評価
shibuiwilliam
2
220
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
160
ブラウザ拡張のセキュリティの話 / Browser Extension Security
flatt_security
0
200
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
2.2k
不確実性に備える ABEMA の信頼性設計とオブザーバビリティ基盤
nagapad
4
8.5k
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
250
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
1
1.3k
IPv6-mostly field report from RubyKaigi 2026
sorah
0
210
レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
red_frasco
4
620
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
780
【ASW21-02】STAMP/CAST分析における生成AIの支援 ~羽田空港航空機衝突事故を題材として (Support of Generative AI in STAMP/CAST Analysis - A Case Study Based on the Haneda Airport Aircraft Accident -)
hianraku9498
0
220
AI エージェント活用のベストプラクティスと今後の課題
asei
2
380
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Unsuck your backbone
ammeep
671
58k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
What's in a price? How to price your products and services
michaelherold
246
12k
4 Signs Your Business is Dying
shpigford
186
22k
Faster Mobile Websites
deanohume
310
31k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Thoughts on Productivity
jonyablonski
73
4.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
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!