SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
2

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
3

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
4

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
5

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
6

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
7

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
8

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
http://ja.wikipedia.org/wiki/NoSQL

9

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
http://www.slideshare.net/sunsuk7tp/hbase-at-line
10

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
図0-3

経済産業省
「スマートメーター制度研究会報告書」
より抜粋

0
序
章
ビ
ッ
グ
デ
ー
タ
の
時
代

11

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
12

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
 Bigtable や Dynamo の論文発表が契機となり、
ソフトウェアによる大
規模分散技術は俄かに脚光を浴びました。
ビッグデータに直面していた
Web サービスのエンジニア達がこれに触発され、
Bigtable や Dynamo の
図0-2

13

Google Bigtableと Amazon Dynamo の発表論文
(表紙の一部)

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
ンソースとしてリリースされました。
その後 Cassandra は、
大規模な
ニュース関連 SNS であるDigg
(ディッグ) クラウドサービスの大手
や、
図1-2

14

代表的なNOSQL の利用企業の例

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
15

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
16

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
17

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
18

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
http://db-engines.com/en/blog_post/19

19

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
http://db-engines.com/en/ranking

1

1583.84

2

MySQL

1331.34

3

Microsoft SQL Server

1207.00

4

PostgreSQL

177.01

5

DB2

175.83

6

MongoDB

149.48

7

Microsoft Access

142.49

8

SQLite

77.88

9

Sybase

73.66

10

Teradata

54.41

11

Apache Cassandra

52.92

12

Apache Solr

43.33

13

Redis

36.01

16

Apache HBase

28.32

19

CouchDB

18.67

23

Neo4J

10.66

28
20

Oracle Database

Riak

7.85
Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
http://beautifuldata.net/2012/01/
telling-stories-with-network-data-instagram-in-china/
21

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
22

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Copyright (C) H. Takatsuji 2010
23

http://www.ie.reitaku-u.ac.jp/~tak/rdb2/rdb2-01.html
Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
おけるデータ分割のイメージ

サーバー 1

サーバー 2

サーバー 3

サーバー 4

ーを指定するだけでバリューを探し出せるキー・バリュー型で

Cloudian Inc. & KK – Except where複
ケールアウトにより数十台、
数百台にサーバーが増えても、otherwise noted, content on this document is licensed
24

under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
http://www.neo4j.org/learn/nosql
25

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
型データモデルのイメージ

す。
新しいデータが追加されるごとに、
行が加えられて

が増えるに従って、
表が縦の方向に伸びていくイメージ

ー型に該当する NOSQL データベースには、
Dynamo、

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

26
、
Hibari、
Redis、
Scalaris ス カラリス ) Tokyo Cabi(
、
・バリュー型におけるデータ分割のイメージ

サーバー 1

サーバー 2

2
第

サーバー 3

サーバー 4

2
章
N
O
S
Q
L
の
デ
ー
タ
モ
デ
ル

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

27
複数のサーバーに複数のバリューを複製する
0 キー・バリュー型におけるデータの複製

サーバー 1

複製

複製

サーバー 2

複製

サーバー 3

28

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

のような課題に対するソリューションを実装しておらず、
単独のサー
{ author:
created:
title:
text:
tags:
comments :
}
29

'joe',
new Date('03/28/2009'),
'Yet another blog post',
'Here is the text...',
[ 'example', 'joe' ],
[ { author: 'jim',
comment: 'I disagree'},
{ author: 'nancy', comment: 'Good post' }]

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
ファミリー」
を定義します。
その中でツィートID は、 2-14 のように、
図
新
しいツィートが発生するごとに、
行として縦方向に追加されていきます。
図2-14

カラム指向型における行の追加
ツィート・カラムファミリー
カラム
行キー

キー ィートID)
(ツ

ユーザー ID

ユーザーネーム

ボディ

タイムスタンプ

t342

u2415

gemini

NOSQL is fun

1234567

新しいツィートごとに新しい行を加える
図2-13

カラムの名前を固定しなくてよい
ユーザーライン・カラムファミリー
 このデータベースにおいて、
ユーザーのツィートを取得するには、
ユー
カラム

ザーライン・カラムファミリーからユーザーのツィートID を取得し、
各
行キー

タイムスタンプ

キー
(ユーザー ID)

1234567

1234568

1234569

u2415

t342

t353

t389

72_第2章_責.indd 063
30

ツィート ID

2.4 カラム指向型の特徴

新しいツィートごとに新しい行を加える

2

063

第

2
章
Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
N
2012/04/06 10:59:47
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
O
31

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
32

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
33

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
http://www.neo4j.org/learn/try

34

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
35

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
36

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
37

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
38

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
39

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
40

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Hibari DBのクラスター構成(Chain Replication)

41

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
そして、
その整理番号に従って、
リングの各スペースにキーを割り当て

0.45

す。
キーが割り当てられたスペースを時計回りで進み、
そこで最初に配

キーのハッシュ値

されているノードにデータを書き込むというルールのアルゴリズムです。

13 コンシステント・ハッシングの概念図

図3-16

ノード
A

0.75

コンシステント・ハッシングにおける負荷割り当ての調整
ノード
A

キーのハッシュ値

0.0

ノード
D

ノード C が取り除かれた場合

0.0

0.20

0.25

ノード
B

ノード
D

ノード
C

0.5
データ複製

ノード
C

0.75

0.25

ノード
B

0.70

データ複製
ノード C にデータの割り当てを増やす

グレーのノードにデータの複製を割り当て

図 3-13 では、
ハッシュ値を 0.0 から1.0 の間で設定しています。 つの
4

ノー
ードがリング状に配置され、
ノード Aには 0.0、
ノード B には 0.25、
には 0.5、
ノード D には 0.75という値が割り当てられています。
もし、
096

ーの値
(ハッシュ関数の演算結果) 0.2 だった場合、
が
ノード A の 0.0と

ード B の 0.25 の間にキーのハッシュ値があるので、
時計回りで進んだ

P073-117_第3章_責.indd 096

初のノード Bにデータを書き込むよう、
割り当てが行われます。
そして、

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
の複製を行うと設定していた場合には、
隣のノード C、 under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
その隣のノー
42

2012
 図 3-19 のように Bigtable では、
辞書配列に従ってキーの値がソートさ

図3-19

*

Bigtable のデータ割当て
タブレット
(リージョン)
行キー:
[ Arkansas , California )
行キー:
[ California , California-LosAngeles )
行キー:
[ California-LosAngeles , Colorado )
行キー:
[ Colorado , Florida )

タブレット
(リージョン)
サーバー 1

タブレット
(リージョン)
サーバー 2

3 ガベージコレクショ (Garbage Collection:GC)
ン
とは、
プログラムが実行の際に確保したメ
モリ
領域のう 不要になった領域を解放する処理です。同様に、 ドディ
ち、
ハー
スク上で不要になった領域
を削除する処理もこのよ
うに呼ばれます。
いずれの場合においても、
その都度解放や削除を行う り
よ
も、
ある程度不要な領域が溜まった時に一括して行う とで、
こ
全般的な性能を稼ぐのがこの仕組み
の目的です。
43

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
ACM
(Association for Computing Machinery)
が主催した PODC
(Principle Of Distributed Computing)
シンポジウムにおける
「Towards Robust Distributed Systems」
と題した基調講演の中でのことでした。
図3-6

Eric Brewer の CAP 定理

3
第

Consistency
整合性

Availability
可用性

Tolerance to network

「分散システムにおいては、
これら 3 つのうち最大 2 つ
しか満たすことができない」

分断耐性

(2000 年 7 月 19 日 PODC 基調講演)

Partitions

44

3
章
基ア
本ー
概キ
念テ
とク
技チ
術ャ
の

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
通常のケース:
(1)
クライアントはデータの更新要求を A または B のいずれか
  一方に送る。
(2) と B はデータが更新されたことを他方に通知する。
A
(3)
通知を受けた側は、自分のデータにその更新を反映する。

クライアント 1

クライアント 2

リクエスト

データ

データ

A

B
レプリケーション
(複製)

 ①クライアント1が Aに対して更新要求を出し、
Aは自身の持つデー
タを更新する。

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

 ② A はデータが更新されたことを B に伝え、 は自身の持つデータ
B
45
46

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
ア
ョンや業務上の要求条件次第です。 ン
ライアント 1
クライアント 2
ト
が
書
き
生じた場合
込
み
CP
(整合性と分断耐性)
の場合:
リクエストは片方のグループ
(仮に A)リ
ク
だけが受け付け、他のグループは
エ
A
B
ス
自主的に停止する。
ト
を
クライアント 1
クライアント 2 送
る

3
第

3A
B
章
基ア
本ー
AP 概 キ
(可用性と分断耐性)
の場合:
念テ
リクエストは全てのグループが受け
とク
技チ
付けるが、A と B のデータは不整合
術ャ
となる。
の
クライアント 1

クライアント 2

ク
ラ
イ
ア
データ
データ
ン
ト
A
B
A
B
が
書
き
込
(可用性と分断耐性)
の場合:
み AP
リ リクエストは全てのグループが受け KK – Except where otherwise noted, content on this document is licensed
Cloudian Inc. &
ク 47
under a
付けるが、A と B のデータは不整合 Creative Commons Attribution-NonCommercial 3.0 Unported License.
しょう。
以下のような形で表されます。
   R + W >N の場合には、
整合性が保証できる
図3-10

Quorum の概念図 + W <N]
[R
R+W<N の場合
書き込み
(W=1)

読み出し
(R=1)

?

?

?

複製
(N=3)
ノード 1

ノード 2

ノード 3

書き込みが 1 つのノードに行われているが、ノード
1.2.3 のどのノードから 1 つだけデータを読み出すか
はわからない。

_第3章_責.indd 088

48

2012/04/06 11:06:34

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
果的にデータの整合性を保証できることになります。
図3-11

Quorum の概念図 + W >N]
[R
R+W>N の場合
書き込み
(W=2)

読み出し
(R=2)

複製
(N=3)
ノード 1

ノード 2

ノード 3

書き込みが 2 つのノードに行われ、読み出しが 2 つ
のノードに行われれば、必ず書き込みが行われた 2
つのノードのうちの 1 つに行きつく。

3.2 データの整合性に関する概念と技術

責.indd 089

089

2012/04/06 11:06:35

49

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
 CAP 定理に基づいた NOSQL データベースの分類が、
Nathan Hurst
*2
氏のブログ
「Visual Guide to NOSQL Systems」 で紹介されています。

図3-7

CAP 定理によるNOSQL の分類

可用性 :

Cassandra
HBase
Riak
MongoDB
整合性
Redis
Infinispan
Neo4J
VoltDB (NewSQL)

どのクライアントも
常に読み出しと書き込み
ができる

A

CA

RDBMS
(MySQL、
Postgres 等)
Aster Data
Greenplum
Vertica

AP

2 者選択

C

Bigtable
Hypertable
HBase

Dynamo
Voldemort
Tokyo Cabinet
KAI

Cassandra
SimpleDB
CouchDB
Riak

P 分断耐性

:
物理ネットワークが分断
されても間違った結果を
引き起こさない

:
すべてのクライアント
が常に同一のデータを
見ている

50

リレーショナル型
(比較対照)
キー・バリュー型
データモデル
カラム指向型/テーブル
ドキュメント指向型

CP

MongoDB
Terrastore
Scalaris

Berkeley DB
Memcache DB
Redis

Cloudian Inc. & KK – Except where otherwise noted, content on this document(整合性と分
 図 3-7 を見ると、
ほぼ全ての NOSQL データベースが、 is licensed
CP
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

断耐性) AP
か (可用性と分断耐性)
に分類されていることがわかると思い
Apache Cassandra

51

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
52

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Basho Riak

53

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
54

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Redis

55

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
56

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
57

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
58

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
59

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
60

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
61

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
These icons on this page are licensed to Tatsuya Kawano under
RF Clipart Standard License. http://rfclipart.com/ Please do not reuse.
62

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
RDB

1970年代

1995年ごろ

2008年

2010年

NOSQL

63

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
64

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
65

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
66

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Redis
Cassandra
HyperStore
http://cloudian.jp/cloud-storage-products/cloudian.html

67

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
68

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Admin
サーバー
S3
サーバー

認証情報
(Redis)
QoS
(Redis)

データストア
(Cassandra)

アカウント情報

Cloudian
サーバー

69

(Cassandra)

Reporting
(Cassandra)

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Cassandra 1.0

1.016

0.949

2.476

4.789

8,748

15,755,306

Cassandra 0.8.6

1.282

0.948

5.729

2.243

8,700

15,668,017

Cassandra 1.0

28.551

9.992

379.745

155.680

1,699

3,060,198

Cassandra 0.8.6

34.099

8.402

1,015.888

333.048

1,336

2,406,446

70

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Admin
サーバー
S3
サーバー

認証情報
(Redis)
QoS
(Redis)

データストア
(ファイルシステム)

HyperStore™
Manager

データストア
(Cassandra)

Cloudian
サーバー

アカウント情報
(Cassandra)

Reporting
(Cassandra)

71

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
ms

50.0
37.5

>30% faster

PUT-Cass
PUT-HS

25.0
12.5
0
0

1

60.0

10

100

1000

KB

45.0

>400% faster

GET-Cass
GET-HS

30.0
15.0
0
0

72

1

KB
Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
10
100
1000
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
73

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
74

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
75

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
76

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
77

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
78

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
79

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
80

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Questions?
http://gplus.to/tatsuya6502
http://twitter.com/tatsuya6502

81

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
82

Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed
under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

Más contenido relacionado

Destacado

Centaurs Grp Profile July10
Centaurs Grp Profile   July10Centaurs Grp Profile   July10
Centaurs Grp Profile July10
tim_lambert
 

Destacado (20)

Object Storage: How Can it Work for You
Object Storage: How Can it Work for YouObject Storage: How Can it Work for You
Object Storage: How Can it Work for You
 
Cloudstack European user group 11 april 2013
Cloudstack European user group   11 april 2013Cloudstack European user group   11 april 2013
Cloudstack European user group 11 april 2013
 
Hawley Hamlet Lincoln Nebraska
Hawley Hamlet Lincoln Nebraska Hawley Hamlet Lincoln Nebraska
Hawley Hamlet Lincoln Nebraska
 
Cloudian & cloudstack
Cloudian & cloudstackCloudian & cloudstack
Cloudian & cloudstack
 
Dynamic Object Routing
Dynamic Object RoutingDynamic Object Routing
Dynamic Object Routing
 
Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101
 
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
 
ITコアを刷新するハイブリッドクラウド型ITシステム
ITコアを刷新するハイブリッドクラウド型ITシステムITコアを刷新するハイブリッドクラウド型ITシステム
ITコアを刷新するハイブリッドクラウド型ITシステム
 
Cloudian at cloud week 2013
Cloudian at cloud week 2013Cloudian at cloud week 2013
Cloudian at cloud week 2013
 
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
 
【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装
 
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
 
【Cloudian】FIT2015における会社製品紹介
【Cloudian】FIT2015における会社製品紹介【Cloudian】FIT2015における会社製品紹介
【Cloudian】FIT2015における会社製品紹介
 
Hadoop and CLOUDIAN HyperStore
Hadoop and CLOUDIAN HyperStoreHadoop and CLOUDIAN HyperStore
Hadoop and CLOUDIAN HyperStore
 
CLOUDIAN at Support Engineer Night
CLOUDIAN at Support Engineer NightCLOUDIAN at Support Engineer Night
CLOUDIAN at Support Engineer Night
 
CloudBerry and CLOUDIAN HyperStore
CloudBerry and CLOUDIAN HyperStoreCloudBerry and CLOUDIAN HyperStore
CloudBerry and CLOUDIAN HyperStore
 
【FOBAS】Data is money. ストレージ分散投資のススメ
【FOBAS】Data is money. ストレージ分散投資のススメ【FOBAS】Data is money. ストレージ分散投資のススメ
【FOBAS】Data is money. ストレージ分散投資のススメ
 
強力公益粉絲團
強力公益粉絲團強力公益粉絲團
強力公益粉絲團
 
Centaurs Grp Profile July10
Centaurs Grp Profile   July10Centaurs Grp Profile   July10
Centaurs Grp Profile July10
 
Nabokov
NabokovNabokov
Nabokov
 

Más de CLOUDIAN KK

Más de CLOUDIAN KK (14)

CLOUDIAN HYPERSTORE - 風林火山ストレージ
CLOUDIAN HYPERSTORE - 風林火山ストレージCLOUDIAN HYPERSTORE - 風林火山ストレージ
CLOUDIAN HYPERSTORE - 風林火山ストレージ
 
クラウディアンのご紹介
クラウディアンのご紹介クラウディアンのご紹介
クラウディアンのご紹介
 
CLOUDIAN Presentation at VERITAS VISION in Tokyo
CLOUDIAN Presentation at VERITAS VISION in TokyoCLOUDIAN Presentation at VERITAS VISION in Tokyo
CLOUDIAN Presentation at VERITAS VISION in Tokyo
 
Auto tiering and Versioning of CLOUDIAN HyperStore
Auto tiering and Versioning of CLOUDIAN HyperStoreAuto tiering and Versioning of CLOUDIAN HyperStore
Auto tiering and Versioning of CLOUDIAN HyperStore
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStore
 
AWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStoreAWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStore
 
ZiDOMA data and CLOUDIAN HyperStore
ZiDOMA data and CLOUDIAN HyperStoreZiDOMA data and CLOUDIAN HyperStore
ZiDOMA data and CLOUDIAN HyperStore
 
FOBAS CSC and CLOUDIAN HyperStore
FOBAS CSC and CLOUDIAN HyperStoreFOBAS CSC and CLOUDIAN HyperStore
FOBAS CSC and CLOUDIAN HyperStore
 
ARCserve backup and CLOUDIAN HyperStore
ARCserve backup and CLOUDIAN HyperStoreARCserve backup and CLOUDIAN HyperStore
ARCserve backup and CLOUDIAN HyperStore
 
Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016
 
ビッグデータ分析基盤が直面する課題をオブジェクトストレージで解決
ビッグデータ分析基盤が直面する課題をオブジェクトストレージで解決ビッグデータ分析基盤が直面する課題をオブジェクトストレージで解決
ビッグデータ分析基盤が直面する課題をオブジェクトストレージで解決
 
NetApp SteelStore with CLOUDIAN HyperStore
NetApp SteelStore with CLOUDIAN HyperStoreNetApp SteelStore with CLOUDIAN HyperStore
NetApp SteelStore with CLOUDIAN HyperStore
 
File server by CLOUDIAN HyperStore
File server by CLOUDIAN HyperStoreFile server by CLOUDIAN HyperStore
File server by CLOUDIAN HyperStore
 
Nikkei sangyo forum 2014
Nikkei sangyo forum 2014Nikkei sangyo forum 2014
Nikkei sangyo forum 2014
 

「NOSQLの基礎知識」講義資料 第20回JDMC定例セミナー(201310)

  • 1. Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 2. 2 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 3. 3 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 4. 4 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 5. 5 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 6. 6 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 7. 7 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 8. 8 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 9. http://ja.wikipedia.org/wiki/NoSQL 9 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 10. http://www.slideshare.net/sunsuk7tp/hbase-at-line 10 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 11. 図0-3 経済産業省 「スマートメーター制度研究会報告書」 より抜粋 0 序 章 ビ ッ グ デ ー タ の 時 代 11 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 12. 12 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 13.  Bigtable や Dynamo の論文発表が契機となり、 ソフトウェアによる大 規模分散技術は俄かに脚光を浴びました。 ビッグデータに直面していた Web サービスのエンジニア達がこれに触発され、 Bigtable や Dynamo の 図0-2 13 Google Bigtableと Amazon Dynamo の発表論文 (表紙の一部) Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 14. ンソースとしてリリースされました。 その後 Cassandra は、 大規模な ニュース関連 SNS であるDigg (ディッグ) クラウドサービスの大手 や、 図1-2 14 代表的なNOSQL の利用企業の例 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 15. 15 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 16. 16 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 17. 17 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 18. 18 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 19. http://db-engines.com/en/blog_post/19 19 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 20. http://db-engines.com/en/ranking 1 1583.84 2 MySQL 1331.34 3 Microsoft SQL Server 1207.00 4 PostgreSQL 177.01 5 DB2 175.83 6 MongoDB 149.48 7 Microsoft Access 142.49 8 SQLite 77.88 9 Sybase 73.66 10 Teradata 54.41 11 Apache Cassandra 52.92 12 Apache Solr 43.33 13 Redis 36.01 16 Apache HBase 28.32 19 CouchDB 18.67 23 Neo4J 10.66 28 20 Oracle Database Riak 7.85 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 21. http://beautifuldata.net/2012/01/ telling-stories-with-network-data-instagram-in-china/ 21 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 22. 22 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 23. Copyright (C) H. Takatsuji 2010 23 http://www.ie.reitaku-u.ac.jp/~tak/rdb2/rdb2-01.html Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 24. おけるデータ分割のイメージ サーバー 1 サーバー 2 サーバー 3 サーバー 4 ーを指定するだけでバリューを探し出せるキー・バリュー型で Cloudian Inc. & KK – Except where複 ケールアウトにより数十台、 数百台にサーバーが増えても、otherwise noted, content on this document is licensed 24 under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 25. http://www.neo4j.org/learn/nosql 25 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 26. 型データモデルのイメージ す。 新しいデータが追加されるごとに、 行が加えられて が増えるに従って、 表が縦の方向に伸びていくイメージ ー型に該当する NOSQL データベースには、 Dynamo、 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. 26 、 Hibari、 Redis、 Scalaris ス カラリス ) Tokyo Cabi( 、
  • 27. ・バリュー型におけるデータ分割のイメージ サーバー 1 サーバー 2 2 第 サーバー 3 サーバー 4 2 章 N O S Q L の デ ー タ モ デ ル Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. 27 複数のサーバーに複数のバリューを複製する
  • 28. 0 キー・バリュー型におけるデータの複製 サーバー 1 複製 複製 サーバー 2 複製 サーバー 3 28 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. のような課題に対するソリューションを実装しておらず、 単独のサー
  • 29. { author: created: title: text: tags: comments : } 29 'joe', new Date('03/28/2009'), 'Yet another blog post', 'Here is the text...', [ 'example', 'joe' ], [ { author: 'jim', comment: 'I disagree'}, { author: 'nancy', comment: 'Good post' }] Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 30. ファミリー」 を定義します。 その中でツィートID は、 2-14 のように、 図 新 しいツィートが発生するごとに、 行として縦方向に追加されていきます。 図2-14 カラム指向型における行の追加 ツィート・カラムファミリー カラム 行キー キー ィートID) (ツ ユーザー ID ユーザーネーム ボディ タイムスタンプ t342 u2415 gemini NOSQL is fun 1234567 新しいツィートごとに新しい行を加える 図2-13 カラムの名前を固定しなくてよい ユーザーライン・カラムファミリー  このデータベースにおいて、 ユーザーのツィートを取得するには、 ユー カラム ザーライン・カラムファミリーからユーザーのツィートID を取得し、 各 行キー タイムスタンプ キー (ユーザー ID) 1234567 1234568 1234569 u2415 t342 t353 t389 72_第2章_責.indd 063 30 ツィート ID 2.4 カラム指向型の特徴 新しいツィートごとに新しい行を加える 2 063 第 2 章 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed N 2012/04/06 10:59:47 under a Creative Commons Attribution-NonCommercial 3.0 Unported License. O
  • 31. 31 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 32. 32 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 33. 33 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 34. http://www.neo4j.org/learn/try 34 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 35. 35 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 36. 36 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 37. 37 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 38. 38 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 39. 39 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 40. 40 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 41. Hibari DBのクラスター構成(Chain Replication) 41 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 42. そして、 その整理番号に従って、 リングの各スペースにキーを割り当て 0.45 す。 キーが割り当てられたスペースを時計回りで進み、 そこで最初に配 キーのハッシュ値 されているノードにデータを書き込むというルールのアルゴリズムです。 13 コンシステント・ハッシングの概念図 図3-16 ノード A 0.75 コンシステント・ハッシングにおける負荷割り当ての調整 ノード A キーのハッシュ値 0.0 ノード D ノード C が取り除かれた場合 0.0 0.20 0.25 ノード B ノード D ノード C 0.5 データ複製 ノード C 0.75 0.25 ノード B 0.70 データ複製 ノード C にデータの割り当てを増やす グレーのノードにデータの複製を割り当て 図 3-13 では、 ハッシュ値を 0.0 から1.0 の間で設定しています。 つの 4 ノー ードがリング状に配置され、 ノード Aには 0.0、 ノード B には 0.25、 には 0.5、 ノード D には 0.75という値が割り当てられています。 もし、 096 ーの値 (ハッシュ関数の演算結果) 0.2 だった場合、 が ノード A の 0.0と ード B の 0.25 の間にキーのハッシュ値があるので、 時計回りで進んだ P073-117_第3章_責.indd 096 初のノード Bにデータを書き込むよう、 割り当てが行われます。 そして、 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed の複製を行うと設定していた場合には、 隣のノード C、 under a Creative Commons Attribution-NonCommercial 3.0 Unported License. その隣のノー 42 2012
  • 43.  図 3-19 のように Bigtable では、 辞書配列に従ってキーの値がソートさ 図3-19 * Bigtable のデータ割当て タブレット (リージョン) 行キー: [ Arkansas , California ) 行キー: [ California , California-LosAngeles ) 行キー: [ California-LosAngeles , Colorado ) 行キー: [ Colorado , Florida ) タブレット (リージョン) サーバー 1 タブレット (リージョン) サーバー 2 3 ガベージコレクショ (Garbage Collection:GC) ン とは、 プログラムが実行の際に確保したメ モリ 領域のう 不要になった領域を解放する処理です。同様に、 ドディ ち、 ハー スク上で不要になった領域 を削除する処理もこのよ うに呼ばれます。 いずれの場合においても、 その都度解放や削除を行う り よ も、 ある程度不要な領域が溜まった時に一括して行う とで、 こ 全般的な性能を稼ぐのがこの仕組み の目的です。 43 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 44. ACM (Association for Computing Machinery) が主催した PODC (Principle Of Distributed Computing) シンポジウムにおける 「Towards Robust Distributed Systems」 と題した基調講演の中でのことでした。 図3-6 Eric Brewer の CAP 定理 3 第 Consistency 整合性 Availability 可用性 Tolerance to network 「分散システムにおいては、 これら 3 つのうち最大 2 つ しか満たすことができない」 分断耐性 (2000 年 7 月 19 日 PODC 基調講演) Partitions 44 3 章 基ア 本ー 概キ 念テ とク 技チ 術ャ の Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 45. 通常のケース: (1) クライアントはデータの更新要求を A または B のいずれか   一方に送る。 (2) と B はデータが更新されたことを他方に通知する。 A (3) 通知を受けた側は、自分のデータにその更新を反映する。 クライアント 1 クライアント 2 リクエスト データ データ A B レプリケーション (複製)  ①クライアント1が Aに対して更新要求を出し、 Aは自身の持つデー タを更新する。 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.  ② A はデータが更新されたことを B に伝え、 は自身の持つデータ B 45
  • 46. 46 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 47. ア ョンや業務上の要求条件次第です。 ン ライアント 1 クライアント 2 ト が 書 き 生じた場合 込 み CP (整合性と分断耐性) の場合: リクエストは片方のグループ (仮に A)リ ク だけが受け付け、他のグループは エ A B ス 自主的に停止する。 ト を クライアント 1 クライアント 2 送 る 3 第 3A B 章 基ア 本ー AP 概 キ (可用性と分断耐性) の場合: 念テ リクエストは全てのグループが受け とク 技チ 付けるが、A と B のデータは不整合 術ャ となる。 の クライアント 1 クライアント 2 ク ラ イ ア データ データ ン ト A B A B が 書 き 込 (可用性と分断耐性) の場合: み AP リ リクエストは全てのグループが受け KK – Except where otherwise noted, content on this document is licensed Cloudian Inc. & ク 47 under a 付けるが、A と B のデータは不整合 Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 48. しょう。 以下のような形で表されます。    R + W >N の場合には、 整合性が保証できる 図3-10 Quorum の概念図 + W <N] [R R+W<N の場合 書き込み (W=1) 読み出し (R=1) ? ? ? 複製 (N=3) ノード 1 ノード 2 ノード 3 書き込みが 1 つのノードに行われているが、ノード 1.2.3 のどのノードから 1 つだけデータを読み出すか はわからない。 _第3章_責.indd 088 48 2012/04/06 11:06:34 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 49. 果的にデータの整合性を保証できることになります。 図3-11 Quorum の概念図 + W >N] [R R+W>N の場合 書き込み (W=2) 読み出し (R=2) 複製 (N=3) ノード 1 ノード 2 ノード 3 書き込みが 2 つのノードに行われ、読み出しが 2 つ のノードに行われれば、必ず書き込みが行われた 2 つのノードのうちの 1 つに行きつく。 3.2 データの整合性に関する概念と技術 責.indd 089 089 2012/04/06 11:06:35 49 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 50.  CAP 定理に基づいた NOSQL データベースの分類が、 Nathan Hurst *2 氏のブログ 「Visual Guide to NOSQL Systems」 で紹介されています。 図3-7 CAP 定理によるNOSQL の分類 可用性 : Cassandra HBase Riak MongoDB 整合性 Redis Infinispan Neo4J VoltDB (NewSQL) どのクライアントも 常に読み出しと書き込み ができる A CA RDBMS (MySQL、 Postgres 等) Aster Data Greenplum Vertica AP 2 者選択 C Bigtable Hypertable HBase Dynamo Voldemort Tokyo Cabinet KAI Cassandra SimpleDB CouchDB Riak P 分断耐性 : 物理ネットワークが分断 されても間違った結果を 引き起こさない : すべてのクライアント が常に同一のデータを 見ている 50 リレーショナル型 (比較対照) キー・バリュー型 データモデル カラム指向型/テーブル ドキュメント指向型 CP MongoDB Terrastore Scalaris Berkeley DB Memcache DB Redis Cloudian Inc. & KK – Except where otherwise noted, content on this document(整合性と分  図 3-7 を見ると、 ほぼ全ての NOSQL データベースが、 is licensed CP under a Creative Commons Attribution-NonCommercial 3.0 Unported License. 断耐性) AP か (可用性と分断耐性) に分類されていることがわかると思い
  • 51. Apache Cassandra 51 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 52. 52 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 53. Basho Riak 53 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 54. 54 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 55. Redis 55 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 56. 56 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 57. 57 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 58. 58 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 59. 59 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 60. 60 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 61. 61 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 62. These icons on this page are licensed to Tatsuya Kawano under RF Clipart Standard License. http://rfclipart.com/ Please do not reuse. 62 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 63. RDB 1970年代 1995年ごろ 2008年 2010年 NOSQL 63 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 64. 64 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 65. 65 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 66. 66 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 67. Redis Cassandra HyperStore http://cloudian.jp/cloud-storage-products/cloudian.html 67 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 68. 68 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 69. Admin サーバー S3 サーバー 認証情報 (Redis) QoS (Redis) データストア (Cassandra) アカウント情報 Cloudian サーバー 69 (Cassandra) Reporting (Cassandra) Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 70. Cassandra 1.0 1.016 0.949 2.476 4.789 8,748 15,755,306 Cassandra 0.8.6 1.282 0.948 5.729 2.243 8,700 15,668,017 Cassandra 1.0 28.551 9.992 379.745 155.680 1,699 3,060,198 Cassandra 0.8.6 34.099 8.402 1,015.888 333.048 1,336 2,406,446 70 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 72. ms 50.0 37.5 >30% faster PUT-Cass PUT-HS 25.0 12.5 0 0 1 60.0 10 100 1000 KB 45.0 >400% faster GET-Cass GET-HS 30.0 15.0 0 0 72 1 KB Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed 10 100 1000 under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 73. 73 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 74. 74 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 75. 75 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 76. 76 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 77. 77 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 78. 78 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 79. 79 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 80. 80 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 81. Questions? http://gplus.to/tatsuya6502 http://twitter.com/tatsuya6502 81 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 82. 82 Cloudian Inc. & KK – Except where otherwise noted, content on this document is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.