Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cassandra 適用のポイント・実例・苦労話

Cassandra 適用のポイント・実例・苦労話

DATASTAX JAPAN

June 23, 2023
Tweet

More Decks by DATASTAX JAPAN

Other Decks in Technology

Transcript

  1. © SIOS Corp. All rights Reserved. 
 
 Cassandra
 適用のポイント・実例・苦労話


    サイオステクノロジー株式会社 
 髙岡 貴史
 2023年6月1日

  2. © SIOS Corp. All rights Reserved. 
 Cassandraとは
 Cassandraの特徴
 Cassandraの得手と不得手


    RDBMSでなくCassandraを使う理由
 適用ポイントと実例
 サイオスのCassandraへの取り組み
 DataStax Enterpriseの紹介とメリット
 Cassandra案件推進の苦労話と現状の課題
 
 アジェンダ
 2

  3. © SIOS Corp. All rights Reserved. 
 Cassandraは分散型のKey-Valueデータベースです
 
 Cassandraとは


    4
 注目すべき特徴と仕組み 
 • データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • マルチDC、ハイブリッド・マルチクラウド 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 NODE NODE NODE NODE NODE NODE
  4. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 6
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • マルチDC、ハイブリッド・マルチクラウド 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 NODE NODE NODE NODE NODE NODE No Name Amount 1 araki 200 2 inoue 300 3 ueda 400 4 ohta 300 5 katoh 600 6 kimura 800 7 kudou 900 8 kodama 450 9 satou 3200 10 sasaki 2000 11 sudou 1000 12 tanaka 2400 13 harada 1200 14 maeda 4300 15 miura 2340 16 mutoh 2000 1 araki 200 2 inoue 300 3 ueda 400 4 ohta 300 5 katoh 600 6 kimura 800 1 araki 200 1 araki 200 2 inoue 300 2 inoue 300 3 ueda 400 3 ueda 400 4 ohta 300 4 ohta 300 5 katoh 600 5 katoh 600 6 kimura 800 6 kimura 800 データが一箇所でなく 複数ノードに 分散配置される ※ Replication Factor(複製数)=3の例
  5. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 7
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • マルチDC、ハイブリッド・マルチクラウド 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 NODE NODE NODE NODE NODE NODE 1 araki 200 2 inoue 300 3 ueda 400 1 araki 200 1 araki 200 2 inoue 300 5 katoh 600 6 kimura 800 6 kimura 800 ※ Replication Factor(複製数)=3、Consistency Level=Quorumの例 Master/Slaveの概念無し SPOF無し down select * from table where No = 1 1台落ちても業務継続可能 1 araki 200
  6. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 8
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • マルチDC、ハイブリッド・マルチクラウド 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 NODE NODE NODE NODE NODE NODE ※ 上記のグラフはイメージです NODE NODE NODE 一定のレイテンシーを維持 ノード停止不要のスケールアウト
  7. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 9
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • マルチDC、ハイブリッド・マルチクラウド 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 DC 間のシームレスな同期 ハイブリッド・マルチクラウド オンプレミス ※Datastax Japan様提供資料より引用 ユーザーから最も近い DCからデータ取得 DC単位での負荷分散
  8. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 10
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 NODE NODE NODE NODE NODE NODE 1 araki 200 2 inoue 300 3 ueda 400 4 ohta 300 5 katoh 600 6 kimura 800 1 araki 200 1 araki 200 2 inoue 300 2 inoue 300 3 ueda 400 3 ueda 400 4 ohta 300 4 ohta 300 5 katoh 600 5 katoh 600 6 kimura 800 6 kimura 800 ※ Replication Factor(複製数)=3の例 データが1nodeだけでなく複 数nodeに重複して存在する ため、一部nodeのデータが 更新されなくても整合性を保 つ様々な仕組みがある read/write時の不整合を防ぐ仕組み 
 ・consistency level 
 
 更新漏れを防ぐ仕組み 
 ・hinted handoff 
 ・repair
 ・Node Sync(Datastaxのみ) 
 ・read repair

  9. © SIOS Corp. All rights Reserved. 
 read/write時の不整合を防ぐ仕組みの例
 11
 NODE1

    NODE NODE2 NODE3 NODE NODE ※ Replication Factor(複製数)=3の例 consistency level=QUORUM(過半数(2/3)での一貫性) ①update 200→600 node1,2は成功、node3は失敗 ②select * from table where No=1 3nodeからではなく2nodeから取得、最新データ 600を返す ③Read Repair バックグラウンドでnode3の200⇢600に更新 Read Repair
 
 読み取り時に複製データの不一致があれば修復する
 1 araki 600 1 araki 200→600 1 araki 200→600 1 araki 200 ※内部の複雑な挙動を簡略化して記載 

  10. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 12
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 ・CAP定理では、C、A、Pの全てを保証することができない 
 ・RDBMSはACデータベース 
 ・CassandraはAPデータベース、 最も障害に強い 
 ・APデータベースは 一貫性が無いのではなくクエリー毎に調整可能 
 - consistency level=quorum(過半数)が典型例 
 - consistency level=allも可能、但し可用性は最低レベル 
 
 一貫性
 (Consistency)
 可用性
 (Availability)
 分断耐性
 (Partition-tolerance)

  11. © SIOS Corp. All rights Reserved. 
 障害に強いCassandra
 13
 NODE

    NODE NODE NODE NODE NODE マルチDC構成
 down ノードダウン
 マスターレスなので、NODEダウンしても他のNODEが応答可能 
 マスターレスなので、DC間通信分断でもDC単位で運用可能 
 東京DC
 大阪DC

  12. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 14
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 ・パーティションはノードへの分散配置の単位 
 ・パーティションキーの値によって配置先ノードが決まる 
 NODE NODE NODE NODE NODE NODE 1 araki 200 1 araki 200 No Name Amount No Name Amount 1 araki 200 No Name Amount 1 araki 200 Partition Key 重要
  13. © SIOS Corp. All rights Reserved. 
 Cassandraの特徴
 15
 •

    データ分散、複製
 • マスターレス、SPOFが無い 
 • スケールアウトでリニアにパフォーマンスアップ 
 • 分散型ゆえの重複データと一貫性の考慮 
 • CAP定理のAPデータベース 
 • 分散の単位としてのパーティションの説明 
 NODE ・パーティションはデータのグルーピングの単位 
 ・パーティションでグループピングしたデータは、適切なサイズとなるよ うにデータモデリングの段階での設計が重要 
 region Name Tokyo araki Tokyo inoue Tokyo ueda Tokyo ohta No 11111 11112 11113 11114 Osaka ueda Osaka ohta 11115 11116 month 1月 1月 2月 2月 1月 2月 region Name araki inoue ueda ohta No 11111 11112 11113 11114 month 1月 1月 2月 2月 NODE region Name araki inoue ueda ohta No 11111 11112 11113 11114 month 1月 1月 2月 2月 region Name araki inoue ueda ohta No 11111 11112 11113 11114 month 1月 1月 2月 2月 NODE NODE 重要 Partition Key Tokyo Tokyo Tokyo
  14. © SIOS Corp. All rights Reserved. 
 16
 
 


    
 
 Cassandraの得手と不得手

  15. © SIOS Corp. All rights Reserved. 
 Cassandraの得手
 
 •

    オンライントランザクション 
 ◦ (肌感覚として)1core 3000 tx/sec位であれば、チューニング無しでも余裕 
 
 • 災害対策用のマルチDC(オンプレ、クラウドのハイブリッド) 
 
 Cassandraの得手と不得手(1/2)
 17

  16. © SIOS Corp. All rights Reserved. 
 Cassandraの不得手
 
 


    • 複数Partitionにまたがる分析、集計等のクエリー 
 ◦ 複数Partitionにまたがるクエリーが発生しないデータモデリングが重要 
 ◦ Partition内の集計は問題ない 
 
 • 削除、更新が頻繁に発生する処理 
 
 
 以下は不得手でなく不可 
 • テーブルのJoin
 • ACIDトランザクション 
 ◦ commit/rollbackの概念無し 
 Cassandraの得手と不得手(2/2)
 18
 Cassandra 5から ACIDサポート!
  17. © SIOS Corp. All rights Reserved. 
 19
 
 


    
 
 RDBMSでなくCassandraを使う理由

  18. © SIOS Corp. All rights Reserved. 
 Cassandraの得手と不得手を踏まえて
 
 


    • SPOFが無い、障害に強いデータベースが必要(CAP定理のAPデータベース) 
 
 • マスターレスでどのノードにも書き込み可能、read only無し 
 
 • ACID不要、更新不要ならRDBMSでなくてもよい。 
 ◦ 世の中には更新不要なデータは多い。 
 
 • RDBMSでは手に余る位のオンライン処理のパフォーマンス向上 
 
 • Cassandraのみでの複数Partitionをまたがるクエリー分析、集計 
 → Sparkと組み合わせることで克服可能 
 
 RDBMSでなくCassandraを使う理由
 20
 Cassandra 5から ACIDサポート!
  19. © SIOS Corp. All rights Reserved. 
 21
 
 


    
 
 適用ポイントと実例

  20. © SIOS Corp. All rights Reserved. 
 Cassandra 不正アクセスの分析・検出 


    • 各種のアクセスログを取込、不正アクセスパタンを分析により洗い出し 
 • ログなのでデータ更新無し、ACID不要 
 • ノードに跨る分析はsparkを活用 
 適用ポイントと実例
 22
 Log Files Spark load tool Spark 生ログ 分析結果 Pub/Sub analysis tool Log Files Log Files 複数ノードデータ分析用 大量データロード用 分析結果表示 – – – – –
  21. © SIOS Corp. All rights Reserved. 
 Cassandra 会員利用履歴管理
 •

    CassandraとRDBMSの使い分けの例 
 • 更新されない履歴データはCassandraへ 
 • 更新が頻繁に発生するデータは既存のRDBMSへ 
 適用ポイントと実例
 23
 Log Files Spark load tool ・・・・ ・・・・ ・・・・ ・・・・ ・・・・ ・・・・ Log Files CSV Files 基幹
 システム 商用 RDBMS 会員向けポータル —------------ ----- ------------ 大量データロード・データ加工用 – – – – – load toolがポータルサイト で表示しやすいデータに加工
  22. © SIOS Corp. All rights Reserved. 
 24
 
 


    
 
 SIOSのCassandraへの取り組み

  23. © SIOS Corp. All rights Reserved. 
 https://www.sios.com/ja/news/press/20200408-datastax.html
 DataStax Japan合同会社様との協業


    25
 • 2020年よりDataStax Japan合同会社様と協業開始 
 • 「SIOS SI+Datastaxコンサル+Datastaxサポート」でプロジェクトを成功へ 

  24. © SIOS Corp. All rights Reserved. 
 SIOSがCassandraに取り組む理由
 26
 APIエコシステムデザイン支援のソリューションを通じて、お客様に以下の3つのバリューを提供いたします。

    API をハブにした『⼈』『アイデア』『技術』の融合による オープンなパートナーシップ推進、エコシステム拡張 レガシーシステム刷新、 ROIの継続的な向上 DX を通じた新しいサービス、事業の創造 3VALUE 1 2 3
  25. © SIOS Corp. All rights Reserved. 
 SIOSがCassandraに取り組む理由
 27
 『API

    エコノミー』をコアにしたシステムコンサルティング + 関連ライセンスサポート + インテグレーションのワンストップサービス を提供しております。 提供するソリューション DX 基盤 (IoT/5G/API/XaaS) データ分析 ( オルタナ / ビッグ / オープン ) コンサルティング ライセンス 販売サポート インテグレーション サブスクリプション リカーリング 対象とするサービス領域 DX 基盤 (IoT/5G/API/XaaS) データ分析 (オルタナ/ビッグ/オープン) サブスクリプション リカーリング Web3 (DAO/NFT) モダナイズ (クラウド化/サービスメッシュ化) コンサルティング ライセンス 販売サポート インテグレーション API エコノミー
  26. © SIOS Corp. All rights Reserved. 
 SIOSがCassandraに取り組む理由
 28
 API

    エコシステムを広くサポートする各種サービスのライセンス提供だけではなく、設計、開発、運⽤までトータルにサ ポートしております。
  27. © SIOS Corp. All rights Reserved. 
 29
 
 


    
 
 DataStax Enterpriseの紹介とメリット

  28. © SIOS Corp. All rights Reserved. 
 • DataStaxはOSS版Cassadnraの商用製品 


    
 • 非機能要件(セキュリティ、運用管理機能)を効率的に満たすための機能が充実 
 
 • Datastaxを活用するための豊富な周辺ツール 
 
 • 実行基盤の選択肢が豊富 
 DataStax Enterpriseの紹介
 30

  29. © SIOS Corp. All rights Reserved. 
 DataStax Enterprise 運用管理ツール


    31
 DSEのためのビジュアル管理ツール
 
 • 透過的な修復機能を含む自動管理サービス
 • バックアップ・リカバリ操作の管理・スケジューリング
 • 過去の傾向分析と予測機能を使用して、キャパシティ プランニングを実行可能 
 • しきい値およびタイミングベースのアラートにより、クラスターの健全性をプロアクティブに把握 
 • マウスを数回クリックするだけで、新しいクラスターの作成や、既存のクラスターのアップグレー ドが可能
 • エンタープライズ ランドスケープとの統合 
 • ビルトインされた自動フェイルオーバー 
 
 ※Datastax Japan様提供資料より引用
  30. © SIOS Corp. All rights Reserved. 
 DataStax Enterpriseのセキュリティ
 32


    ※Datastax Japan様提供資料より引用 セキュアな
 管理者権限
 行レベルの
 アクセス制御
 • きめ細かいセキュリ ティで機密データを保 護
 • マルチテナンシー展開 の管理を簡素化
 外部認証
 • ユーザー権限の外部 検証
 • Kerberos ・LDAP/AD を利用可
 • 全てのデータドメイン へのシングル サイン オン
 透過的な
 データ暗号化
 • 暗号化により顧客の 機密データを保護
 • アプリケーションを 変更する必要はあり ません
 データ監査
 • すべてのアクセスと 変更の監査証跡
 • 必要なものだけを監 査
 • 構成可能な柔軟なロ ギング
 • スキーマ情報等を不 正な閲覧から保護
 • データ アクセスなしの 管理アクセスを利用可 能

  31. © SIOS Corp. All rights Reserved. 
 DataStax Enterprise 周辺ツール、実行環境

    
 33
 App Microservice AI Model Data Gateway Edge and Core, Public and Private Cloud Fast Data Experiences Distributed, scalable, databases Distributed, scalable, streaming and messaging CQL, GraphQL, REST, Document, ... Apache Cassandra NoSQL Database Multi-Model Data (All Data Styles) Operational Analytics (Spark, Pipelines, Streaming) Enhanced Search (Enhance Any Query) Graph Engine (Relate Data Across Partitions) Extensible Integration (Kafka, Pulsar, Bulk Loading) Bare Metal | VM | Kubernetes On-Premises | Public | Private | Hybrid | Multi-Cloud ※Datastax Japan様提供資料より引用
  32. © SIOS Corp. All rights Reserved. 
 34
 
 


    
 
 Cassandra案件推進の苦労話と現状の課題

  33. © SIOS Corp. All rights Reserved. 
 Cassandra案件の引き合いは最近は非常に大変多くなってきています。数年間、案件のマネジメントをしてきてて感 じた課題感です。
 


    • 課題1.日本ではCassandraエンジニアが圧倒的に不足
 ◦ Cassandraの長期安定運用のための設計の難易度が高い
 ◦ 1案件の体制整備で精一杯、複数案件に対応できない
 ◦ 未経験者が案件参画後にキャッチアップが必要となる場合が殆ど
 
 • 課題2.Cassandraに適したユースケースが知られてない
 ◦ ごく少数の知っているエンジニアからの引き合いに限られる 
 Cassandra案件推進の苦労話と現状の課題
 35

  34. © SIOS Corp. All rights Reserved. 
 Datastax導入のお問い合わせ先
 
 


    
 サイオステクノロジー株式会社 
 プロフェッショナルサービス事業企画部 
 担当:二瓶(にへい)
 
 【ご連絡先】
 電話:070-5579-1922 
 Mail : [email protected] 
 
 36