Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう

6,680 views

Published on

Web, IoT, モバイル, クラウド時代において、 どうしてApache Cassandraが、 海外では Apple, eBay, NIKE, Sony Entertainment, Netlfix, ING, British Gas、日本においてはYahoo! Japan, ワークスアプリケーションズ、NTTデータイントラマートといった様々な大手企業で採用されているのか?Apache Cassandraがどこで利用されていて、どのように利用すべきなのかをユースケース、技術的な観点をふくめて考えてみましょう

Published in: Technology
  • Be the first to comment

[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう

  1. 1. ©2015 DataStax Confidential. Do not distribute without consent. DataStax 原沢滋 Web, IoT, モバイル時代のデータベース、 Apache Cassandraを学ぼう
  2. 2. ©2015 DataStax Confidential. Do not distribute without consent. 事例
  3. 3. ©2015 DataStax Confidential. Do not distribute without consent. Sony PS4におけるApache Cassandra •  Cassandraを6ヶ月でプロダクション •  リニアスケーラビリティ •  パフォーマンス •  ダウンタイムがない •  運用が楽 •  コスト データスループット: Gigabytes/sec トランザクション: >200,000/sec データサイズ: Tens of terabytes
  4. 4. ©2015 DataStax Confidential. Do not distribute without consent. EBay、1億の顧客と4億の商品を結び付け続ける 世界最大のオンライン市場が、高度な可用性、スケーラビリティ、堅牢性を備えたデータストアを求めて いました DataStax Enterprise で不正検出、メッセージング、その他数多くの処理を実現 最も信頼できる検索結果を利用者に確実に届ける 250 TBにものぼる大量のデータを格納(単独のトランザクションテーブルが40TB!) 一日あたり、60億の書込みと50億の読込みを高速処理 •  パーソナライゼーション •  レコメンデーション
  5. 5. ©2015 DataStax Confidential. Do not distribute without consent. 月6千万人以上のアクティブユーザーにストリーミングで音楽を提供 膨大な量の音楽データベースと日々作成され、シェアーされるプレイリストを管理 10億件を超えるプレイリストをリアルタイムで管理 1秒当たり60,000以上のリクエストを遅延なく処理 4つのデータセンターで500台以上のノードを100%のアップタイムで管理 Use Case: Playlists •  ユーザー・プロファイル、ハートビードデータ、レコメン デーションデータ、プレイリスト、CMSm、Etc etc etc
  6. 6. ©2015 DataStax Confidential. Do not distribute without consent. NetflixにおけるDataStax Enterprise(DSE) (Apache Cassandra) Netflix は映像ストリーミング配信会社 •  Netflix の全データベースのち95%を DSE を 利用 •  スループットは1千万トランザクション/秒 •  1日1兆トランザクションをDSE で処理 •  世界各地にある6つのデータセンターの Oracle を置き換え、100%クラウドで実現 •  AWSの大規模の再起動の際も全く問題なく24 時間x365日のサービスをCassandraで提供 •  ユーザー・プロファイル・データ •  ハート・ビート・データ •  レコメンデーション・エンジン・データ •  CMS(コンテンツマネジメントシステム) •  Etc etc etc
  7. 7. ©2015 DataStax Confidential. Do not distribute without consent. 7 事例
  8. 8. ©2015 DataStax Confidential. Do not distribute without consent. 8 事例
  9. 9. ©2015 DataStax Confidential. Do not distribute without consent. Energy Companies in the UK 9
  10. 10. ©2015 DataStax Confidential. Do not distribute without consent. Intuit 100% アップタイムをCassandraで提供 TurboTax, Quicken, QuickBooksをCassandraで提供 OracleデータベースからVelocity(頻度)と常にサービスを提供できるアーキテクチャを 複数データセーンターの簡単な運用を必要としていて、Cassandraに変更 Use Case: Always On, No Matter What https://www.youtube.com/watch?v=dwofh3uun60
  11. 11. ©2015 DataStax Confidential. Do not distribute without consent. Cassandraとは? 11 アーキテクチャー 分散 レプリケーション ゴシップ アンチエントロピー ヒント Schema Memtables コンパクション SStables コミットログ
  12. 12. ©2015 DataStax Confidential. Do not distribute without consent. + x DataStaxとは    Apache CassandraのDistribution Apache Cassandra とは Amazon Dynamo の分散ハッシュテーブ ル(DHT)と、Google BigTable のKVS の2つの特徴を併せ持つビッグデータ用 分散データベース セキュリティ 分析 検索 ビジュアル
 監視管理サービス インメモリ 開発環境/ ドライバ プロフェッショナ ル・サービス サポート/
 トレーニング
  13. 13. ©2015 DataStax Confidential. Do not distribute without consent. Cassandraの特徴 •  Amazon DynamoとGoogle Bigtableの良い点を持つ •  高速パフォーマンスとリニアな拡張 •  SPOF(Single Point of Failure)がない •  完全な分散 •  柔軟なNoSQLデータモデル •  シンプルな運用管理 •  SQL ライクな言語CQLをサポートしている •  様々な無償ツールとドライバ/コネクタを持つ •  結果整合性を持つ(Eventual Consistency)、Strong Consistencyも可能
  14. 14. ©2015 DataStax Confidential. Do not distribute without consent. 高速なパフォーマンスとリニアな拡張 「スケーラビリティの点では、我々の実験全体を通して明白な 勝者がいます。すべての実験において、Cassandra は最大のノ ード数でリニアに増加する最高のスループットを達成しまし た」 Solving Big Data Challenges for Enterprise Application Performance Management, Tilman Rable, et al., August 2013, p. 10. Benchmark paper presented at the Very Large Database Conference, 2013. http://vldb.org/pvldb/vol5/ p1724_tilmannrabl_vldb2013.pdf http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html 最高のスループット・・・ 最小のレイテンシ・・・ Netflix 社によるクラウド上でのベンチマーク・・・ End Point 社による第三者 NoSQL ベンチマーク
  15. 15. ©2015 DataStax Confidential. Do not distribute without consent. C* C* C* C*C* C* Cassandra のアーキテクチャ(完全な分散+KVS) •  Master, Slaveという関係がない •  Name node, gatekeeperといった特別なノードの機能を持つノードがない •  すべてのノード(マシン)が完全に同じ機能を持つ クラスター データベース = この場合、6台で 1つのデータベースとなる レプリケーション (データのコピー) は何台に持たせるかを決められる Replication factor=3 7369,原沢 7369,原沢 7369,原沢
  16. 16. ©2015 DataStax Confidential. Do not distribute without consent. C* C* C* C*C* C* C* C* C* C*C* C* C* C* C* C*C* C* Cassandra のアーキテクチャ(完全な分散+KVS) 16 •  6台のマシンでデータベースを作成 •  レプリケーション(データのコピー)を3台で設定 •  EMPNO=7369, ENAME=原沢さんをINSERTします(KEY=EMPNO) 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 •  どこに接続して作業をしても結果は同じ
  17. 17. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra のアーキテクチャ(さらに強固に) •  Cassandra は、システムやハードウェアは障害が生じるものだという前提で設計さ れ。 •  複数のデータセンター内でのレプリケーションも自動で行います(設定すれば) •  任意のノードを対象に読み取り/書き込みができます。 C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* トランザクショントランザクション 東京 シンガポール クラウド
  18. 18. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra のアーキテクチャ(さらに強固に) •  Cassandra は、システムやハードウェアは障害が生じるものだという前提で設計さ れ。 •  複数のデータセンター内でのレプリケーションも自動で行います(設定すれば) •  任意のノードを対象に読み取り/書き込みができます。 C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* トランザクショントランザクション トランザクション トランザクション 東京 インド クラウド
  19. 19. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra のアーキテクチャ(スピード) 19 •  各ノードでは、書き込みがあると、それをコミットログにとらえます。これによ り、データの永続性が保証されます。 •  データはまた、インメモリ構造(memtable)にも書き込まれ、これがいっぱいにな るとディスク(SStable)に書き込まれます。 メモリ ディスク コミット ログ Memtable SStable Write Request OK C* C* C* C* C* C* トランザクショントランザクション
  20. 20. ©2015 DataStax Confidential. Do not distribute without consent. トランザクションの扱い RDBMS では・・・ Cassandraでは・・・   Atomic 原子性   Isolated 独立性   Durable 永続性   Consistent 一貫性
 (FK/RI:外部キー/参照整合性)   Atomic 原子性   Isolated 独立性   Durable 永続性   Consistent 一貫性(調整可能) 結果整合性 (イベンチュアル) 強力な整合性 (Strong Consistency) 「軽量トランザクション」(rightweight Transaction)もサポート。
  21. 21. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra Query Language(CQL) •  RDBMS の SQL によく似た構文 •  DDL を使用してオブジェクトを作成(例:CREATE…) •  GRANT/REVOKE によりセキュリティを確保 •  基本的な DML コマンドをサポート:INSERT、UPDATE、DELETE •  SELECT を使用してデータを検索 •  コマンドラインツール、GUI ツール
  22. 22. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra Query Language(CQL) RDBMS では SQL・・・ Cassandraでは CQL・・・ と、より柔軟なデータモデルがあります。
  23. 23. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra の主要機能のまとめ •  書き込み/読み取りがどこでも可能な設計のマスタレスアーキテクチャ •  単一障害点のない継続的な可用性 •  マルチデータセンター及びクラウドを含めてのシステム設計が可能な究極の対応 •  時系列データやその他のデータに最適な柔軟データモデル •  稼働させたままで拡張可能なリニアなパフォーマンススケーラビリティ •  認証と権限設定によるセキュリティ •  運用管理がシンプル •  SQL に似た言語 ― CQL •  組込みのデータ圧縮 •  一般的なセキュリティ機能
  24. 24. ©2015 DataStax Confidential. Do not distribute without consent. 検索 インメモリ分析 専門家による サポート セキュリティ 保証された Cassandra 管理 サービス ビジュアル 監視ツール DataStax Enterprise(DSE) •  保証されたCassandra •  専門家によるサポート •  セキュリティ •  ビジュアル監視ツール •  管理サービス •  分析 •  検索 •  インメモリ
  25. 25. ©2015 DataStax Confidential. Do not distribute without consent. In  Memory Time Series z DataStax Enterprise (DSE) DataStax社による商用版のCassandra 、Cassandraだけでなく、Solr, Spark, Hadoop, GraphDB(本年内予定)を統合したデータベース ボトルネック のないリニア な拡張性 マスターレス でSSPPOOFFのな い可用性 オープン ソース ベース ミリ秒単 位での大 量TTxx処理 稼働率 110000%%の 信頼性 GGUUIIで簡単 な監視、 運用管理 DataStax Enterprise(DSE)
  26. 26. ©2015 DataStax Confidential. Do not distribute without consent. DataStax Enterprise – QA 済みの Cassandra •  プロダクション環境向けに用意され、QA 済み •  厳しい QA プロセス: •  徹底的な品質保証テスト •  1,000 ノードのクラスタを用いたパフォーマンスとスケーラビリティのテスト •  サードパーティソフトウェアとの組み合わせの QA •  不具合解決 •  主要なサポート対象プラットフォームでの検証
  27. 27. ©2015 DataStax Confidential. Do not distribute without consent. DSE におけるレプリケーション •  もちろんCassandraと同じレプリケーション機能がありますが、加えてノードによって 分析、検索がETLなしで自動的に可能です online Txns online Txns 分析 (リアルタイム) 分析 (バッチ) Search 分析 (リアルタイム) オペレーション
  28. 28. ©2015 DataStax Confidential. Do not distribute without consent. •  Replicationはすべて自動(Online用と分析用でデータセンターを分ける事も可能) online Txns online Txns オペレーション 分析 (リアルタイム) 分析 (バッチ) Search 分析 (リアルタイム) online Txns online Txns online Txns online Txns Search分析 (バッチ) DSE におけるレプリケーション リアルタイム分析
  29. 29. ©2015 DataStax Confidential. Do not distribute without consent. DataStax Enterpriseのセキュリティ オープンソース由来 DataStax Enterprise のみ 内部認証(ID、パスワード) 外部認証(Kerberos)、LDAP, Active Directory GRANT/REVOKE によるオブジェクトの
 アクセス権限管理 透過的なデータ暗号化 クライアント・ノード間の暗号化、ノード間の暗号化 データの監査証跡
  30. 30. ©2015 DataStax Confidential. Do not distribute without consent. DataStax Enterprise での検索 •  Cassandra 上で Apache Solr を使用する組込みの企業向け検索 •  検索処理に寄与する組込みのスケールアウト能力と持続的可用性 •  オープンソースの Solr の制約を克服 ボトルネック のないリニア な拡張性 マスターレス でSSPPOOFFのな い可用性 オープン ソース ベース ミリ秒単 位での大 量TTxx処理 稼働率 110000%%の 信頼性 GGUUIIで簡単 な監視、 運用管理
  31. 31. ©2015 DataStax Confidential. Do not distribute without consent. DataStax Enterprise での分析(Spark) •  Cassandra のデータを対象に分析を行うように設計 •  組込みのほぼリアルタイムの分析(Spark) •  Cassandra を対象とする組込みのバッチ分析(MapReduce、Hive、Pig、Mahout) •  外部のバッチ分析(Hadoop ― Cloudera、HortonWorks の認定済み) ボトルネック のないリニア な拡張性 マスターレス でSSPPOOFFのな い可用性 オープン ソース ベース ミリ秒単 位での大 量TTxx処理 稼働率 110000%%の 信頼性 GGUUIIで簡単 な監視、 運用管理
  32. 32. ©2015 DataStax Confidential. Do not distribute without consent. DataStax Enterprise での分析(Spark) •  Cassandra のデータを対象に分析を行うように設計 •  組込みのほぼリアルタイムの分析(Spark) •  Cassandra を対象とする組込みのバッチ分析(MapReduce、Hive、Pig、Mahout) •  外部のバッチ分析(Hadoop ― Cloudera、HortonWorks の認定済み) ボトルネック のないリニア な拡張性 マスターレス でSSPPOOFFのな い可用性 オープン ソース ベース ミリ秒単 位での大 量TTxx処理 稼働率 110000%%の 信頼性 GGUUIIで簡単 な監視、 運用管理
  33. 33. ©2015 DataStax Confidential. Do not distribute without consent. DataStax Enterprise のインメモリオプション •  Cassandra の優れたところをすべてインメモリデータベースで実現 •  利用が容易 •  インメモリのテーブルは Cassandra の通常のテーブルと同じにように扱い可能 •  低レイテンシの読み取りが必要なユースケースに最適 •  インメモリ分析と組み合わせることで、完全なインメモリトランザクション/分析 処理フレームワークを実現可能 In  Memory ボトルネック のないリニア な拡張性 マスターレス でSSPPOOFFのな い可用性 オープン ソース ベース ミリ秒単 位での大 量TTxx処理 稼働率 110000%%の 信頼性 GGUUIIで簡単 な監視、 運用管理
  34. 34. ©2015 DataStax Confidential. Do not distribute without consent. 34 DataStax Acquired Graph Database company – Aurelius TitanDBを作成していた会社を買収(今年末リリース予定) z ボトルネック のないリニア な拡張性 マスターレス でSSPPOOFFのな い可用性 オープン ソース ベース ミリ秒単 位での大 量TTxx処理 稼働率 110000%%の 信頼性 GGUUIIで簡単 な監視、 運用管理 DataStax Enterprise のグラフオプション
  35. 35. ©2015 DataStax Confidential. Do not distribute without consent. 作業負荷の管理と分離 •  複合的な作業負荷環境を容易にサポート •  オンライントランザクション、分析、検索の各作業によるデータやコンピュータ
 資源をめぐる競合を回避 •  異なるデータベース間でのデータの ETL を不要に •  任意のノードに書き込まれたデータが自動的かつ透過的に他のノードに
 レプリケーションされる
  36. 36. ©2015 DataStax Confidential. Do not distribute without consent. 作業負荷の管理と分離 ― 仕組み •  DataStax Enterprise のインストール時に、
 各ノードをリアルタイム処理(Cassandra)、分析処理(Hadoop)、
 検索処理(Solr)のどれに専念させるかを指定します。 •  既存のクラスタを拡張して分析処理、検索処理を行わせることもできます。 •  レプリカグループを作成して、トランザクション専用、分析専用、検索専用の各 グループにすべてのデータを分散、レプリケーションさせます。 •  読み取り、書き込みはどのノードでも処理できます。
  37. 37. ©2015 DataStax Confidential. Do not distribute without consent. DataStax Automatic Management Services •  多くの運用管理作業を自動的に行えるように設計 •  DSE を利用しやすく •  現在含まれているサービス •  Repair サービス – クラスタのデータ一貫性を自動的に維持 •  Capacity サービス – 履歴に基づく傾向分析と資源要求の将来予測 •  Performance サービス – 検索可能な CQL ベースの診断オブジェクトを通じた
 クラスタのパフォーマンスの把握 •  Best Practice サービス – 適切な設定と最適化により多くの領域(セキュリティ、構成設 定、その他)でベストプラクティスルールを適用
  38. 38. ©2015 DataStax Confidential. Do not distribute without consent. DataStax OpsCenter •  視覚的な、ブラウザベースのユーザーインタフェース •  マウス操作で可能なインストール、構成設定、
 運用管理作業 •  DataStax Automatic Management Services を
 視覚的にサポート •  REST API により任意の OpsCenter 
 機能のスクリプトを作成可能 •  任意のデバイス(タブレットなど)で利用可能
  39. 39. ©2015 DataStax Confidential. Do not distribute without consent. DataStax OpsCenter OpsCenter で AWS 上に新規に 10 ノード構成の DSE クラスタを3分で構築・・・
  40. 40. ©2015 DataStax Confidential. Do not distribute without consent. Expert Support •  営業時間内、24時間365日など各種のレベルでサポ ートサービスを用意 •  プロダクション環境及び非プロダクション環境の両 方が対象 •  アーキテクチャ、設計、チューニングを支援する定 期的な診断 •  ソフトウェアを最新の状態に保つ QA 検証済みのサ ービスパックを提供 •  緊急保守が必要な場合の Hot-fix を提供
  41. 41. ©2015 DataStax Confidential. Do not distribute without consent. ドライバ/コネクタ •  検証済み DataStax ドライバ: •  Java •  C# •  Python •  C/C++ •  ODBC •  Ruby •  Node.js •  PHPは現在Beta・・・ •  コミュニティも数多くのドライバを提供
  42. 42. ©2015 DataStax Confidential. Do not distribute without consent. OSS Cassandra vs. 商用版(DSE) Apache Cassandra/DataStax Community Edition (オープンソース) DataStax Enterprise(DSE) Standard DataStax Enterprise(DSE) Max データベース オープンソースCassandra ✔︎ 保証されたCassandra ✔︎ ✔︎ Cassandra セキュリティ強化 ✔︎ ✔︎ 自動管理サービス機能 ✔︎ ✔︎ 全文検索機能(Solr) ✔︎ 分析機能(Spark, Hadoop) ✔︎ インメモリー機能 ✔︎ Management OpsCenter 監視機能 すべての機能 すべての機能 Support And Service 専門家によるサポート ✔︎ ✔︎ 保証されたソフトウェア更新版 ✔︎ ✔︎ 各OSでの保証 ✔︎ ✔︎ 不具合のエスカレーション ✔︎ ✔︎ Hot Fix ✔︎ ✔︎ ヘルスチェック ✔︎ ✔︎
  43. 43. ©2015 DataStax Confidential. Do not distribute without consent. 
 Twitter account: @cassandrajapanで情報発信しています
 
  
 ありがとうございました!

×