SlideShare a Scribd company logo
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.

More Related Content

PDF
TOUA M2M Solutions powered by Cloudian (Cloudian Summit 2012)
PDF
User interface of CLOUDIAN HyperStore
PDF
【CLOUDIAN】自動階層化による現有ストレージ活用術
PDF
Cloudian at cassandra conference in tokyo
PPTX
S3 API接続検証プログラムのご紹介
PDF
ownCloud and CLOUDIAN HyperStore
PDF
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現
PDF
スケールアウト型オブジェクトストレージの企業ITにおける使いどころ
TOUA M2M Solutions powered by Cloudian (Cloudian Summit 2012)
User interface of CLOUDIAN HyperStore
【CLOUDIAN】自動階層化による現有ストレージ活用術
Cloudian at cassandra conference in tokyo
S3 API接続検証プログラムのご紹介
ownCloud and CLOUDIAN HyperStore
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現
スケールアウト型オブジェクトストレージの企業ITにおける使いどころ

Viewers also liked (20)

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

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

PDF
Nosqlの基礎知識(2013年7月講義資料)
PDF
PDF
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
PDF
Cassandraとh baseの比較して入門するno sql
PDF
NoSQLとビックデータ入門編Update版
PDF
Osc2012 spring HBase Report
PDF
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
PDF
OSSとクラウドによるコンピューティングモデルの変化
PDF
NOSQLの基礎知識(講義資料)
PDF
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
PDF
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop
PDF
Facebookのリアルタイム Big Data 処理
PDF
社会ネットワーク分析第7回
PDF
InfoTalk springbreak_2012
PDF
Info talk #36
PDF
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
PPT
Hadoop ~Yahoo! JAPANの活用について~
PDF
データセンター視点で考えてみるHadoop
PDF
IEEE/ACM SC2013報告
PDF
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
Nosqlの基礎知識(2013年7月講義資料)
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
Cassandraとh baseの比較して入門するno sql
NoSQLとビックデータ入門編Update版
Osc2012 spring HBase Report
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
OSSとクラウドによるコンピューティングモデルの変化
NOSQLの基礎知識(講義資料)
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
[INSIGHT OUT 2011] b21 ひとつのデータベース技術では生き残れない part2 no sql, hadoop
Facebookのリアルタイム Big Data 処理
社会ネットワーク分析第7回
InfoTalk springbreak_2012
Info talk #36
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
Hadoop ~Yahoo! JAPANの活用について~
データセンター視点で考えてみるHadoop
IEEE/ACM SC2013報告
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
Ad

More from CLOUDIAN KK (14)

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