最新Cassandraの3.0とDataStax version5.0
(GraphDB, Advanced Replication, Spark)
0 データベース業界に今起きていること
1 Cassandraの特徴
2 Cassandra3.0の新機能
3 DataStax Enterprise 5.0
4 DataStax Enterprise 5.0
5 OpsCenter 6.0
2© 2016 DataStax, All Rights Reserved.
©2015 DataStax Confidential. Do not distribute without consent.
OLTP
(RDBMS)
DWH
(RDBMS)
NoSQL
OLTP
(RDBMS)
DWH
(RDBMS)
Hadoop
分析・データベース
オペレーショナル
データベース
既存システム(RDB)
新システムへの要求
*データ量
*パフォマンス
*柔軟性
*可用性
*値段
分析・データベース
オペレーショナル
データベース
既存システム(RDB)
新システム(NoSQL)
今までRDB では不可能、又は実現するのに
コストが膨大にかかった領域
データベース業界に今起きていること
©2015 DataStax Confidential. Do not distribute without consent.
オペレーショナル DB vs. 分析 DB
Operational	Database:(オペレーショナル)
オンライントランザクション処理に代表される、日々のトラ
ンザクション処理を取り扱うデータベース:
例:
POSシステム
Webの入力システム
ATM 等
Analytic	Database:(分析)
オペレーショナルで集めたデータを一カ所に集約させ
、データ分析を行う
例:データマイニング、
スコアリング
BIOperational	
Database
オペレーショナルの世
界で最近になってやっ
と新技術が必要な事が
認識され始めた
(2006&2007	Google	BigTable論文と
Amazon	Dynamo論文)
NoSQL
Analytic
Database
分析データベースの世
界は実は10年前から
新技術がどんどん出て
きていた。
(2003&2004	
Google	GFS,	MapReduce論文)
DWH,	Hadoop等
©2015 DataStax Confidential. Do not distribute without consent.
Non-RDB
DB-ENGINESのランキ
ングで トップ15のう
ち6つがNon-RDB
逆を言えば、まだ9
個はRDB, かつ
Top3(Oracle,	MySQL,	
SQL	Server)は不動
特出すべき点は、
PostgreSQLより
MongoDBがすでに上
にあること
データベース業界の今
LAN/WAN
クライアント/
サーバー
リレーショナル
DBMS(RDBMS)
SNA
階層DB
Terminal
NoSQL DBMS
オープンシステム時代
(Oracle,Informix,
Sybase等)
メインフレーム時代(
IMS,DB2等)
もののインターネット(IoT)時代(クラウド、ネットワーク、分散)
(Bigdata,	Hadoop,	 Open	Source)
1970	年代
1990	年代
2010年以降
IoT, コンテンツの時代
クラウド
アプリケーションの時代
大きなコンピューターの時代
データベース業界の今
オープンシステム時代
(Oracle,Informix,
Sybase等)
メインフレーム時代(
IMS,DB2等)
もののインターネット(IoT)時代(クラウド、ネットワーク、分散、IoT)
(Bigdata,	Hadoop,	 Open	Source)
1970	年代
1990	年代
2010年以降
IoT, コンテンツの時代
アプリケーションの時代
大きなコンピューターの時代
リレーショナル
DBMS(RDBMS)
階層DB
NoSQL DBMS
シンプルな作り
と単純な業務の
置き換え、記録
のためのデータ
ベース
アプリケーション構造を
中心としたリレーショナ
ルデータモデルのデータ
ベース
コンテンツ、データを中心に
したデータセントリック・
データベース
Cassandra の特徴
©2016 DataStax Confidential. Do not distribute without consent.
• 高可用性
• High Availabilityの意味って分かっています?
アプリケーションから見たら、サーバー切替中なんて
High Availabilityじゃないんです
• パフォーマンス
• パフォーマンスは何を持って高パフォーマンスって言いますか?
TPC-xx? 違います。アーキテクチャーをちゃんと理解しましょ
う。。。
• スケーラビリティ
• Oracle RACとか、DB2 Purescale??
アーキテクチャーはちゃんと理解しましょう。。。
Cassandra の強み
©2016 DataStax Confidential. Do not distribute without consent.
高可用性
©2016 DataStax Confidential. Do not distribute without consent.
高可用性
x
x
x x
○ ○
©2016 DataStax Confidential. Do not distribute without consent.
スケーラビリティ(パフォーマンス)
©2016 DataStax Confidential. Do not distribute without consent.
スケーラビリティ(パフォーマンス)
x
x
x
○x
x x
Cassandraのアーキテクチャー
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandra
• Master, Slaveという関係がない
• Name node, gatekeeperといっ
た特別なノードの機能を持つ
ノードがない
• すべてのノード(マシン)が
完全に同じ機能を持つ
• 独立したマシンの集合体で1
つのDatabaseとなる
• データはHashされたKeyでアク
セスされ保持される
Cassandraのアーキテクチャー
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandra
• 内部で3つレプリカを持ち、
どれにアクセスしてもOK
• 他のマシンとの依存関係がな
いので他のマシンがダウンし
ても影響なし
• どのマシンにアクセスしても
同じ動きをする
• すべてのマシンがクライアン
トからのセッションを受け付
け処理を行う(コーディネー
タ)
• データは各マシンにコーディ
ネータにコンタクトを取る
x
複数データセンターのレプリケーションも容易
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandra
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandra
Cassandraのアーキテクチャー
C
CC
C
C
C C
CC
C
C
C
C
CC
C
C
C
C
CC
C
C
C
C
CC
C
C
C
Cassandra 3.0の新機能
©2016 DataStax Confidential. Do not distribute without consent.
• Windows版Cassandra
• JSON Support
• ストレージエンジン(圧縮1/10)
• DTCS
• Mview
• Hinted Handoff
• Roleでの権限管理
• User Defined Aggregation & User Defined Function(UDF)
Cassandra 3.0
©2016 DataStax Confidential. Do not distribute without consent.
• Javaなので動くのですが、Apache Cassandraとして
正式にWindows版Supportとなる
Windows版 Cassandra
©2016 DataStax Confidential. Do not distribute without consent.
• ???
• (そんなもん、MongoDBに任せればいいのに・・・ボソ)
• RDBMSでJSONサポートしました??
• (そんなもん、MongoDBに任せればいいのに・・・再度!)
JSON Support
CREATE TABLE users (
id uuid PRIMARY KEY,
name text,
state text,
birth_date int
);
INSERT INTO users (id, name, state,
birth_date)
VALUES(now(), 'Joe User', 'TX', 1982);
又は
INSERT INTO users JSON
'{"id": "1a4f88e2-6dc8-4edd-9e16-
a7ba9c941f8d",
"name": "Joe User",
"state": "TX",
"birth_date": 1982}';
©2016 DataStax Confidential. Do not distribute without consent.
JSON Support
User	Defined	Typeでも使えます
CREATE	TYPE	address	(number	int,	street	
text);
CREATE	TABLE	users	(
id	int PRIMARY	KEY,
street_address frozen<address>);
INSERT	INTO	users (id,	street_address)
VALUES	(1,	{number:	123,	street:	'Cassandra	
Ave'});
INSERT	INTO	users JSON
'{"id":	1,
"street_address":	{"number":	1,
"street":	"Cassandra Ave"}}';
Nestingでも使えます
CREATE	TYPE	address	(
street	text, city	text,	zip_code int,
phones	set<text>);
CREATE	TABLE	users (
id	uuid PRIMARY	KEY, name text,
addresses map<text,	frozen<address>>);
INSERT	INTO	users	JSON
'{"id":	"0514e410-2a9f-11e5-a2cb-
0800200c9a66","name":	"jellis",
"addresses":	{"home":	{"street":	"9920	
Cassandra	Ave","city":	"Austin","zip_code":	
78700,"phones":	 ["1238614789"]}}}';
©2016 DataStax Confidential. Do not distribute without consent.
ストレージエンジン(圧縮が1/10)
• すべてのカラムのカラム名をレコードと一緒に保存していた
• それをしないで、必要なレコードだけを保持するようにしただけ
©2016 DataStax Confidential. Do not distribute without consent.
DTCS(DateTieredCompactionStrategy)
• SizeTieiredCompactionStrategy(STCS):似たようなサイズをくっつける(デフォルト)
• LeveledCompactionStrategy(LCS):レベル分けしてSSTableをくっつける
• DateTieredCompacationStrategu(DCSC): 時間でSSTableを分けてまとめる(NEW)
DTCS
STCS
LCS
©2016 DataStax Confidential. Do not distribute without consent.
Matelialized View(Mview)
RDBのMviewとは全く違います
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandra
©2016 DataStax Confidential. Do not distribute without consent.
Matelialized View(Mview)
RDBのMviewとは全く違います
CassandraのIndexは別ノードを全て見てしまいます
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandraユーザ
Index
Index
Index
Index
Index
Index
©2016 DataStax Confidential. Do not distribute without consent.
Matelialized View(Mview)
RDBのMviewとは全く違います
CassandraのIndexは別ノードを全て見てしまいます
MviewはKeyを含むので、必要なノードにのみ
アクセスします
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandraユーザ
Mview
©2016 DataStax Confidential. Do not distribute without consent.
SASI (さっしー? サジー??)
SSTable Attached Secondary Index(SASI)というインデックスを
Apache CassandraにAPPLEがコントリビューションした新機能が入っています
V3.5以降、 Cassandraで Like検索ができるようになっています
©2016 DataStax Confidential. Do not distribute without consent.
Hinted Hndoff
通常、3つのノードにデータをレプリケーションとして
持っている場合、
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandraユーザ
データ
データ
データ
©2016 DataStax Confidential. Do not distribute without consent.
Hinted Hndoff
通常、3つのノードにデータをレプリケーションとして
持っている場合、
あるノードがDownしていた場合でも、
Cassandraの他のノードは独立して動いているので、
全く問題なく動きます。
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandraユーザ
データ
データ
x
©2016 DataStax Confidential. Do not distribute without consent.
Hinted Hndoff
通常、3つのノードにデータをレプリケーションとして
持っている場合、
あるノードがDownしていた場合でも、
Cassandraの他のノードは独立して動いているので、
全く問題なく動きます。
その場合、データをHintsとして
コーディネータはファイルに一定期間保持し、
ノードが復活した時に、最適用を自動的に実行します
Cassandra
CassandraCassandra
Cassandra
Cassandra
Cassandraユーザ
データ
データ
データ
○
©2016 DataStax Confidential. Do not distribute without consent.
Roleでの権限管理
CREATE	ROLE	accounting;
GRANT	all	ON	invoices	TO	accounting;
GRANT	select	ON	expenses	TO	accounting;
GRANT	select	ON	payroll	TO	accounting;
GRANT	accounting	TO	josie;
GRANT	accounting	TO	jay;
RDBMSみたい・・・
©2016 DataStax Confidential. Do not distribute without consent.
UDA&UDF
User	defined	Aggregation,	 User	Defined	Functionを書けるます。
中身はJava
CREATE	FUNCTION	my_sin(input	 double)
RETURNS	double	LANGUAGE	java
AS	’
return input	==	null
?	null
:	Double.valueOf(Math.sin(input.doubleValue()));
’;
SELECT	key,	my_sin(value)	FROM	my_table WHERE	key	IN	(1,	2,	3);
DataStax Enterpirse(DSE) 5.0
©2016 DataStax Confidential. Do not distribute without consent.
• Apache Cassandraをベースに、いつでも稼働、分散、高パフォーマン
ス、スケーラビリティを備えるクラウドアプリケーション向けの商用版
• キーバリュー、表形式、
• JSON/ドキュメント、グラフのようなマルチなデータモデルを
Cassandraをデータストアとしてサポート
• 商用版として、Apache Cassandraのサポートはもちろん、Open Source
のソフトをQ&Aし、エンタープライズのお客様
に安心して利用いただける
DataStax Enterprise(DSE)とは
ボトルネック
のないリニア
な拡張性
マスターレス
でSPOFのな
い可用性
ミリ秒単
位での大
量Tx処理
稼働率
100%の
信頼性
Key	Value Tabular GraphJSON
DataStax Enterprise(DSE)とは
マルチモデルの成り立たせるためには?
37
トランザクション
全文検索
分析
違ったワークロードを同じソフトで?
違ったワークロードを同じソフトで?
トランザクション
全文検索
分析
全文検索全文検索
トランザクション
マルチモデルの成り立たせるためには?
38
違ったワークロードを同じソフトで実現
全文検索
分析
C
CC
C
C
C
C
CC
C
C
C
C
CC
C
C
C
©2016 DataStax
• 複雑に絡み合ったデータ管理をスケールアウトできるGraphデータベース
• CassandraのDSEでGrpahモデルをサポート
• 大量データの共通点や異常値をデータの探索、リレーションシップから検知
• リアルタイムの全文検索をサポートし、Graph検索もDSEで可能
• DSEのマルチモデル・プラットフォームの一部
DataStax Enterprise Graph とは
©2016 DataStax
• Apache TinkerPop – 業界スタンダードのGraphフレームワークと言語をサ
ポート
• Cassandraとインテグレート – Cassandraの強みを継承(パフォーマンス、
スケール、マルチデータセンター、高可用性)
• TitanDB – オープンソースのGraphDBであるから移行も容易
• エンタープライズ向け – 分析、検索、自動ワークロード・マネージメント、
セキュリティ、管理、GUI, ドライバ、サポート等エンタープライズ向けの
DSEの強みを全て継承
• マルチモデル – キーバリュー、Tabular、JSON/ドキュメント、Graphを一つの
プラットフォームでサポート
•
DataStax Enterprise Graphとは
• レコメンデーション/パーフォナライゼーション – インフルエンサーになるお客様がどの製
品を購入して、早く他のユーザにレコメンドするのに最も効率的になのは?
• セキュリティと不正 – どのレコード、トランザクション、処理が不正であるかを早く見つ
け出す
• IoT / ネットワーク- 様々なディバイス、場所から収集するデータがどのような特徴を持
ち、関係があるのかを簡単に見つけ出す
• マスターデータマネージメントとプロファイル - 各ビジネスユニットにあるデータの関係と
分析と顧客の全体像を理解し分析する
©2016 DataStax Confidential. Do not distribute without consent.
ビジネスで使えるGraph
Graphのインテグレートされたソリューション
© 2016 DataStax, All Rights Reserved. 42
サーバー GUIによる管理とモニタリング
GUIによる直感的な開発ツール ドライバ(CQL,	Gremlin,	etc.)	
Java												Python															C++														More…
Accenture でのDSE Graph によるサイーバーセキュリティ攻撃を防御
© DataStax, All Rights Reserved.
DataStax Studio
©2016 DataStax
• ウェブベースの開発ソリューション
• 視覚的にDSE Graphデータベースのクエリを開発可能
• CQL, DSE Search, DSE Analyticsの開発も今後サポート予定
DataStax Studioとは
DataStax Enterprise 5.0 Details
©2016 DataStax
• データセンター間で一方通行のレプリケーションをすることができるように
なりました。データを送るだけのDatacenterを”edge”とし、中心となる”hub”
とします
• Ideal for retail, energy, and other “edge of the internet of things” use cases.
• 流通、エネルギー、IoTなどで利用できる
DSE Advanced Replication
©2016 DataStax
• 自動的にディスク間のデータを移動することができます。
• 高いコストをDISKにかけないようにできます
DSE Tiered Storage
©2016 DataStax
• 1つのマシンに複数のDSEインスタンスを簡単に
• 一台のマシンに持つことができる
• 大きなハードウェアリソースがデータベースアプリケーションに効率的に利
用されるべきです
• ハードウェアのコストは安くなります
•
DSE マルチインスタンス
©2016 DataStax
• コミットログと全文検索インデックスの暗号化
• ロール(Role)でのアクセスコントロール
• 複数のセキュリティ認証のプロトコル (e.g. Kerberos, LDAP, Active Directory,
internal Cassandra) tを1つのデータベースクラスタで利用可能
DSE 統一された認証
©2016 DataStax
• 外部のSparkクラスタとDSEのデータを繋げることが可能ですConnects
• 2つのプラットフォームでデータの移動、ジョインが可能
• Cloudera and Hortonworksをサポート
外部のSpark Clustersと連携
©2016 DataStax
• Cassandra 3.0.x の製品版です
もちろんCassandra 3.0
OpsCenter 6.0
©2016 DataStax
• DSE Graph をサポートします
• Graph データベースのコンフィギュのサポート
• エンタープライズ向けのクライアントツール
• SNMPのサポート
• Integration with Graphite monitoring tool.
OpsCenter 6.0
https://academy.datastax.com/downloads/welcom
e
©2016 DataStax Confidential. Do not distribute without consent.

Db tech showcase 2016