introduction to windows azure storage

14

Click here to load reader

Upload: takekazu-omi

Post on 10-May-2015

1.366 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Introduction to windows azure storage

Windows Azure Storage再入門

kyrt @takekazuomi

公開情報から読む Windows Azure Storage の仕組み

http://www.slideshare.net/takekazuomi/gwab-windows-azure-storage

Page 2: Introduction to windows azure storage

アジェンダ

• Storage の3つの種類と Azure Platform 内の Role• WAS のアーキテクチャ コンポーネント• ストレージスタンプのレイヤー構造• ストリームレイヤーの概要• sealed extents の eraser coding

• パーテーションレイヤの概要• コミット ログ ストリーム、ブルーム フィルター

• Gen2 の変更点

04/11/2023 kyrt @takekazuomi 2

Page 3: Introduction to windows azure storage

blob, table, queue

• 種類は 3 つ、 Windows Azure Platform の基盤を構成する分散 Storage• Blob が大活躍

Blob Table Queuerest file system• Block/Page• CDN• Virtual Machine

OS/Data Disk• Azure Drive• etc

structure data key/valueschema less• diagnostics• etc

messaging queue• storage base rpc• etc

04/11/2023 kyrt @takekazuomi 3

Page 4: Introduction to windows azure storage

partition は分散の単位

• Blob, Table ,Queue の partition• Blob は、 URL 毎、 Table は、 partition key 、 Queue は queue 毎で別の

partition

• partition のパフォーマンスターゲット• 2,000   tran/s(queue/table)• 480Mbps/s (blob)

• アカウント全体• 20,000 tran/s(table,queue)※• 受信 – 10GBps• 送信 – 15GBps

参照: http://blogs.msdn.com/b/windowsazure/archive/2012/11/02/windows-azure-s-flat-network-storage-and-2012-scalability-targets.aspx04/11/2023 kyrt @takekazuomi 4

Page 5: Introduction to windows azure storage

Windows Azure Storage のアーキテクチャーコンポーネン

s

front end

partition Layer

stream layer

storage stamp

VIP

s

front end

partition Layer

stream layer

storage stamp

VIPDNS

ロケーションサービス

アカウント管理

DNS 参照

blob, table, queue へのアクセス

stamp 間リプリケーション

04/11/2023 kyrt @takekazuomi 5

Page 6: Introduction to windows azure storage

3つのレイヤー

• stream layer• このレイヤでデータをディスクに永続化。 DFS のようなもの。 stream と呼

ばれるファイルを使い。保存方法とリプリケーションを実装する。 stream は、extent の ordered list 。

• このレイヤは、 Blob, Table などの構造やセマンティックに依存しない。

• partition layer• 高レベルのデータ構造( blob, table, queue) を実装• オブジェクトに対するトランザクションの順序付、一貫性の確保を実装• オブジェクトデータのキャッシュ

• front end• リクエストの partition server へ転送• server と、 partition の割り振りを管理する partition map を保持

04/11/2023 kyrt @takekazuomi 6

Page 7: Introduction to windows azure storage

stream layer

• stream への Write は、 Append のみ• Open/Close/Delete/Rename/Read/Apped/Concat

pointer of extent E1

B11

B12

・・・

B1x

extent E1 - sealed

pointer of extent E2

B21

B22

・・・

B2x

extent E2 - sealed

pointer of extent E3

B31

B32

・・・

B3x

extent E1 - sealed

pointer of extent E4

B41

B42

B43

extent E1 - unsealed

stream //bar

04/11/2023 kyrt @takekazuomi 7

Page 8: Introduction to windows azure storage

sealed extent の最適化

• シールされた extent を replication -> erasure coding で最適化• リード・ソロモン符号を使って最適化• 単純に 3 重にリプリケーションした場合 3 倍のコストだが 1.3 - 1.5 倍

のコストに低減できる

この辺りは日々改善• Local Reconstruction Codes (LRCs)

• LRC は3つの障害があっても100%の復元でき、3つのレプリカや6+3リードソロモンより耐久性に優れている。

• LCR はリードソロモンより 14 %データオーバーヘッドが小さく、少ないデータフラグメントの読み込みで復旧することができる

04/11/2023 kyrt @takekazuomi 8

Page 9: Introduction to windows azure storage

partition layer architecture

partition map table

partition manager

partition server 1

partition server 1

partition server 1

paxos lock

service

front end

stream layer

partition layer

updateread

update lease

read/write

watch lease

assign partition

04/11/2023 kyrt @takekazuomi 9

Page 10: Introduction to windows azure storage

partition layer

• Object Table• partition layer の主な仕事は OT の管理と運用• OT 内は、 Range Partition ( low-key から high-key まで)に分か

れていて、 Range Partition は スタンプ内のパーティション サーバー 分散します• Range Partition の範囲は負荷によって変動• Range Partition と partition server の割り振りは、 Partition

Manager (クラスタ)が行い。調停には Paxos ロック サービス が使われます

04/11/2023 kyrt @takekazuomi 10

Page 11: Introduction to windows azure storage

range partition の処理

commit log stream

meta data stream

row data stream

blob data stream

stream layer

partition layer

memory table

row page cache

bloom filter

readwrite

04/11/2023 kyrt @takekazuomi 11

Page 12: Introduction to windows azure storage

第 2 世代 storage の改善点

参照: http://satonaoki.wordpress.com/2012/11/03/windows-azure%E3%81%AE%E3%83%95%E3%83%A9%E3%83%83%E3%83%88-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF-%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%A82012%E5%B9%B4%E7%89%88%E3%82%B9/

ストレージ SKUストレージ ノード ネットワーク速度

コンピューティングとストレージとの間のネットワーク

ロード バランサージャーナリングに使われるストレージデバイス

第 1 世代 1Gbps 階層型ネットワーク ハードウェア ロード バランサー

ハード ディスク ドライブ (HDD)

第 2 世代 10Gbpsフラット ネットワーク

ソフトウェア ロード バランサー SSD

04/11/2023 kyrt @takekazuomi 12

Page 14: Introduction to windows azure storage

最後に

• 今回の内容は、 Azure Storage Team が SOSP で発表した内容に基づいています• 23rd ACM Symposium on Operating Systems Principles

(SOSP)"Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency“

翻訳もあります• Windows Azure ストレージ : 高可用性と強い一貫を両立す

る クラウド ストレージ サービス• http://msdn.microsoft.com/ja-jp/windowsazure/dd439432#lean

ing04/11/2023 kyrt @takekazuomi 14