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
370
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
680
分散トランザクション 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
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
150
AIのコンプラは何故しんどい?
shujisado
1
190
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
460
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
170
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
120
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
1
110
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1k
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
250
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
170
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
Automating Front-end Workflow
addyosmani
1366
200k
Designing for humans not robots
tammielis
250
25k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Being A Developer After 40
akosma
87
590k
Scaling GitHub
holman
458
140k
Making the Leap to Tech Lead
cromwellryan
133
9k
Adopting Sorbet at Scale
ufuk
73
9.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Practical Orchestrator
shlominoach
186
10k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
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!