SlideShare a Scribd company logo
©2015 DataStax Confidential. Do not distribute without consent.
Apache Cassandra と Sparkの美味しい関係
1
DataStax
原沢滋
@Cassandrajapan
©2015 DataStax Confidential. Do not distribute without consent.
最初にApache Cassandraとは
©2015 DataStax Confidential. Do not distribute without consent.
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)
+
©2015 DataStax Confidential. Do not distribute without consent.
100,000+ ノード
数十ペタバイト
数百万件/秒以上オペレーション
最大クラスタのノード数1,000+
バージョンはv1.2 とv2.0を利用
(写真は昨年のもの)
©2015 DataStax Confidential. Do not distribute without consent.
ソニーにおけるApache Cassandra
•  Cassandraを6ヶ月でプロダクション
•  リニアスケーラビリティ
•  パフォーマンス
•  ダウンタイムがない
•  運用が楽
•  コスト
データスループット: Gigabytes/sec
トランザクション: >200,000/sec
データサイズ: Tens of terabytes
©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で提供
©2015 DataStax Confidential. Do not distribute without consent.
 7
©2015 DataStax Confidential. Do not distribute without consent.
 8
©2015 DataStax Confidential. Do not distribute without consent.
C*
C*
C*
C*C*
C*
Cassandra のアーキテクチャ
•  Shared Nothing (データだけでなく機能まで)
•  マスターという概念がなく、すべてのノードが完全に同じ機能を持つ
•  ハイパフォーマンスでリニアにスケールする
•  常にサービスを止めない
レプリケーション
(データのコピー)
は何台に持たせるかを決められる
Replication factor=3
7369,原沢
7369,原沢
7369,原沢
マシンが故障しても、
特定のマシンが特定の機能を
持っている訳ではないので、
他のデータのあるマシンが
同じ作業を全く問題なく処理
する事が可能
©2015 DataStax Confidential. Do not distribute without consent.
Cassandra のアーキテクチャ(マルチデータセンター)
•  複数のデータセンター内でのレプリケーションも自動で行う事が可能
•  双方向のマルチデータセンターでのレプリケーションを行う
•  どのデータセンターのどのノードを対象に対しても読み取り/書き込みが可能
•  故障時はドライバが判断して、接続できるノードに接続を行う
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
東京
大阪
クラウド
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
©2015 DataStax Confidential. Do not distribute without consent.
Cassandra のアーキテクチャ(マルチデータセンター)
•  複数のデータセンター内でのレプリケーションも自動で行う事が可能
•  双方向のマルチデータセンターでのレプリケーションを行う
•  どのデータセンターのどのノードを対象に対しても読み取り/書き込みが可能
•  故障時はドライバが判断して、接続できるノードに接続を行う
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
C*
東京
大阪
クラウド
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
7369,原沢
©2015 DataStax Confidential. Do not distribute without consent.
C*
C*
C*
C*C*
C*
Cassandra 向きのアプリケーション
7369,原沢
7369,原沢
7369,原沢
WEB
アプリケーション
Mobile, センサー
ゲーム、インターネット
IoT
リアルタイム
©2015 DataStax Confidential. Do not distribute without consent.
たとえば: 気象観測データの場合
すべての気象観測所のデータを

リアルタイムに時系列でCassandraに保持
アプリケーションは時系列でデータを取得
©2015 DataStax Confidential. Do not distribute without consent.
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);!
気象データを
• 気象観測所のIDで検索
• 気象観測所のIDと時間で検索
• 気象観測所のIDと時間の範囲で検索
たとえば: 気象観測データの場合
©2015 DataStax Confidential. Do not distribute without consent.
渋谷、東京
2015年12月9日
最高気温:17℃
最低気温:7℃
平均気温:10℃
でもちょっと統計を取ろうとすると大変
気象観測所のIDで集約統計したテーブルを用意
• 気象観測所のIDで検索
• 気象観測所のIDと時間で検索
• 気象観測所のIDと時間の範囲で検索
CREATE TABLE daily_aggregate_temperature (!
wsid text,!
year int,!
month int,!
day int,!
high double,!
low double,!
mean double,!
variance double,!
stdev double,!
PRIMARY KEY ((wsid), year, month, day)!
) WITH CLUSTERING ORDER BY (year DESC, month DESC, day DESC);!
©2015 DataStax Confidential. Do not distribute without consent.
Max, Min, Avgとか使えないの? 
使えません
基本すべてのデータに対しての集約関数はCassandraではありません
但し、最新版(CQL 3.3, Cassandra 2.2以降)では、今回のような
場合だと、気象観測所ID(WSID)がPartition Keyなので使えます。
が・・・例えば、東京23区のMax, Min, Avgはダメです
でもちょっと統計を取ろうとすると大変
©2015 DataStax Confidential. Do not distribute without consent.
どういうことか?
C*
C*
C*
C*C*
C*
7369,渋谷, 東京
7379,目黒,東京
7389,練馬,東京
分散データベースにおいて、データを複数マシンから集めて集約するのは
大変!!
東京23区のデータの
集約をしたい
7369,品川, 東京
7369,新宿, 東京
7369,世田谷, 東京
すべてのノードが処理、
各ノードで複数件レンジス
キャンする
分散オペレーショナルデータベースと
しては最悪のケース
なので
させない(できない)
!!!!
©2015 DataStax Confidential. Do not distribute without consent.
どういうことか?
C*
C*
C*
C*C*
C*
7369,渋谷, 東京
7379,目黒,東京
7389,練馬,東京
分散データベースにおいて、集約するのは推奨しない でも・・・
東京と渋谷のデータ
だけ集約したい
Partition Key(先ほど
のケースだとWSID)
のみ集約は可能 7369,品川, 東京
7369,新宿, 東京
7369,世田谷, 東京
1つのノードだけで
レンジスキャンする
分散オペレーショナルデータベースと
しては他のノードには影響を与えないので
許容する(Cassandra 2.2以降)
©2015 DataStax Confidential. Do not distribute without consent.
ちなみに
C*
C*
C*
C*C*
C*
7369,渋谷, 東京
7379,目黒,東京
7389,練馬,東京
分散データベースにおいて、Keyでデータを検索するのは最高!!
渋谷、東京の
1レコードだけ検索
7369,品川, 東京
7369,新宿, 東京
7369,世田谷, 東京
1つのノードで1レコードだけ検
索
分散オペレーショナルデータベースの為
の処理
ベスト!
しかも分散なので
複数ノードで大量に処理できる!!
✔ ✔
©2015 DataStax Confidential. Do not distribute without consent.
では、Apache Sparkとは?
©2015 DataStax Confidential. Do not distribute without consent.
Data Science at Scale
2009
©2015 DataStax Confidential. Do not distribute without consent.
Apache Sparkとは
Apache Spark is an open source cluster computing framework originally developed in the AMPLab at University of California, Berkeley but was later donated to the Apache Software Foundation where it remains today. In
contrast to Hadoop's two-stage disk-based MapReduce paradigm, Spark's multi-stage in-memory primitives provides performance up to 100 times faster for certain applications.[1] By allowing user programs to load data
into a cluster's memory and query it repeatedly, Spark is well-suited to machine learning algorithms.[2]
Spark requires a cluster manager and a distributed storage system. For cluster management, Spark supports standalone (native Spark cluster), Hadoop YARN, or Apache Mesos.[3] For distributed storage, Spark can
interface with a wide variety, including Hadoop Distributed File System (HDFS),[4] Cassandra,[5] OpenStack Swift, Amazon S3, Kudu, or a custom solution can be implemented. Spark also supports a pseudo-distributed
local mode, usually used only for development or testing purposes, where distributed storage is not required and the local file system can be used instead; in such a scenario, Spark is run on a single machine with one
executor per CPU core.
Spark had in excess of 465 contributors in 2014,[6] making it not only the most active project in the Apache Software Foundation[citation needed] but one of the most active open source big data projects.[citation needed
出典:Wikipedia https://en.wikipedia.org/wiki/Apache_Spark
•  Apache Sparkはopen Source のクラスターコンピューティングフレームワーク
•  AMPLab (UCB)が開発し、Apacheプロジェクトとなる
•  HadoopのMapReduceのMapとReduceの二回層の作りではなく、In-Memoryでのマルチ層での処理が可能
•  パフォーマンスはMapReduceの100倍?(特定のものでは・・・)
•  マシーン・ラーナニング向きであるとされる、なぜなら・・・
•  SparkはHadoopのように分散の複数のストレージを利用する(大量データ)
•  クラスターマネージメントとしては、Standalone, YARN, Mesosをサポート
•  いろいろの分散システムとのインターフェースを持つ(HDFS, Swift, S3, Kudu, CASSANDRA, etc…)
©2015 DataStax Confidential. Do not distribute without consent.
Sparkは大量データをスキャンするのが得意
Input Data
Map
Reduce
Intermediate Data
Output Data
ディスクMapReduce
©2015 DataStax Confidential. Do not distribute without consent.
メモリーを使って
Input Data
Spark Intermediate Data
Output Data
ディスク メモリー
©2015 DataStax Confidential. Do not distribute without consent.
Spark Streaming
Near Real-time
SparkSQL
Structured Data
MLLib
Machine Learning
GraphX
Graph Analysis
Sparkは大量データをスキャンするのが得意
©2015 DataStax Confidential. Do not distribute without consent.
Store a ton of data Analyze a ton of data
Cassandra と Sparkの良い関係
大量データをスキャンして
高速に集約、分析するのが得意
大量データをスキャンして
集約、分析するのが苦手
高速に、安全に大量のデータを
集めてくるのが得意
データを集めてくるのは不得意
バッチでデータを集めたりする
得意分野x得意分野
不得意分野を補う
©2015 DataStax Confidential. Do not distribute without consent.
Spark Streaming
Near Real-time
SparkSQL
Structured Data
MLLib
Machine Learning
GraphX
Graph Analysis
Cassandra と Sparkの良い関係
©2015 DataStax Confidential. Do not distribute without consent.
Spark Streaming
Near Real-time
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の良い関係
©2015 DataStax Confidential. Do not distribute without consent.
Cassandra
Cassandra +
Spark
Join, Union No Yes
データ変換
(Transformation)
Limited Yes
外部データとの連携 No Yes
計算、集計 Limited Yes
Cassandra と Sparkの良い関係
©2015 DataStax Confidential. Do not distribute without consent.
もちろんCassandraと同じレプリケーション機能がありますのでデータは
レプリケーションされる
分散データを各
ノードで分析する

パラレル処理
を行う事が可能
各ノードにCassandraとSpark
Cassandra と Sparkの良い関係
©2015 DataStax Confidential. Do not distribute without consent.
えっ!! でもちょっと待って!!
Cassandra と Sparkの良い関係
てなるって
P17で
言ったじゃ
ん!
レンジスキャン
したら
©2015 DataStax Confidential. Do not distribute without consent.
はい・・・ 正しいです。
Cassandra と Sparkの良い関係
なので・・・
©2015 DataStax Confidential. Do not distribute without consent.
Cassandra と Sparkの良い関係
こうすれば完璧です。マルチデータセンター
オペレーショナル
環境
分析環境双方向レプリケーション
©2015 DataStax Confidential. Do not distribute without consent.
ETL不要!!(リアルタイムのデータの反映)
Cassandra と Sparkの良い関係
オペレーション
©2015 DataStax Confidential. Do not distribute without consent.
リアルタイムにオペレーショナルに負担なしで分析
Cassandra と Sparkの良い関係
オペレーション
©2015 DataStax Confidential. Do not distribute without consent.
分析結果をリアルタイムでオペレーショナル環境に反映
Cassandra と Sparkの良い関係
分析結果の書き込みリアルタイムの分析
結果の検索
©2015 DataStax Confidential. Do not distribute without consent.
Executer
Master
Worker
Executer
Executer
ノード
各Cassandra+Sparkノードでは
©2015 DataStax Confidential. Do not distribute without consent.
Executer
Master
Worker
Executer
Executer
SELECT *!
FROM keyspace.table!
WHERE token(pk) > 75!
AND token(pk) <= 99!
Spark RDD
Spark Partition!
Spark Partition!
Spark Partition!
Spark Connector!
各Cassandra+Sparkノードでは
ノード
©2015 DataStax Confidential. Do not distribute without consent.
Executer
Master
Worker
Executer
Executer
Spark RDD
Spark Partition!
Spark Partition!
Spark Partition!
各Cassandra+Sparkノードでは
ノード
©2015 DataStax Confidential. Do not distribute without consent.
Cassandra
Only DC
Cassandra
+ Spark DC
Spark Jobs
Spark Streaming
Hot データ、Warm データCold データ
MapReduce
Pig
Hive/Tez
Spark
Storm
Hbase
HDFS
YARN
データレイクのように
バッチでデータを集めて分析処理
Nearリアルタイムで分析処理をSpark Streamingも可能
Cassandra と Sparkの良い関係
©2015 DataStax Confidential. Do not distribute without consent.
Spark Streaming
Near Real-time
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の良い関係
リアルタイム
分析
オペレーショナル
データ
分析結果
検索結果
分析結果
分析結果
オペレーショナルデータ
©2015 DataStax Confidential. Do not distribute without consent.
Store a ton of data Analyze a ton of data
Cassandra と Sparkの良い関係
©2015 DataStax Confidential. Do not distribute without consent.
ありがとうございました
Twitter account: @cassandrajapanで情報発信しています
 

More Related Content

What's hot (20)

Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステム
yuichiro nakazawa
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTT DATA OSS Professional Services
 
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA JapanプロジェクトのこれまでとこれからLinux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
 
NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定
Kan Itani
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
Cloudera Japan
 
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Makoto Haruyama
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステム
yuichiro nakazawa
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTT DATA OSS Professional Services
 
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA JapanプロジェクトのこれまでとこれからLinux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
 
NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定NetApp XCP データ移行ツールインストールと設定
NetApp XCP データ移行ツールインストールと設定
Kan Itani
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
Cloudera Japan
 
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Makoto Haruyama
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
 
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 

Similar to SparkとCassandraの美味しい関係 (20)

Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Spring
datastaxjp
 
Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Spring
Shigeru Harasawa
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
smdkk
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax Enterpriseをはじめよう
Yuki Morishita
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
NTT Communications Technology Development
 
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
datastaxjp
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandra
datastaxjp
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache Cassandra
Yuki Morishita
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
 
Spark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについてSpark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについて
Recruit Technologies
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
NTT DATA OSS Professional Services
 
Couchbase introduction-20150611
Couchbase introduction-20150611Couchbase introduction-20150611
Couchbase introduction-20150611
Couchbase Japan KK
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
Insight Technology, Inc.
 
Azure Datalake 大全
Azure Datalake 大全Azure Datalake 大全
Azure Datalake 大全
Daiyu Hatakeyama
 
AWS初心者向けWebinar AWSでBig Data活用
AWS初心者向けWebinar AWSでBig Data活用AWS初心者向けWebinar AWSでBig Data活用
AWS初心者向けWebinar AWSでBig Data活用
Amazon Web Services Japan
 
Accelerating AdTech on AWS #AWSAdTechJP
Accelerating AdTech on AWS #AWSAdTechJPAccelerating AdTech on AWS #AWSAdTechJP
Accelerating AdTech on AWS #AWSAdTechJP
Eiji Shinohara
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
日本マイクロソフト株式会社
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
Satoru Ishikawa
 
Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Spring
datastaxjp
 
Cassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 SpringCassandra Meetup Tokyo, 2016 Spring
Cassandra Meetup Tokyo, 2016 Spring
Shigeru Harasawa
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
smdkk
 
Datastax Enterpriseをはじめよう
Datastax EnterpriseをはじめようDatastax Enterpriseをはじめよう
Datastax Enterpriseをはじめよう
Yuki Morishita
 
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
[db tech showcase Tokyo 2015] E35: Web, IoT, モバイル時代のデータベース、Apache Cassandraを学ぼう
datastaxjp
 
(LT)Spark and Cassandra
(LT)Spark and Cassandra(LT)Spark and Cassandra
(LT)Spark and Cassandra
datastaxjp
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache Cassandra
Yuki Morishita
 
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
 
Spark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについてSpark Summit 2014 の報告と最近の取り組みについて
Spark Summit 2014 の報告と最近の取り組みについて
Recruit Technologies
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
NTT DATA OSS Professional Services
 
Couchbase introduction-20150611
Couchbase introduction-20150611Couchbase introduction-20150611
Couchbase introduction-20150611
Couchbase Japan KK
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
Insight Technology, Inc.
 
AWS初心者向けWebinar AWSでBig Data活用
AWS初心者向けWebinar AWSでBig Data活用AWS初心者向けWebinar AWSでBig Data活用
AWS初心者向けWebinar AWSでBig Data活用
Amazon Web Services Japan
 
Accelerating AdTech on AWS #AWSAdTechJP
Accelerating AdTech on AWS #AWSAdTechJPAccelerating AdTech on AWS #AWSAdTechJP
Accelerating AdTech on AWS #AWSAdTechJP
Eiji Shinohara
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
日本マイクロソフト株式会社
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
Satoru Ishikawa
 
Ad

More from datastaxjp (11)

Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016
datastaxjp
 
Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2
datastaxjp
 
検索エンジンPatheeがAzureとCassandraをどう利用しているのか
検索エンジンPatheeがAzureとCassandraをどう利用しているのか検索エンジンPatheeがAzureとCassandraをどう利用しているのか
検索エンジンPatheeがAzureとCassandraをどう利用しているのか
datastaxjp
 
Cassandra v3.0 at Rakuten meet-up on 12/2/2015
Cassandra v3.0 at Rakuten meet-up on 12/2/2015Cassandra v3.0 at Rakuten meet-up on 12/2/2015
Cassandra v3.0 at Rakuten meet-up on 12/2/2015
datastaxjp
 
Investigation of Transactions in Cassandra
Investigation of Transactions in CassandraInvestigation of Transactions in Cassandra
Investigation of Transactions in Cassandra
datastaxjp
 
Cassandra summit 2015 レポート
Cassandra summit 2015 レポートCassandra summit 2015 レポート
Cassandra summit 2015 レポート
datastaxjp
 
Cassandra Meetup Tokyo, 2015 Summer
Cassandra Meetup Tokyo, 2015 SummerCassandra Meetup Tokyo, 2015 Summer
Cassandra Meetup Tokyo, 2015 Summer
datastaxjp
 
Cassandra and Spark
Cassandra and Spark Cassandra and Spark
Cassandra and Spark
datastaxjp
 
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
datastaxjp
 
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
datastaxjp
 
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
datastaxjp
 
Db tech showcase 2016
Db tech showcase 2016Db tech showcase 2016
Db tech showcase 2016
datastaxjp
 
Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2Cassandra Meetup Tokyo, 2016 Spring 2
Cassandra Meetup Tokyo, 2016 Spring 2
datastaxjp
 
検索エンジンPatheeがAzureとCassandraをどう利用しているのか
検索エンジンPatheeがAzureとCassandraをどう利用しているのか検索エンジンPatheeがAzureとCassandraをどう利用しているのか
検索エンジンPatheeがAzureとCassandraをどう利用しているのか
datastaxjp
 
Cassandra v3.0 at Rakuten meet-up on 12/2/2015
Cassandra v3.0 at Rakuten meet-up on 12/2/2015Cassandra v3.0 at Rakuten meet-up on 12/2/2015
Cassandra v3.0 at Rakuten meet-up on 12/2/2015
datastaxjp
 
Investigation of Transactions in Cassandra
Investigation of Transactions in CassandraInvestigation of Transactions in Cassandra
Investigation of Transactions in Cassandra
datastaxjp
 
Cassandra summit 2015 レポート
Cassandra summit 2015 レポートCassandra summit 2015 レポート
Cassandra summit 2015 レポート
datastaxjp
 
Cassandra Meetup Tokyo, 2015 Summer
Cassandra Meetup Tokyo, 2015 SummerCassandra Meetup Tokyo, 2015 Summer
Cassandra Meetup Tokyo, 2015 Summer
datastaxjp
 
Cassandra and Spark
Cassandra and Spark Cassandra and Spark
Cassandra and Spark
datastaxjp
 
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
[Cassandra summit Tokyo, 2015] Apache Cassandra日本人コミッターが伝える、"Apache Cassandra...
datastaxjp
 
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
datastaxjp
 
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
datastaxjp
 
Ad

SparkとCassandraの美味しい関係

  • 1. ©2015 DataStax Confidential. Do not distribute without consent. Apache Cassandra と Sparkの美味しい関係 1 DataStax 原沢滋 @Cassandrajapan
  • 2. ©2015 DataStax Confidential. Do not distribute without consent. 最初にApache Cassandraとは
  • 3. ©2015 DataStax Confidential. Do not distribute without consent. 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. ©2015 DataStax Confidential. Do not distribute without consent. 100,000+ ノード 数十ペタバイト 数百万件/秒以上オペレーション 最大クラスタのノード数1,000+ バージョンはv1.2 とv2.0を利用 (写真は昨年のもの)
  • 5. ©2015 DataStax Confidential. Do not distribute without consent. ソニーにおけるApache Cassandra •  Cassandraを6ヶ月でプロダクション •  リニアスケーラビリティ •  パフォーマンス •  ダウンタイムがない •  運用が楽 •  コスト データスループット: Gigabytes/sec トランザクション: >200,000/sec データサイズ: Tens of terabytes
  • 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で提供
  • 7. ©2015 DataStax Confidential. Do not distribute without consent. 7
  • 8. ©2015 DataStax Confidential. Do not distribute without consent. 8
  • 9. ©2015 DataStax Confidential. Do not distribute without consent. C* C* C* C*C* C* Cassandra のアーキテクチャ •  Shared Nothing (データだけでなく機能まで) •  マスターという概念がなく、すべてのノードが完全に同じ機能を持つ •  ハイパフォーマンスでリニアにスケールする •  常にサービスを止めない レプリケーション (データのコピー) は何台に持たせるかを決められる Replication factor=3 7369,原沢 7369,原沢 7369,原沢 マシンが故障しても、 特定のマシンが特定の機能を 持っている訳ではないので、 他のデータのあるマシンが 同じ作業を全く問題なく処理 する事が可能
  • 10. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra のアーキテクチャ(マルチデータセンター) •  複数のデータセンター内でのレプリケーションも自動で行う事が可能 •  双方向のマルチデータセンターでのレプリケーションを行う •  どのデータセンターのどのノードを対象に対しても読み取り/書き込みが可能 •  故障時はドライバが判断して、接続できるノードに接続を行う C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* 東京 大阪 クラウド 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢
  • 11. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra のアーキテクチャ(マルチデータセンター) •  複数のデータセンター内でのレプリケーションも自動で行う事が可能 •  双方向のマルチデータセンターでのレプリケーションを行う •  どのデータセンターのどのノードを対象に対しても読み取り/書き込みが可能 •  故障時はドライバが判断して、接続できるノードに接続を行う C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* C* 東京 大阪 クラウド 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢 7369,原沢
  • 12. ©2015 DataStax Confidential. Do not distribute without consent. C* C* C* C*C* C* Cassandra 向きのアプリケーション 7369,原沢 7369,原沢 7369,原沢 WEB アプリケーション Mobile, センサー ゲーム、インターネット IoT リアルタイム
  • 13. ©2015 DataStax Confidential. Do not distribute without consent. たとえば: 気象観測データの場合 すべての気象観測所のデータを
 リアルタイムに時系列でCassandraに保持 アプリケーションは時系列でデータを取得
  • 14. ©2015 DataStax Confidential. Do not distribute without consent. 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);! 気象データを • 気象観測所のIDで検索 • 気象観測所のIDと時間で検索 • 気象観測所のIDと時間の範囲で検索 たとえば: 気象観測データの場合
  • 15. ©2015 DataStax Confidential. Do not distribute without consent. 渋谷、東京 2015年12月9日 最高気温:17℃ 最低気温:7℃ 平均気温:10℃ でもちょっと統計を取ろうとすると大変 気象観測所のIDで集約統計したテーブルを用意 • 気象観測所のIDで検索 • 気象観測所のIDと時間で検索 • 気象観測所のIDと時間の範囲で検索 CREATE TABLE daily_aggregate_temperature (! wsid text,! year int,! month int,! day int,! high double,! low double,! mean double,! variance double,! stdev double,! PRIMARY KEY ((wsid), year, month, day)! ) WITH CLUSTERING ORDER BY (year DESC, month DESC, day DESC);!
  • 16. ©2015 DataStax Confidential. Do not distribute without consent. Max, Min, Avgとか使えないの?  使えません 基本すべてのデータに対しての集約関数はCassandraではありません 但し、最新版(CQL 3.3, Cassandra 2.2以降)では、今回のような 場合だと、気象観測所ID(WSID)がPartition Keyなので使えます。 が・・・例えば、東京23区のMax, Min, Avgはダメです でもちょっと統計を取ろうとすると大変
  • 17. ©2015 DataStax Confidential. Do not distribute without consent. どういうことか? C* C* C* C*C* C* 7369,渋谷, 東京 7379,目黒,東京 7389,練馬,東京 分散データベースにおいて、データを複数マシンから集めて集約するのは 大変!! 東京23区のデータの 集約をしたい 7369,品川, 東京 7369,新宿, 東京 7369,世田谷, 東京 すべてのノードが処理、 各ノードで複数件レンジス キャンする 分散オペレーショナルデータベースと しては最悪のケース なので させない(できない) !!!!
  • 18. ©2015 DataStax Confidential. Do not distribute without consent. どういうことか? C* C* C* C*C* C* 7369,渋谷, 東京 7379,目黒,東京 7389,練馬,東京 分散データベースにおいて、集約するのは推奨しない でも・・・ 東京と渋谷のデータ だけ集約したい Partition Key(先ほど のケースだとWSID) のみ集約は可能 7369,品川, 東京 7369,新宿, 東京 7369,世田谷, 東京 1つのノードだけで レンジスキャンする 分散オペレーショナルデータベースと しては他のノードには影響を与えないので 許容する(Cassandra 2.2以降)
  • 19. ©2015 DataStax Confidential. Do not distribute without consent. ちなみに C* C* C* C*C* C* 7369,渋谷, 東京 7379,目黒,東京 7389,練馬,東京 分散データベースにおいて、Keyでデータを検索するのは最高!! 渋谷、東京の 1レコードだけ検索 7369,品川, 東京 7369,新宿, 東京 7369,世田谷, 東京 1つのノードで1レコードだけ検 索 分散オペレーショナルデータベースの為 の処理 ベスト! しかも分散なので 複数ノードで大量に処理できる!! ✔ ✔
  • 20. ©2015 DataStax Confidential. Do not distribute without consent. では、Apache Sparkとは?
  • 21. ©2015 DataStax Confidential. Do not distribute without consent. Data Science at Scale 2009
  • 22. ©2015 DataStax Confidential. Do not distribute without consent. Apache Sparkとは Apache Spark is an open source cluster computing framework originally developed in the AMPLab at University of California, Berkeley but was later donated to the Apache Software Foundation where it remains today. In contrast to Hadoop's two-stage disk-based MapReduce paradigm, Spark's multi-stage in-memory primitives provides performance up to 100 times faster for certain applications.[1] By allowing user programs to load data into a cluster's memory and query it repeatedly, Spark is well-suited to machine learning algorithms.[2] Spark requires a cluster manager and a distributed storage system. For cluster management, Spark supports standalone (native Spark cluster), Hadoop YARN, or Apache Mesos.[3] For distributed storage, Spark can interface with a wide variety, including Hadoop Distributed File System (HDFS),[4] Cassandra,[5] OpenStack Swift, Amazon S3, Kudu, or a custom solution can be implemented. Spark also supports a pseudo-distributed local mode, usually used only for development or testing purposes, where distributed storage is not required and the local file system can be used instead; in such a scenario, Spark is run on a single machine with one executor per CPU core. Spark had in excess of 465 contributors in 2014,[6] making it not only the most active project in the Apache Software Foundation[citation needed] but one of the most active open source big data projects.[citation needed 出典:Wikipedia https://en.wikipedia.org/wiki/Apache_Spark •  Apache Sparkはopen Source のクラスターコンピューティングフレームワーク •  AMPLab (UCB)が開発し、Apacheプロジェクトとなる •  HadoopのMapReduceのMapとReduceの二回層の作りではなく、In-Memoryでのマルチ層での処理が可能 •  パフォーマンスはMapReduceの100倍?(特定のものでは・・・) •  マシーン・ラーナニング向きであるとされる、なぜなら・・・ •  SparkはHadoopのように分散の複数のストレージを利用する(大量データ) •  クラスターマネージメントとしては、Standalone, YARN, Mesosをサポート •  いろいろの分散システムとのインターフェースを持つ(HDFS, Swift, S3, Kudu, CASSANDRA, etc…)
  • 23. ©2015 DataStax Confidential. Do not distribute without consent. Sparkは大量データをスキャンするのが得意 Input Data Map Reduce Intermediate Data Output Data ディスクMapReduce
  • 24. ©2015 DataStax Confidential. Do not distribute without consent. メモリーを使って Input Data Spark Intermediate Data Output Data ディスク メモリー
  • 25. ©2015 DataStax Confidential. Do not distribute without consent. Spark Streaming Near Real-time SparkSQL Structured Data MLLib Machine Learning GraphX Graph Analysis Sparkは大量データをスキャンするのが得意
  • 26. ©2015 DataStax Confidential. Do not distribute without consent. Store a ton of data Analyze a ton of data Cassandra と Sparkの良い関係 大量データをスキャンして 高速に集約、分析するのが得意 大量データをスキャンして 集約、分析するのが苦手 高速に、安全に大量のデータを 集めてくるのが得意 データを集めてくるのは不得意 バッチでデータを集めたりする 得意分野x得意分野 不得意分野を補う
  • 27. ©2015 DataStax Confidential. Do not distribute without consent. Spark Streaming Near Real-time SparkSQL Structured Data MLLib Machine Learning GraphX Graph Analysis Cassandra と Sparkの良い関係
  • 28. ©2015 DataStax Confidential. Do not distribute without consent. Spark Streaming Near Real-time 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の良い関係
  • 29. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra Cassandra + Spark Join, Union No Yes データ変換 (Transformation) Limited Yes 外部データとの連携 No Yes 計算、集計 Limited Yes Cassandra と Sparkの良い関係
  • 30. ©2015 DataStax Confidential. Do not distribute without consent. もちろんCassandraと同じレプリケーション機能がありますのでデータは レプリケーションされる 分散データを各 ノードで分析する
 パラレル処理 を行う事が可能 各ノードにCassandraとSpark Cassandra と Sparkの良い関係
  • 31. ©2015 DataStax Confidential. Do not distribute without consent. えっ!! でもちょっと待って!! Cassandra と Sparkの良い関係 てなるって P17で 言ったじゃ ん! レンジスキャン したら
  • 32. ©2015 DataStax Confidential. Do not distribute without consent. はい・・・ 正しいです。 Cassandra と Sparkの良い関係 なので・・・
  • 33. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra と Sparkの良い関係 こうすれば完璧です。マルチデータセンター オペレーショナル 環境 分析環境双方向レプリケーション
  • 34. ©2015 DataStax Confidential. Do not distribute without consent. ETL不要!!(リアルタイムのデータの反映) Cassandra と Sparkの良い関係 オペレーション
  • 35. ©2015 DataStax Confidential. Do not distribute without consent. リアルタイムにオペレーショナルに負担なしで分析 Cassandra と Sparkの良い関係 オペレーション
  • 36. ©2015 DataStax Confidential. Do not distribute without consent. 分析結果をリアルタイムでオペレーショナル環境に反映 Cassandra と Sparkの良い関係 分析結果の書き込みリアルタイムの分析 結果の検索
  • 37. ©2015 DataStax Confidential. Do not distribute without consent. Executer Master Worker Executer Executer ノード 各Cassandra+Sparkノードでは
  • 38. ©2015 DataStax Confidential. Do not distribute without consent. Executer Master Worker Executer Executer SELECT *! FROM keyspace.table! WHERE token(pk) > 75! AND token(pk) <= 99! Spark RDD Spark Partition! Spark Partition! Spark Partition! Spark Connector! 各Cassandra+Sparkノードでは ノード
  • 39. ©2015 DataStax Confidential. Do not distribute without consent. Executer Master Worker Executer Executer Spark RDD Spark Partition! Spark Partition! Spark Partition! 各Cassandra+Sparkノードでは ノード
  • 40. ©2015 DataStax Confidential. Do not distribute without consent. Cassandra Only DC Cassandra + Spark DC Spark Jobs Spark Streaming Hot データ、Warm データCold データ MapReduce Pig Hive/Tez Spark Storm Hbase HDFS YARN データレイクのように バッチでデータを集めて分析処理 Nearリアルタイムで分析処理をSpark Streamingも可能 Cassandra と Sparkの良い関係
  • 41. ©2015 DataStax Confidential. Do not distribute without consent. Spark Streaming Near Real-time 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の良い関係 リアルタイム 分析 オペレーショナル データ 分析結果 検索結果 分析結果 分析結果 オペレーショナルデータ
  • 42. ©2015 DataStax Confidential. Do not distribute without consent. Store a ton of data Analyze a ton of data Cassandra と Sparkの良い関係
  • 43. ©2015 DataStax Confidential. Do not distribute without consent. ありがとうございました Twitter account: @cassandrajapanで情報発信しています