More Related Content Similar to (LT)Spark and Cassandra (20) More from datastaxjp (12) (LT)Spark and Cassandra1. ©2015 DataStax Confidential. Do not distribute without consent.
1
DataStax
原沢滋
Apache
Sparkがリアルタイム分析で
NOSQLのApache
Cassandraに出会った。(ウルルン風)
Hadoop
/
Spark
Conference
Japan
2016
3. x
Apache Cassandraとは
分散オペレーショナル・データベース
Apache
Cassandra
とは
Amazon
Dynamo
の分散ハッシュ
テーブル(DHT)と、Google
BigTable
のKVSの2つの特徴を併せ持つビッ
グデータ用分散データベース
• Amazon
DynamoとGoogle
Bigtableの良い点を持つ
• 高速パフォーマンスとリニアな拡張
• SPOF(Single
Point
of
Failure)がない、簡単に24時間
x
365
日ダウンさせないで運用が可能
• 完全な分散
• 柔軟なNoSQLデータモデル(スキーマーレス!)
• シンプルな運用管理
• SQL
ライクな言語CQLをサポートしている
• 様々な無償ツールとドライバ/コネクタを持つ
• 様々な整合性を選ぶ事が可能(CAP定理,
BASE)
+
4. OLTP
(RDBMS)
DWH
(RDBMS)
Cassandra
(NOSQL)
OLTP
(RDBMS)
DWH
(RDBMS)
Hadoop/
Spark
分析・データベース
オペレーショナル
データベース
既存システム(RDB)
新システムへの要求
*データ量
*パフォマンス
*柔軟性
*可用性
*値段
分析・データベース
オペレーショナル
データベース
既存システム(RDB)
新システム(NoSQL)
今までRDB
では不可能、又は実現するのに
コストが膨大にかかった領域
Cassandra(NOSQL)とHadoop/Sparkの位置付け
5. Spark
Streaming
Near
Real-‐Zme
SparkSQL
Structured
Data
MLLib
Machine
Learning
GraphX
Graph
Analysis
Sparkは大量データをスキャンするのが得意
6. CREATE TABLE raw_weather_data (!
wsid text, !
year int, !
month int, !
day int, !
hour int, !
temperature double, !
dewpoint double, !
pressure double, !
wind_direction int, !
wind_speed double, !
sky_condition int, !
sky_condition_text text, !
one_hour_precip double, !
six_hour_precip double, !
PRIMARY KEY ((wsid), year, month, day, hour)!
) WITH CLUSTERING ORDER BY (year DESC, month DESC, day DESC, hour DESC);!
Cassandra
は大量データを集めるのが得意です
7. Spark
Streaming
Near
Real-‐Zme
SparkSQL
Structured
Data
MLLib
Machine
Learning
GraphX
Graph
Analysis
Cassandra は大量データを集めるのが得意です
Sparkは大量データをスキャンするのが得意
8. Spark
Streaming
Near
Real-‐Zme
SparkSQL
Structured
Data
MLLib
Machine
Learning
GraphX
Graph
Analysis
CREATE TABLE raw_weather_data (!
wsid text, !
year int, !
month int, !
day int, !
hour int, !
temperature double, !
dewpoint double, !
pressure double, !
wind_direction int, !
wind_speed double, !
sky_condition int, !
sky_condition_text text, !
one_hour_precip double, !
six_hour_precip double, !
PRIMARY KEY ((wsid), year, month, day, hour)!
) WITH CLUSTERING ORDER BY (year DESC, month DESC, day DESC, hour DESC);!
Spark Connector!
Cassandra と Sparkが出会った
9. Spark
Streaming
Near
Real-‐Zme
SparkSQL
Structured
Data
MLLib
Machine
Learning
GraphX
Graph
Analysis
CREATE TABLE raw_weather_data (!
wsid text, !
year int, !
month int, !
day int, !
hour int, !
temperature double, !
dewpoint double, !
pressure double, !
wind_direction int, !
wind_speed double, !
sky_condition int, !
sky_condition_text text, !
one_hour_precip double, !
six_hour_precip double, !
PRIMARY KEY ((wsid), year, month, day, hour)!
) WITH CLUSTERING ORDER BY (year DESC, month DESC, day DESC, hour DESC);!
Spark Connector!
リアルタイム
分析
オペレーショナル
データ
分析結果
検索結果
分析結果
分析結果
オペレーショナルデータ
Apache
Spark
と Apache
Cassandra
10. Store
a
ton
of
data
Analyze
a
ton
of
data
Apache
Spark
と
Apache
Cassandra
大量データをスキャンして
高速に集約、分析するのが得意
大量データをスキャンして
集約、分析するのが苦手
高速に、安全に大量のデータを
集めてくるのが得意
大量データを集めてくるのは
基本はバッチ処理
得意分野x得意分野
不得意分野を補う