More Related Content
Similar to Cloudian presentation for Cassandra Conference 2012 in Tokyo (20)
More from CLOUDIAN KK (13)
Cloudian presentation for Cassandra Conference 2012 in Tokyo
- 5. 商用サービスでの採用実績
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 5
- 6. S3 APIによるアクセス
アプリケーション ユーザー
クライアント・ライブラリー
ロード・バランサー ロード・バランサー
Web画面(
画面(CMC)
画面( )
S3 互換 REST API
Cloudian S3
ストレージノード
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 6
- 7. S3 APIの例 - オブジェクトの格納
PUT /my-image.jpg HTTP/1.1
Host: my-bucket.s3.mydomain.jp
Date: Fri, 14 Sep 2012 17:50:00 GMT
Authorization: アクセスキー:シグネチャー
Content-Type: text/plain
Content-Length: 11434
Expect: 100-continue
…(以降、オブジェクトのデータ)
REST - HTTP/HTTPSによるステートレスな通信
シグネチャーは、リクエストの内容と時刻をシークレットキーで
ハッシュ値化したもの
第3者が傍受しても、シークレットキーなしでは再実⾏や改ざん不可
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 7
- 8. ネットワークファイルサーバー(NFS/CIFS)
アプリケーション ユーザー
NFS / CIFS
S3対応ゲートウェイ(他社製品)
NAS ゲートウェイ
でファイルサーバー化
ロード・バランサー
S3 互換 REST API
Cloudian S3
ストレージノード
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 8
- 9. 管理API
RESTful API
JSON形式のデータ
ユーザー システム管理者 課金システム
ロード・バランサー ロード・バランサー
Web画面(
画面(CMC)
画面( )
管理API
管理
Cloudian
管理機能
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 9
- 10. ⾼度なS3機能をカバー + 独自の追加機能
将来のS3機能
⾼度なS3機能
マルチパート・アップロード
Cloudian独自追加機能
ACL、オブジェクト・バージョニング
ロケーション・コンストレイン
マルチ・テナント
公開URLアクセス 等
利⽤量制御(QoS)
基本S3 API互換
互換
Put、Get、Head、Delete、等 利⽤量レポート
基本オブジェクトストレージ機能
バーチャル・バケット
RESTful API、メタデータ付与
オブジェクトをバケットに格納、分散と複製 マルチ・データセンター
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 10
- 11. ⾼度なS3 APIの例 - ロケーション・コンストレイン
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 11
- 12. ⾼度なS3 APIの例 - オブジェクト・バージョニング
http://docs.amazonwebservices.com/AmazonS3/latest/dev/ObjectVersioning.html
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 12
- 13. 複数データセンター対応
100台〜400台の
クラスター
データを
論理リング 複数のノード
に自動複製
DC1
DC2
複数データセンターや
ラック単位で指定可能
ノード追加や縮退時に、
自動でデータリバランス
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 13
- 17. Cassandraを採用
0.7.xで採用、現在はv1.0.7を使用
ソースコードをフォークしてカスタマイズ
Hectorクライアント
S3オブジェクトの格納にCassandraの分散アルゴリ
ズムを使用
データの分散、複製
ノードの死活監視
S3オブジェクト本体はファイルシステムに格納
スケールアウト型の分散データベースとして
オブジェクトのメタデータ
使⽤状況データ
ユーザーやグループ
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 17
- 18. Cassandraの採用理由
スケーラブル
稼働中にノードを追加することでキャパシティを向上
分散(ピアツーピア・アーキテクチャ)、単一故障点がない
信頼性
ネットワークやハードウェア故障への耐性
データセンター間の複製
調整可能な整合性レベル(consistency level)
便利な機能
TTL、二次インデックス、カウンター、圧縮、暗号化など
⾼速
特に書き込みが高速
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 18
- 19. 複数のNOSQLを評価 6ノード、3複製、Read Heavy
遅延時間の
遅延時間の中央値
95パーセンタイル値 30分間で
バリューサイズ (ミリ秒)
(ミリ秒)
スループット
(件/秒)
処理した
1KB
Get Put Get Put
件数
Hibari 0.1.8 1.027 1.676 3.069 2.881 8,775 15,804,196
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
Riak 1.0.1
LevelDB 3.281 5.541 22.296 74.663 8,489 15,288,692
出典:「NOSQLの基礎知識」 リックテレコム、2012年4月出版
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 19
- 20. 単一故障点を解消(No SPOF)
DC1 DC2
ロード・バランサー ロード・バランサー
S3API/管理API S3API/管理API S3API/管理API S3API/管理API
サーバー サーバー サーバー サーバー
Redisマスタ Redisスレーブ Redisスレーブ Redisスレーブ
Cassandra Cassandra Cassandra Cassandra
HyperStore HyperStore HyperStore HyperStore
S3API/管理API S3API/管理API S3API/管理API S3API/管理API
サーバー サーバー サーバー サーバー
Cassandra Cassandra Cassandra Cassandra
HyperStore HyperStore HyperStore HyperStore
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 20
- 22. Cassandra にS3オブジェクトのメタデータを格納
メタデータ
オブジェクトのサイズ、Etag、MD5、タイムスタンプ、ACL、
パートの情報、バージョン、ユーザー定義メタデータ、など
Row key: group + user + bucket
Column names:
object name + version + part info + timestamp
Wide row
オブジェクトのリスティングにカラムソートを活⽤
Column Column Column
Name Name Name
Random Row
Partitioner Key Value Value … Value
Column Family Sorted by Column Name
22
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved.
- 24. 大きなデータの扱いで性能が劣化
遅延時間の
遅延時間の中央値
95パーセンタイル値 30分間で
(ミリ秒)
(ミリ秒)
バリューサイズ スループット
(件/秒)
処理した
100KB 件数
Get Put Get Put
Hibari 0.1.8 9.268 12.299 61.914 75.934 2,073 3,733,136
Cassandra 1.0 28.551 9.992 379.745 155.680 1,699 3,060,198
Cassandra
34.099 8.402 1,015.888 333.048 1,336 2,406,446
0.8.6
出典:「NOSQLの基礎知識」 リックテレコム、2012年4月出版
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 24
- 26. HyperStoreを利用しない時と⽐較して
書き込み:約30%高速化
読み出し:約400%高速化
ディスク容量の利⽤効率:50%→80%に向上
HyperStore無し
HyperStore HyperStore有り
HyperStore
iostat %
utilization
io read/write
(MB)
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 26
- 27. HyperStoreの仕組み
メタデータは引き続きCassandraに格納
Cassandraの分散アルゴリズムを用いて
データ分散、複製、死活監視を実現
Cassandraのソースをフォークしてカスタマイズ
利点
性能の向上
ディスク使⽤量の効率化
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 27
- 28. Cassandra: 現状の課題
ノードリペア
低速、性能への影響、進捗のモニタリングが困難
コンパクション
性能に多⼤な影響がある、チューニングが困難、
キャパシティプランニングが困難
⼤量のカラムに対する column slice
キャッシュ(row + key)の効果が薄い
これらはCassandraコミュニティーでよく知られた
弱点であり、Cassandraの開発版では解決済みのも
のもある
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 28
- 29. まとめ
Cassandraなどのイネーブリングテクノロジーにより
クラウドストレージ・プロバイダー各社が同じ土俵に
⽴つことが可能に
• Cloudian評価版お申し込み:
• http://cloudian.jp/cloud-storage-products/cloudian_eval_agr.php
Copyright © 2012 Cloudian Inc. & KK All Rights Reserved. Page 29