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.

事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11

14,867 views

Published on

活用段階に入ったNoSQLですがまだまだ実際どう使えるのかご存じ無い方も多いのでは無いでしょうか。当セッションでは、MapR-DB(Hbase互換のNoSQL)が企業でどう活用されているのか、インドのマイナンバー事例や国内事例を元に実際の使い方のイメージと技術的な裏付けをご説明します。2015年6月10〜12日に開催されたdb tech showcase Tokyo 2015での講演資料です。

Published in: Data & Analytics
  • Be the first to comment

事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11

  1. 1. ® ©  2015  MapR  Technologies 1 ® ©  2015  MapR  Technologies RDBだけではない! 事例から見るNoSQLの使い方 マップアール・テクノロジーズ株式会社 セールスエンジニア 梅川 真人 2015/6/11
  2. 2. ® ©  2015  MapR  Technologies 2 アジェンダ • NoSQL  とは • MapR-­DB  の特徴 • Use  Case  #1  世界最大のバイオメトリクスデータベース • Use  Case  #2  サービス品質分析基盤 • MapR-­DB  5.0  の新機能
  3. 3. ® ©  2015  MapR  Technologies 3 NoSQL • No  SQL • Not  Only  SQL • NoSQL  データベースは RDB  を補完するもの • RDB  とは異なる特性を持っているため、適材適所で利用すべき
  4. 4. ® ©  2015  MapR  Technologies 4 Web  アプリケーションの進化 Web  1.0 Web  2.0 メモリ ディスク ランダムIO Write Read Write Read Write Read memcached Coherence RDBMS ディスク シーケンシャルIO RDBMS メモリ テーブル 書き込みログ・ テーブルファイル BigData 時代の Webアプリ アクセス速度
  5. 5. ® ©  2015  MapR  Technologies 5 NoSQL  の特徴 • スキーマが固定されていない • 関係モデルの結合操作を利用しない(Joinがない) • 高いスケーラビリティ(リニアな性能向上) • トランザクションがない(例外はある) • SQL  と比較してシンプルなデータ操作API
  6. 6. ® ©  2015  MapR  Technologies 6 NoSQL  の系譜 Google FileSystem Google MapReduce Google  BigTable Apache  Hadoop HyperTable Apache  HBase Facebook Cassandra Amazon  S3 Amazon  Dynamo Amazon  SimpleDB LinkedIn Voldemort
  7. 7. ® ©  2015  MapR  Technologies 7 NoSQL  での分散方式 • コンシステントハッシング – Dynamo,  Cassandra – キーのハッシュ値をもとに、 データを各ノードに分散 • レンジパーティション – BigTable,  HBase – キーのレンジ、もしくは カラムのレンジで データベースを分散
  8. 8. ® ©  2015  MapR  Technologies 8 NoSQL  で典型的な書き込み方式 DISK MEMORY 書き込み 読み込み コミットログ メモリテーブル ファイル 一定サイズになったら ディスクに永続化
  9. 9. ® ©  2015  MapR  Technologies 9 NoSQL  と RDBMS  におけるインデックス方式の比較 • LSM  (Log  Structured  Merge)  Tree – NoSQL  でよく使われるインデックス構造 – メモリ上のデータ構造を効率よくシーケンシャルディスク IO  に変換する – 時間の経過とともに Read  性能が落ちてくるためコンパクション(データファイ ルの再構築)が必要になり、その際高い IO  負荷がかかる – Write  が低遅延で安定する一方、Read   性能の振れ幅が大きい • B+Tree – RDBMS  で使われるインデックス構造 – Write  に高いコスト(処理時間,  IO負荷)がかかる一方、Read   が非常に早い
  10. 10. ® ©  2015  MapR  Technologies 10©  2015  MapR  Technologies MapR-­DB (MapR  Enterprise  Database  Edition)
  11. 11. ® ©  2015  MapR  Technologies 11 HBase  アーキテクチャが優れている点 • 強い一貫性モデル – 書き込み完了後、すべての読み出しは同じ値になることを保証 – 他のNoSQLの「Eventually  Consistent」は、実際にはときどき「Eventually   Inconsistent」に • 効率の良いスキャン – ブロードキャストを行わない – Ring  ベースの NoSQL  データベース (例:  Cassandra,  Riak)  はスキャンが大変 • 自動的にスケール – Regionが大きくなると自動で分割される – データ分散や格納スペースの管理に HDFS  を利用 • Hadoop  との連携 – HBase のデータをMapReduce で直接処理できる
  12. 12. ® ©  2015  MapR  Technologies 12 HBase テーブルアーキテクチャ • テーブルは Key  範囲で分割される (Region) • Region  は各ノードが管理 (RegionServer) • カラムはアクセスグループに分割される(カラムファミリー) CF1 CF2 CF3 CF4 CF5 R1 R2 R3 R4
  13. 13. ® ©  2015  MapR  Technologies 13 先進ユーザの課題 • ビジネス上の課題 – ユースケースの増加:   不正検知、 レコメンデーション、レポーティング – 既存のRDBMSを基盤としたアー キテクチャの拡張ではコストに見合 わない – 応答性が悪い:  リアルタイムの異 常検知や、インタラクティブ/大規模 /SaaSベースのデータ配信 • 技術的な課題 – RDBMSテクノロジの性能・ス ケーラビリティの限界 – 既存の NoSQL  データベースが 技術的にフィットする領域は意 外に少ない • 性能、データ一貫性、運用管理 – クラスタを分離することの弊害 • ネットワークトラフィック • 最新のデータが利用できない • 複雑さが原因の障害リスク • データの二重持ち
  14. 14. ® ©  2015  MapR  Technologies 14 MapR-­DB • MapR  Enterprise  Database  Edition  (旧 MapR  M7  Edition)  に含ま れる、HBase  API  互換の NoSQL  データベース – 以前は「MapR  M7  テーブル」とも呼ばれていた – HBase  のアプリケーションをそのまま実行することが可能
  15. 15. ® ©  2015  MapR  Technologies 15 MapR-­DB  の特徴 1. 分析とオペレーションを統合できる単一プラットフォーム 2. エンタープライズグレードの運用管理 3. 高い性能、スケーラビリティ 4. コンパクションの単位が細かいのでコンパクションの影響が少ない 5. インデックスの方式(LSM-­Tree  と B+Treeのいいとこどり) 6. ファイルシステムと統合する事でリージョンサーバ・マスターサーバが 不要に
  16. 16. ® ©  2015  MapR  Technologies 16 MapR-­DB:    レイヤーを削除してシンプルに Disks MapR JVM HBase Disks ext3 JVM HDFS JVM HBase Apache ベース のディストリビューション Disks Unified
  17. 17. ® ©  2015  MapR  Technologies 17 ファイルとテーブルの管理理を統合 $  pwd /mapr/default/user/dave $  ls file1    file2    table1    table2 $  hbase shell hbase(main):003:0>  create  '/user/dave/table3',  'cf1',  'cf2',  'cf3' 0  row(s)  in  0.1570  seconds $  ls file1    file2    table1    table2    table3 $  hadoop fs  -­‐ls /user/dave Found  5  items -­‐rw-­‐r-­‐-­‐r-­‐-­‐ 3  mapr mapr 16  2012-­‐09-­‐28  08:34  /user/dave/file1 -­‐rw-­‐r-­‐-­‐r-­‐-­‐ 3  mapr mapr 22  2012-­‐09-­‐28  08:34  /user/dave/file2 trwxr-­‐xr-­‐x      3  mapr mapr 2  2012-­‐09-­‐28  08:32  /user/dave/table1 trwxr-­‐xr-­‐x      3  mapr mapr 2  2012-­‐09-­‐28  08:33  /user/dave/table2 trwxr-­‐xr-­‐x      3  mapr mapr 2  2012-­‐09-­‐28  08:38  /user/dave/table3
  18. 18. ® ©  2015  MapR  Technologies 18 HBase vs  M7  レイテンシ性能の⽐比較
  19. 19. ® ©  2015  MapR  Technologies 19 HBase  と MapR-­DB MapR-­DB HBase CAP CP CP データ分散 シャーディング シャーディング データモデル 列指向 列指向 ストレージ MicroWAL+MapRコンテナ WAL+MemStore+HFile コンパクションによる停止 なし あり(影響大) 単一障害点 なし なし ロック単位 行 行 最大テーブル数 無制限 100 最大カラムファミリ数 64 3程度 ノード障害時のアクセス 瞬時に別ノードに切り替え 別ノードに移動するまで待ち
  20. 20. ® ©  2015  MapR  Technologies 20©  2015  MapR  Technologies Use  Case  #1 世界最大のバイオメトリクスデータベース
  21. 21. ® ©  2015  MapR  Technologies 21 Aadhaar PEOPLE 20 BILLION BIOMETRICS
  22. 22. ® ©  2015  MapR  Technologies 22 Aadhaar とは • インド国民のためのマイナンバー制度 • 指紋、網膜スキャン、顔画像を登録 • 1日あたり約2000万のバイオメトリク情報が登録される。(160万人 x   12バイオメトリクス) • 8箇所のデータセンターに分散 • 高いパフォーマンス要件 • 絶対にデータは失ってはならない • 2015年現在で約6億人が登録
  23. 23. ® ©  2015  MapR  Technologies 23 Aadhaar システムゴール • 全ての住民にIDを付与する – 重複は許されないためバイオメトリクス情報を採用 • 登録 – 複数のバイオメトリクス情報(指紋,   網膜) – 12桁のユニークな Aadhaar number  が割り当てられる • 認証 – 本人確認 – 認証は速くなければならない (数百万の同時検索をサポートしながら、100ミリ秒のレイテンシを満たす) • 非同期レプリケーション – 複数のデータセンタをまたがり、HBase上のデータを更新
  24. 24. Template  Tables Audit  Tables Auth,   BFD,  OTP Auth  Data   Server FMS,  Portals Template  Tables Audit  Tables Auth,   BFD,  OTP FMS,  Portals B Data   Center A Data Center Read Read Write Write Read Read Write S y n c S y n c Aadhaar システムアーキテクチャ概要
  25. 25. ® ©  2015  MapR  Technologies 25 Apache  Hadoopでは満たせなかった機能 • データセンター間でレプリケーションをするとデータに矛盾が生じた • Hadoop  クラスタのレスポンスが遅いことに加え、Tasktracker が頻繁 にブラックリストに登録された • DR運用に課題があった • リージョンサーバが良く落ちた • 高い可用性要求を NameNode と JobTracker が満たせなかった • 簡単なアップグレードの手法が必要だった • 管理のオーバーヘッドを最小限にする必要があった。 (ノード管理やミラーリング、スナップショット)
  26. 26. ® ©  2015  MapR  Technologies 26©  2015  MapR  Technologies Use  Case  #2 サービス品質分析基盤
  27. 27. ® ©  2015  MapR  Technologies 27 サービス品質分析基盤 要求 ・ 1日に数TBのデータがインサートに対応 ・ 1秒間に数百万件のデータインサートに対応 ・ 1クエリ辺り200ms以内に検索に対応 課題 ・ RDB  のライセンスが高価(1CPU数百万) ・ スケーラビリティ ・ 1秒間に数百万件のインサートへの対応
  28. 28. ® ©  2015  MapR  Technologies 28 RDB 利利⽤用時の構成 RDB データ収集/集約/ETL データ蓄積 データ検索索 照会対応 呼情報検索索 位置情報分析 収集 収集 集約 /ETL FTP FTP
  29. 29. ® ©  2015  MapR  Technologies 29 MapR-‐‑‒DB  利利⽤用時の構成 データ収集 データ蓄積 データ検索索 照会対応 呼情報検索索 位置情報分析 収集 収集 MapR−DB • ユーザプロファイル・ステータス • ユーザのインタラクション • リアルタイム位置情報 • Web  およびモバイルセッション ・ MapR-­DB  を使う事でETLが不要に ・ 高いスケーラビリティ ・ 安定した高い書き込み性能(1秒間に数百万件のインサートへの対応) FTP FTP NFS NFS
  30. 30. ® ©  2015  MapR  Technologies 30©  2015  MapR  Technologies MapR-­DB  5.0の新機能
  31. 31. ® ©  2015  MapR  Technologies 31 Elasticsearch にリアルタイムでインデクシング アプリケーション ストリーミン グ (Storm,  Spark   Streaming) アドホック (Drill,  Impala,   Presto,  ...) MapR Data  Platform DISTRIBUTION INCLUDING HADOOP MapR-­DB クリックスト リーム バッチ (MR,  Spark,  Hive,  Pig,  …) WEB リアルタイム レコメンド データソース MapR-­FS 顧客トランザ クション 購買情報 コールセンター 顧客サポート Data  Access 可視化 分析 分析
  32. 32. ® ©  2015  MapR  Technologies 32 Traditional  vs.  Real-­Time  Search  Indexing Traditional   NoSQL   Applications HBase  API Elasticsearch  API HBase Elasticsearch Batch indexing HBase  API MapR-­DB Updates Real-­time indexing Updates Searches MapR-­DB/Elasticsearch をリアルタイムにイン デックスを生成 • データの更新はデータストアと検索インデック スの整合性を保証 • インデックス作成に追加開発の必要はない HBase/Elasticsearch はバッチ処理でインデック スを生成 • ユーザはデータを探すまでに遅延が発生する • インデックス作成には追加開発が必要 Real-­Time   NoSQL   Applications
  33. 33. ® ©  2015  MapR  Technologies 33 データ分析基盤 MapRがデータ分析基盤を最適化 データソース 販売・顧客系 データ 自動販売機、 配送経路 データ LOG  FILES,   CLICKSTREAMS SENSORS BLOGS,   TWEETS, SNS DATA  WAREHOUSE Data  Movement Data  Access 検索 スキーマレス データ探索 BI,  BA Ad-­hoc  integrated   analytics ETL  /  統合 Recommendation 不正検知 (Fraud  Detection) 物流最適化 機械学習 MAPR  DISTRIBUTION  FOR  HADOOP ストリーム (Spark  Streaming,   Storm) MapR  Data  Platform MapR-­DB MAPR  DISTRIBUTION  FOR  HADOOP バッチ (MapReduce,   Spark,  Hive,  Pig) MapR-­FS アドホック (Drill,   Impala) 業務アプリケーション 分析
  34. 34. ® ©  2015  MapR  Technologies 34 まとめ:MapR-­DB  が真価を発揮する利用シーン 3.  将来の性能増強やビジネスの変化に柔軟に対応したい 2.  リアルタイム要件のあるアプリ・時系列データなど複数の用途 1.  HBase 運用をシンプルにしたい
  35. 35. ® ©  2015  MapR  Technologies 35 ©  MapR  Technologies ® ご静聴ありがとうございました

×