[db tech showcase oss 2017] a22:...

24
1 © 2017 Aerospike Inc. All rights reserved. [ ] NoSQL誰のための、 何のためのデータベース? その将来は? 田村俊明

Upload: insight-technology-inc

Post on 23-Jan-2018

439 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

1 © 2017 Aerospike Inc. All rights reserved. [ ]

NoSQL: 誰のための、

何のためのデータベース? その将来は?

田村俊明

Page 2: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

2 © 2017 Aerospike Inc. All rights reserved. [ ]

■ NoSQLデータベース ■ Cassandra ■ MongoDB ■ Redis ■ Riak ■ Couchbase ■ DynamoDB ■ Hbase ■ RocksDB ■ Tokyo Tyrant ■ Kyoto Tycoon ■  kumo.fs ■ Aerospike …

最初に質問させてください

■ この中で、5つ以上、ご存知の方?

■ Aerospikeをご存知の方?

■ 現在、NoSQLをお使いの方?

■ 自社ではNoSQLを使うことは 無いとお思いの方?

Page 3: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

3 © 2017 Aerospike Inc. All rights reserved. [ ]

■ リレーショナル・データベースで行けるんじゃないの ■ 実績あるし、十分速いし

■ 大量データといっても、大きなハードディスクがあれば ■ ハードディスクは安くで大容量だし

■ 速さが必要といっても ■ 今、十分、間に合っているし

■ うち(自社)のシステムも相当、大きいんだけど ■ データベースを換えるほど、大きなシステムって

■ 特殊な分野だけとか ■ インターネット広告らしい

■ まずは、いくつかの事例をご紹介します

そもそも、NoSQLデータベースは必要なの?

Page 4: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

4 © 2017 Aerospike Inc. All rights reserved. [ ]

NoSQL事例:インターネット広告 RTB(Real Time Bidding)

ニュースサイト

広告枠

Supply- Side

Platform (SSP)

Demand- Side

Platform (DSP)

Demand- Side

Platform (DSP)

Demand- Side

Platform (DSP)

サイト閲覧実績

35円

35円

40円

インプレッション発生

70円

RTB

ユーザ属性

NoSQL

NoSQL

NoSQL

Data Management

Platform (DMP)

Page 5: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

5 © 2017 Aerospike Inc. All rights reserved. [ ]

■ 要件 ■ 広告表示までに100ms

■  RTBで50ms

■ 毎秒500万回のオークション ■ 数十億件のクッキーを検索 ■ データベース・アクセスは2ms以下 ■ 稼働率100%

■ NoSQLデータベース:唯一の選択肢 ■ 高スループット ■ 低レイテンシ ■ スケーラビリティ(性能、データ量) ■ 経済性

NoSQL事例:インターネット広告 RTB(Real Time Bidding)

Ads is Displayed

Publishers

Ad Networks & SSPs

Ad Exchanges

Demand Side Platform

Data Management Platforms

Brands Agencies Buyers

0 ms 100 ms

Page 6: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

6 © 2017 Aerospike Inc. All rights reserved. [ ]

■ インターネットでのカード決済 ■  さらに、デジタル・ペイメントの世界へ

■ そのトランザクションは本当に正しいものか? ■  巨額な不正取引

■ もし、こんなトランザクションがあったら? ■ 東京での決済の5分後に、リオデジャネイロで同じカードの決済があったら

■  リオデジャネイロでの決済は初めて

■ 同じカードの決済が1分間に30回あったら ■  そんな頻度は過去にはなかったのに

■ 不正検出のためのルール ■ 数十個存在し、業界で共有されている

NoSQL事例:クレジットカードの不正検出

Page 7: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

7 © 2017 Aerospike Inc. All rights reserved. [ ]

クレジットカード処理システム

不正検出・防御アプリケーション Rule 1 Rule 2 Rule 3

過去データの解析

Rule 1 - 合格 Rule 2 - 合格 Rule 3 - 違反

該当アカウントの履歴

種々の属性データ

アカウント統計量

■ 要件 ■ 処理全体で 750ms ■ 一枚のクレジットカードの処理時に

数百のDBアクセスが発生 ■ 低レイテンシは必須 ■ データは増え、速さもより必要

■  スケーラビリティが必須

■ 経済性

■ NoSQLデータベース:唯一の選択肢 ■ 高スループット ■ 低レイテンシ ■ スケーラビリティ(性能、データ量) ■ 経済性

NoSQL事例:クレジットカードの不正検出

NoSQL

Page 8: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

8 © 2017 Aerospike Inc. All rights reserved. [ ]

■ デジタル・データ ■ 初めての汎用計算機ENIACは1946年

■  ITは約70年の歴史

■ 最近2年間で生成されたデータは、 過去70年間分の何割くらい? ■  10%? 30%?

ユースケース:ビックデータ・IoT

■ インターネットとスマートフォン ■ SNS: ブログ、メッセージ、写真、動画

■  IoT ■ 人間が介在せず

■  例:GPS

■ データの爆発、リアルタイム性

K-M-G-T-P-E-Z

Page 9: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

9 © 2017 Aerospike Inc. All rights reserved. [ ]

■ データ表現の柔軟性 ■ 例:温度センサー

■  センサーID、時刻、温度

■ スマートフォンには ■  加速度センサー ■  ジャイロセンサー ■  磁気センサー ■  GPS ■  輝度センサー ■  近接センサー ■  圧力センサー

■ 複合モジュールだったら?

IoT時代のデータベース

■ 事前に想定できないデータ量 ■ データ源の増加 ■ サンプリング時間の変更

■  データが数千倍にも

■ 大量データに対する高速アクセス ■ 大量のデータ源からの大量の書き込み ■ 解析システムが大量の読み込み

■ バッチからオンラインへ ■  リアルタイム化の傾向

■ 分散システムが必須 ■ スケールアウトでの対応が必要

NoSQLデータベース:唯一の選択肢

Page 10: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

10 © 2017 Aerospike Inc. All rights reserved. [ ]

NoSQL事例:オンライン機械学習

手作業、静的データ、バッチ 自動、ストリーミング・データ、オンライン

Page 11: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

11 © 2017 Aerospike Inc. All rights reserved. [ ]

■  バッチ ■  モデル作成が

困難だが、その評価は容易

■  大規模なデータの移動が必要

■  データ蓄積のためのストレージが必要

■  データ集約に労力 ■  ほとんどが手作業

■  数十個のモデル ■  一億のスコア

NoSQL事例:バッチ vs. オンライン

■  オンライン ■  開発そのものは

容易だが、モデルの評価は困難

■  イベント単位のデータ・ストリーム

■  ストレージ容量はそれほど問題にならず

■  データ集約は容易 ■  ほとんどが自動

■  千個超のモデル ■  毎日千億のスコア

NoSQLデータベース:唯一の選択肢

Page 12: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

12 © 2017 Aerospike Inc. All rights reserved. [ ]

NoSQL事例:キャッシング層の高度化

■ なぜキャッシュが必要?

■ 複雑さ・一貫性・保守性 ■ 書き込みはRDBMSへ

■  データ遅延

■ 読み込みはキャッシュから ■  RDBMSからデータ・

ロードが必要 ■  キャッシュの再起動

■ 堅牢性 ■ RDBMS、キャッシュのい

ずれかがダウンした場合、システム・ダウン

■ 拡張性 ■ スケーラビリティに問題

Caching Layer

Fast speed – Consumer Scale

Real-time Consumer Facing

Pricing / Inventory/Billing

Real-time Decisioning

Streaming Data

Legacy Database (Mainframe)

RDBMS Database

Transactional Systems

Enterprise Environment

Page 13: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

13 © 2017 Aerospike Inc. All rights reserved. [ ]

■  2-Speed IT ■  Systems of Record

■  データを記録・管理するためのシステム

■  Systems of Engagement ■  利用者との接点となるシステム

■  Systems of Record ■ バックオフィス・アプリケーション ■ 企業内の処理のため ■ 変化も速度もあまり要求されないが、

堅牢性、一貫性が必要 ■  Systems of Engagement ■ フロントエンド・アプリケーション ■ 消費者側に向いている ■ 柔軟性、俊敏性、高速性が必要

今後の企業システム: 2-Speed IT

Page 14: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

14 © 2017 Aerospike Inc. All rights reserved. [ ]

NoSQL事例:キャッシング層の高度化

Real-time Consumer Facing

Pricing / Inventory/Billing

Real-time Decisioning

Streaming Data

Next Generation Operational Database Aerospike Connectors

Powered by High Performance NoSQL

Legacy Database (Mainframe)

RDBMS Database

Transactional Systems

Enterprise Environment XDR

Aerospike

Legacy RDBMS HDFS BASED

Fast speed – Consumer Scale ■  キャッシュのようでキャッシュでない ■ オペレーショナルDB

■  シンプル・一貫性・保守性 ■ 読み書きをオペレーショナル

DBに ■  データ遅延無し

■ データベースとしての 一貫性・保守性

■  堅牢性 ■  AerospikeはデータをSSDに ■  Aerospikeは顧客システムで

5年間無停止 ■  拡張性 ■ スケーラビリティ

Page 15: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

15 © 2017 Aerospike Inc. All rights reserved. [ ]

次世代のオペレーショナル・データベースに必要なものとは

高スループットとスケーラビリティ トランザクション量は増大の一途、

スケーラビリティは必須

大規模データ対応 一つのシステムで数百TBのデータ

不揮発性メモリ(NVM)の活用 大量データを、高速、かつ、 一貫性を保持しつつ保存

低レイテンシ クエリに対するレスポンスは、バラツキ無く、5ミリ秒以下で

信頼性・高可用性 24時間365日稼働、SPOFが無いこと

運用の容易さ 構成変更(スケール)時、運用時に手作業を 必要としない

TCOを削減し、より効率的に サーバ台数を削減しつつ、 パフォーマンスは従来と同等以上

オープンであり、相互運用 既存のインフラストラクチャや システムを有効に利用する

Page 16: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

16 © 2017 Aerospike Inc. All rights reserved. [ ]

■ NoSQLデータベース ■ Cassandra ■ MongoDB ■ Redis ■ Riak ■ Couchbase ■ DynamoDB ■ Hbase ■ RocksDB ■ Tokyo Tyrant ■ Kyoto Tycoon ■  kumo.fs ■ …

NoSQLはいろいろあれど

■ 特徴 ■ 高スループットとスケーラビリティ ■ 信頼性・高可用性 ■ 大規模データ対応 ■ 運用の容易さ ■ 不揮発性メモリの活用 ■ TCOの削減 ■ 低レイテンシ ■ オープン

Page 17: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

17 © 2017 Aerospike Inc. All rights reserved. [ ]

性能:Cassandraとの比較

スループット (50% Read, 50% Update)

レイテンシ

Page 18: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

18 © 2017 Aerospike Inc. All rights reserved. [ ]

レスポンスの一貫性:Cassandraとの比較

レイテンシ(Update)

経過時間(HH:MM:SS)

スループット(Update)

経過時間(HH:MM:SS)

Page 19: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

19 © 2017 Aerospike Inc. All rights reserved. [ ]

■ ストレージ ■ 大量データ

■  HDD: 大容量、低速、安価

■ 高速性 ■  DRAM: 小容量、高速、高価

経済性:DRAMベースのNoSQLとの比較

■ SSDを活用 ■ 高速 ■ 大容量 ■ 低価格

Page 20: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

20 © 2017 Aerospike Inc. All rights reserved. [ ]

Aerospikeは、唯一、SSDに最適化

■ 高速化 ■ OS・ファイルシステムを経由せず ■ 複数SSDに並列アクセス

■ SSD特有処理 ■ 書き込みブロックを平滑化 ■ デフラグによる効率的利用

■ Aerospike Certification Tool ■ SSDのベンチマークツール ■ Read/Writeの混在環境下で測定 ■ 性能の良いものだけを推奨

■  高速かつ性能のバラツキの少ないもの

OTHER DATABASE

OS FILE SYSTEM

PAGE CACHE

BLOCK INTERFACE

SSD HDD

BLOCK INTERFACE

SSD SSD

OPEN NVM

SSD

AEROSPIKE

HYBRID MEMORY SYSTEM™

Page 21: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

21 © 2017 Aerospike Inc. All rights reserved. [ ]

Aerospikeの特徴 – デジタル展開を可能に"

高スループット・ 低レイテンシ NoSQL

Aerospike 次世代のオペレーショナル・

データベース

ゼロから設計した次世代アーキテクチャ!•  高性能、高信頼性を導くシンプルなアーキテクチャ•  フラッシュ(SSD)最適化設計(特許)•  レコード指向、スキーマレスNoSQL、キーバリューストア

一貫性の高い(バラツキの無い)性能!•  メモリとフラッシュ(SSD)のハイブリッド構成•  低レイテンシ、高スループットで安定稼働•  オン・プレミス、仮想環境、クラウド環境等、多彩な環境

動的な自動クラスタリング!•  実績ある稼働率(顧客サイトで5年間無停止)、高可用性(99.999%) •  自動クラスタ構成、障害時もサービス無停止、自動シャーディング機能•  データセンター間でのデータ複製(XDR)

開発者に優しい!•  広範な開発言語のサポート(C/C++, Java, C#, Python, Go, Node.js等) "•  クラスタ状態を把握しているクライアント(特許)による有機的動作"•  豊富なAPI群; 開発が容易

顕著なTCO削減効果!•  フラッシュ(SSD)最適化による高パーフォーマンスと大容量化•  顧客サイトにて、TCOが十分の一の実績•  運用が極めてシンプルに容易に; 運用費削減効果

$

Page 22: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

22 © 2017 Aerospike Inc. All rights reserved. [ ]

■ NoSQLは、特定分野から拡大方向へ ■ インターネット広告から金融、通信、ECへ ■  IoTでは唯一のデータベース

■ NoSQLはSystems of Engagementに良さそう

■ Systems of Recordには使えない? ■ RDBMSは最初から基幹システムに使わ

れていたか? ■ 時間の問題

NoSQLの将来

Page 23: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

23 © 2017 Aerospike Inc. All rights reserved. [ ]

NoSQLデータベース

誰のための: 今後は多くの方に 何のための: 今後は幅広く応用 その将来は: RDBMSの範囲にも

Page 24: [db tech showcase OSS 2017] A22: NoSQL:誰のための、何のためのデータベース?その将来は?by Aerospike, Inc. 田村俊明

24 © 2017 Aerospike Inc. All rights reserved. [ ]

■ Aerospikeサイト ■ 日本語

■  www.aerospike.jp

■ 英語 ■  www.aerospike.com

■ ベンチマーク ■ Cassandraとの比較

■  http://www.aerospike.jp/blog-ja/comparing-nosql-databases-aerospike-and-cassandra/

下記、ご参照ください