Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Thinking of Rook Cassandra Operator
Nobuhiro Sue
April 02, 2021
Technology
0
130
Thinking of Rook Cassandra Operator
Nobuhiro Sue
April 02, 2021
Tweet
Share
More Decks by Nobuhiro Sue
See All by Nobuhiro Sue
CNDB4_DataGrid_20220325.pdf
nobusue
0
140
Red Hat Middleware Portfolio along with Jakarta EE / Microprofile
nobusue
0
84
DevLOVE X 20190623 B CloudNative Sue
nobusue
6
4.5k
Quarkus Impacts Java to Cloud Native
nobusue
3
360
Quarkus in 5 minutes
nobusue
0
110
App Dev/Runtime for Cloud Native Era
nobusue
2
2.1k
OpenShift 4 Update / Developer Preview at OpenShift Meetup Tokyo#3
nobusue
3
550
Red Hat CodeReady Workspaces at OpenShift Meetup Tokyo#2
nobusue
0
450
Other Decks in Technology
See All in Technology
JDK Flight Recorder入門
chiroito
1
470
2022年度新卒技術研修「エンジニアマインド」講義
excitejp
PRO
0
320
FoodTechにおける商流・金流・物流の進化/Evolution of Commercial, Financial, and Logistics in FoodTech
dskst
0
350
今の生産性改善活動で大切にしている考え方
shibayu36
4
1.9k
ひとりでも安定して 組織を変える活動を続けていくための ストレスマネジメント
pastelinc
0
750
IoTLT88-NTKanazawa-laundry-dry
yukima0707
0
160
Internet Explorer は Microsoft Edge へ - IE の歩みとこれから -
yuhara0928
1
3.4k
What's Data Lake ? Azure Data Lake best practice
ryomaru0825
2
710
サイボウズの アジャイル・クオリティ / Agile Quality at Cybozu
cybozuinsideout
PRO
2
1.6k
トランザクションスクリプトは何がダメなのか?
polidog
2
1.2k
MRTK3 - DataBinding and Theming 入門
futo23
0
120
QiitaConference2022
fuwasegu
0
100
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Adopting Sorbet at Scale
ufuk
63
7.6k
Agile that works and the tools we love
rasmusluckow
319
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
StorybookのUI Testing Handbookを読んだ
zakiyama
4
2.2k
Building Adaptive Systems
keathley
25
1.1k
GitHub's CSS Performance
jonrohan
1020
420k
4 Signs Your Business is Dying
shpigford
169
20k
Writing Fast Ruby
sferik
612
57k
Designing the Hi-DPI Web
ddemaree
272
32k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
What's in a price? How to price your products and services
michaelherold
229
9.4k
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