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
Thinking of Rook Cassandra Operator
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nobuhiro Sue
April 02, 2021
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Thinking of Rook Cassandra Operator
Nobuhiro Sue
April 02, 2021
More Decks by Nobuhiro Sue
See All by Nobuhiro Sue
CNDB4_DataGrid_20220325.pdf
nobusue
1
520
Red Hat Middleware Portfolio along with Jakarta EE / Microprofile
nobusue
0
230
DevLOVE X 20190623 B CloudNative Sue
nobusue
6
5.5k
Quarkus Impacts Java to Cloud Native
nobusue
3
440
Quarkus in 5 minutes
nobusue
0
170
App Dev/Runtime for Cloud Native Era
nobusue
2
2.9k
OpenShift 4 Update / Developer Preview at OpenShift Meetup Tokyo#3
nobusue
3
810
Red Hat CodeReady Workspaces at OpenShift Meetup Tokyo#2
nobusue
0
640
Other Decks in Technology
See All in Technology
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
430
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
2
430
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
1
690
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
1
550
Type-safe IaC for Dart
coborinai
0
160
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
440
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
180
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
0
240
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
670
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
1
440
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
1
280
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
130
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
380
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
RailsConf 2023
tenderlove
30
1.5k
It's Worth the Effort
3n
188
29k
A better future with KSS
kneath
240
18k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Transcript
2021年 4月 2日 レッドハット株式会社 須江 信洋 (@nobusue) 今だからこそ考える Cassandra on
Rook 1 Japan Rook Meetup #5
自己紹介 2 須江 信洋(すえ のぶひろ) • Twitter: @nobusue 約14年JavaEE関連に携わる(1999〜2013) IoTサービス関連Startupで開発から運用まで
(2014〜2017) • ストリーミングデータ処理、マイクロサービス化、 コンテナプラットフォーム構築/運用 Red HatでOpenShift担当Solution Architect(2017〜2019) Red HatでMW SAチームのマネージャ(2019/4〜now)
Rook Project Status ......... 3 https://github.com/rook/rook#project-status
4ヶ月くらい放置されてる気配・・・(2021/4/2早朝時点) 4 https://github.com/rook/rook/tree/master/pkg/operator/cassandra
Apache Cassandraってどんなもの? 5 • https://cassandra.apache.org/doc/latest/architecture/overview.html ◦ "Apache Cassandraは、オープンソースの分散型NoSQLデータベースです。Cassandraは、Eventually Consistent(結果整合性)セマンティクスを持つ、パーティション化されたワイドカラムストレージモデルを提 供します。"
◦ "Apache Cassandraは当初、Facebook社でSEDA(Staged Event Driven Architecture)を用いて設計 され、Amazon社のDynamo分散ストレージおよびレプリケーション技術と、Google社のBigtableデータ およびストレージエンジンモデルを組み合わせて実装されました。DynamoとBigtableは、スケーラブルで 信頼性が高く、可用性の高いストレージシステムという新たな要求を満たすために開発されましたが、そ れぞれに改善すべき点がありました。" • 手っ取り早く理解したい方はこちらをどうぞ ◦ 「NoSQLデータベースCassandraの紹介 〜 ヤフーのデータ基盤を支える技術」 ▪ https://techblog.yahoo.co.jp/entry/20200129803067/ • 要点 ◦ マスターレス(Peer to Peer)な分散型 =>運用メンドイ ◦ ワイドカラムKVS ◦ Eventually Consistent ◦ Javaで実装
Cassandra Operator(s) 6 • Cass Operator by DataStax ◦ https://github.com/datastax/cass-operator
◦ https://docs.datastax.com/en/cass-operator/doc/cass-operator/cassOperatorGettingStarted.html ◦ 機能的にはまだ弱いがデファクト狙い? ◦ OpenShiftでもcertify済み ▪ https://catalog.redhat.com/software/operators/datastax/cass-operator/5ec5a88329373868203 3f770 • CassKop by Orange-OpenSource ◦ https://github.com/Orange-OpenSource/casskop ◦ 機能的にはかなり充実している様子 • Instaclustr ◦ https://operatorhub.io/operator/cassandra-operator ◦ https://github.com/instaclustr/cassandra-operator ◦ sunset、今後はcass-opかcasskopを使えとのこと • Scylla Operator ◦ https://github.com/scylladb/scylla-operator ◦ Scylla(C実装のCassandra互換DB)専用Operatorを作ってる
気を取り直して、、、アーキテクチャを拝見 7 https://github.com/rook/rook/blob/master/design/cassandra/design.md
Rook Cassandra Operator 8 • Quickstart ◦ https://rook.io/docs/rook/v1.5/cassandra.html ▪ Operatorの導入方法はシンプル
• Rook Cassandra Operatorを動かす前提条件 ◦ https://rook.io/docs/rook/v1.5/k8s-pre-reqs.html ▪ Cassandraを動かす用途ならflexvolume pluginは必須ではない • Rook Cassandra Operatorのいいところ ◦ クラスタの構築が容易(CRをapplyするだけ) ◦ スケールアップ/ダウンが容易(CRをeditするだけ) ◦ モニタリングの設定が容易(ConfigMapを作るだけ) ◦ CassandraとScyllaを同じ方法で扱える • 注意点 ◦ Dynamic Provisioning可能なストレージが必要 ◦ StorageClassはCassandraクラスタ毎に1つしか設定できない ◦ (Rookで生き残れるか不透明・・・・)
そもそもCassandra OperatorがRookに入ってる理由は? 9 • (たぶん)Dynamic Provisioning可能で、高速かつ信頼性の高いストレージが必須だから ◦ on k8sではなく普通にクラスタ組むときは、インスタンスストアなどの高速なローカルストレージ を使うことが多い
◦ on k8sの場合はPod配置の自由度を高めるためにストレージを抽象化したいので、必然的に CephのようなSDSと組み合わせて考える必要が出てくる ◦ おそらく、バックアップ/リストアやスナップショット取得など、ストレージ層と連携するOperatorを 作ることを想定していたのではなかろうか? ▪ 未実装だがRook Cassandra OperatorのDesign Docにその片鱗が・・・・ • しかし現実には、、、 ◦ Rook Ceph OperatorとRook Cassandra Operatorの間で共有されているコードは皆無で、 まったくの別物と言ってよい ◦ Cassandra/Scyllaいずれも独自にOperatorの開発が進められており、そちらがデファクトにな りそうな勢い
最後に) Cassandraのベンチマークツール 10 • 今回はベンチーマーク実行してませんがCassandraとScyllaで比較してみるとたぶん面白いと思い ます(時間取れたら後日やってみようと思います・・) • YCSB: 汎用NoSQLベンチマークツール ◦
https://github.com/brianfrankcooper/YCSB/wiki/Getting-Started • tlp-stress: Cassandra専用ストレステストツール ◦ https://github.com/thelastpickle/tlp-stress
linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Red Hat is the world’s leading
provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you Red Hat Tech Night 2019.05