SlideShare une entreprise Scribd logo
1  sur  14
Windows Azure Storage
再入門
kyrt @takekazuomi
公開情報から読むWindows Azure Storageの仕組み
http://www.slideshare.net/takekazuomi/gwab-windows-azure-storage
アジェンダ
• Storageの3つの種類とAzure Platform内のRole
• WASのアーキテクチャ コンポーネント
• ストレージスタンプのレイヤー構造
• ストリームレイヤーの概要
• sealed extentsのeraser coding
• パーテーションレイヤの概要
• コミット ログ ストリーム、ブルーム フィルター
• Gen2の変更点
2013/4/27 kyrt @takekazuomi 2
blob, table, queue
• 種類は3つ、Windows Azure Platform の基盤を構成する分散
Storage
• Blobが大活躍
Blob Table Queue
rest file system
• Block/Page
• CDN
• Virtual Machine OS/Data
Disk
• Azure Drive
• etc
structure data
key/value
schema less
• diagnostics
• etc
messaging queue
• storage base rpc
• etc
2013/4/27 kyrt @takekazuomi 3
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.aspx
2013/4/27 kyrt @takekazuomi 4
Windows Azure Storageの
アーキテクチャーコンポーネント
s
front end
partition Layer
stream layer
storage stamp
VIP
s
front end
partition Layer
stream layer
storage stamp
VIPDN
S
ロケーション
サービス
アカウント管理
DNS参照
blob, table, queueへ
のアクセス
stamp間リプリケーション
2013/4/27 kyrt @takekazuomi 5
3つのレイヤー
• stream layer
• このレイヤでデータをディスクに永続化。DFSのようなもの。stream と呼ば
れるファイルを使い。保存方法とリプリケーションを実装する。streamは、
extentのordered list。
• このレイヤは、Blob, Tableなどの構造やセマンティックに依存しない。
• partition layer
• 高レベルのデータ構造(blob, table, queue)を実装
• オブジェクトに対するトランザクションの順序付、一貫性の確保を実装
• オブジェクトデータのキャッシュ
• front end
• リクエストのpartition server へ転送
• serverと、 partitionの割り振りを管理するpartition mapを保持
2013/4/27 kyrt @takekazuomi 6
stream layer
• stream へのWriteは、Appendのみ
• Open/Close/Delete/Rename/Read/Apped/Concat
pointer of extent E1
B1
1
B1
2
・
・
・
B1
x
extent E1 - sealed
pointer of extent E2
B2
1
B2
2
・
・
・
B2
x
extent E2 - sealed
pointer of extent E3
B3
1
B3
2
・
・
・
B3
x
extent E1 - sealed
pointer of extent E4
B4
1
B4
2
B4
3
extent E1 - unsealed
stream //bar
2013/4/27 kyrt @takekazuomi 7
sealed extentの最適化
• シールされたextentをreplication -> erasure codingで最適化
• リード・ソロモン符号を使って最適化
• 単純に3重にリプリケーションした場合3倍のコストだが1.3-1.5倍の
コストに低減できる
この辺りは日々改善
• Local Reconstruction Codes (LRCs)
• LRCは3つの障害があっても100%の復元でき、3つのレプリカや
6+3リードソロモンより耐久性に優れている。
• LCRはリードソロモンより14%データオーバーヘッドが小さく、少な
いデータフラグメントの読み込みで復旧することができる
2013/4/27 kyrt @takekazuomi 8
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
watch lease
assign partition
2013/4/27 kyrt @takekazuomi 9
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ロック サービス が使われます
2013/4/27 kyrt @takekazuomi 10
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
2013/4/27 kyrt @takekazuomi 11
第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
2013/4/27 kyrt @takekazuomi 12
Azure Storage Client
• .NET Framework
• https://github.com/WindowsAzure/azure-sdk-for-node
nuget
• node.js
• https://github.com/WindowsAzure/azure-sdk-for-node npm
• java
• https://github.com/WindowsAzure/azure-sdk-for-java maven
• python
• https://github.com/WindowsAzure/azure-sdk-for-python PyPI
• ruby
• https://github.com/WindowsAzure/azure-sdk-for-ruby
gem2013/4/27 kyrt @takekazuomi 13
最後に
• 今回の内容は、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#leaning
2013/4/27 kyrt @takekazuomi 14

Contenu connexe

Tendances

HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜHUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜbasicinc_dev
 
Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsTakekazu Omi
 
ParliamentでGeoSPARQL
ParliamentでGeoSPARQLParliamentでGeoSPARQL
ParliamentでGeoSPARQLTeppei Inaba
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)Masaru Oki
 
ニューラルネットワーク勉強会5
ニューラルネットワーク勉強会5ニューラルネットワーク勉強会5
ニューラルネットワーク勉強会5yhide
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 sandai
 

Tendances (7)

HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜHUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
 
Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and Internals
 
ParliamentでGeoSPARQL
ParliamentでGeoSPARQLParliamentでGeoSPARQL
ParliamentでGeoSPARQL
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
 
membase
membasemembase
membase
 
ニューラルネットワーク勉強会5
ニューラルネットワーク勉強会5ニューラルネットワーク勉強会5
ニューラルネットワーク勉強会5
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
 

Similaire à Introduction to windows azure storage

[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~Naoki (Neo) SATO
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編Takekazu Omi
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Cloudera Japan
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポートAkihiro Kuwano
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報yoyamasaki
 
はじめてのAmazon Aurora
はじめてのAmazon AuroraはじめてのAmazon Aurora
はじめてのAmazon AuroraJun Okubo
 
Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Chiho Otonashi
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
 
ふりかえり Windows Azure
ふりかえり Windows Azure ふりかえり Windows Azure
ふりかえり Windows Azure Takekazu Omi
 
C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史
C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史
C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史Insight Technology, Inc.
 
File Server on Azure IaaS
File Server on Azure IaaSFile Server on Azure IaaS
File Server on Azure IaaSjunichi anno
 
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Takano Masaru
 
1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)Masahiro Nagano
 
Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮moai kids
 
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Suguru Ito
 
AWSのデータベースサービス全体像
AWSのデータベースサービス全体像AWSのデータベースサービス全体像
AWSのデータベースサービス全体像Amazon Web Services Japan
 

Similaire à Introduction to windows azure storage (20)

Amazon Aurora
Amazon AuroraAmazon Aurora
Amazon Aurora
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポート
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
 
はじめてのAmazon Aurora
はじめてのAmazon AuroraはじめてのAmazon Aurora
はじめてのAmazon Aurora
 
AWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon AuroraAWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon Aurora
 
Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
ふりかえり Windows Azure
ふりかえり Windows Azure ふりかえり Windows Azure
ふりかえり Windows Azure
 
C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史
C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史
C12 AlwaysOn 可用性グループとデータベースミラーリングのIO特製の比較 by 多田典史
 
File Server on Azure IaaS
File Server on Azure IaaSFile Server on Azure IaaS
File Server on Azure IaaS
 
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
 
1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)
 
Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮
 
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
 
AWSのデータベースサービス全体像
AWSのデータベースサービス全体像AWSのデータベースサービス全体像
AWSのデータベースサービス全体像
 
Oracle Database 12c R1 主要新機能のご紹介
Oracle Database 12c R1 主要新機能のご紹介Oracle Database 12c R1 主要新機能のご紹介
Oracle Database 12c R1 主要新機能のご紹介
 

Plus de Takekazu Omi

jazug34 Container Apps Key Vault
jazug34 Container Apps Key Vaultjazug34 Container Apps Key Vault
jazug34 Container Apps Key VaultTakekazu Omi
 
Bicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployBicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployTakekazu Omi
 
Bicep 入門 MySQL編
Bicep 入門 MySQL編Bicep 入門 MySQL編
Bicep 入門 MySQL編Takekazu Omi
 
//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介Takekazu Omi
 
//build 2021 bicep 0.4
//build 2021 bicep 0.4//build 2021 bicep 0.4
//build 2021 bicep 0.4Takekazu Omi
 
bicep dev container
bicep dev containerbicep dev container
bicep dev containerTakekazu Omi
 
Introduction of Azure Docker Integration
Introduction of Azure Docker IntegrationIntroduction of Azure Docker Integration
Introduction of Azure Docker IntegrationTakekazu Omi
 
Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+ Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+ Takekazu Omi
 
20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design Patterns20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design PatternsTakekazu Omi
 
Azure Application Insights とか
Azure Application Insights とかAzure Application Insights とか
Azure Application Insights とかTakekazu Omi
 
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編Takekazu Omi
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Takekazu Omi
 
Global Azure Bootcamp 2017 DocumentDB Deep Dive
Global Azure Bootcamp 2017  DocumentDB Deep DiveGlobal Azure Bootcamp 2017  DocumentDB Deep Dive
Global Azure Bootcamp 2017 DocumentDB Deep DiveTakekazu Omi
 
Azure Storage Partition Internals
Azure Storage Partition  Internals Azure Storage Partition  Internals
Azure Storage Partition Internals Takekazu Omi
 
Azure Service Fabric Cluster の作成
Azure  Service Fabric Cluster の作成Azure  Service Fabric Cluster の作成
Azure Service Fabric Cluster の作成Takekazu Omi
 
Azure Service Fabric Actor
Azure Service  Fabric ActorAzure Service  Fabric Actor
Azure Service Fabric ActorTakekazu Omi
 
祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要Takekazu Omi
 

Plus de Takekazu Omi (20)

jazug34 Container Apps Key Vault
jazug34 Container Apps Key Vaultjazug34 Container Apps Key Vault
jazug34 Container Apps Key Vault
 
bicep 0.5 pre
bicep 0.5 prebicep 0.5 pre
bicep 0.5 pre
 
Bicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployBicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure Deploy
 
Bicep 入門 MySQL編
Bicep 入門 MySQL編Bicep 入門 MySQL編
Bicep 入門 MySQL編
 
//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介
 
//build 2021 bicep 0.4
//build 2021 bicep 0.4//build 2021 bicep 0.4
//build 2021 bicep 0.4
 
bicep 紹介
bicep 紹介bicep 紹介
bicep 紹介
 
bicep dev container
bicep dev containerbicep dev container
bicep dev container
 
Introduction of Azure Docker Integration
Introduction of Azure Docker IntegrationIntroduction of Azure Docker Integration
Introduction of Azure Docker Integration
 
Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+ Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+
 
20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design Patterns20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design Patterns
 
Azure Application Insights とか
Azure Application Insights とかAzure Application Insights とか
Azure Application Insights とか
 
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
 
life with posh
life with poshlife with posh
life with posh
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編
 
Global Azure Bootcamp 2017 DocumentDB Deep Dive
Global Azure Bootcamp 2017  DocumentDB Deep DiveGlobal Azure Bootcamp 2017  DocumentDB Deep Dive
Global Azure Bootcamp 2017 DocumentDB Deep Dive
 
Azure Storage Partition Internals
Azure Storage Partition  Internals Azure Storage Partition  Internals
Azure Storage Partition Internals
 
Azure Service Fabric Cluster の作成
Azure  Service Fabric Cluster の作成Azure  Service Fabric Cluster の作成
Azure Service Fabric Cluster の作成
 
Azure Service Fabric Actor
Azure Service  Fabric ActorAzure Service  Fabric Actor
Azure Service Fabric Actor
 
祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要
 

Dernier

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Dernier (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Introduction to windows azure storage

  • 1. Windows Azure Storage 再入門 kyrt @takekazuomi 公開情報から読むWindows Azure Storageの仕組み http://www.slideshare.net/takekazuomi/gwab-windows-azure-storage
  • 2. アジェンダ • Storageの3つの種類とAzure Platform内のRole • WASのアーキテクチャ コンポーネント • ストレージスタンプのレイヤー構造 • ストリームレイヤーの概要 • sealed extentsのeraser coding • パーテーションレイヤの概要 • コミット ログ ストリーム、ブルーム フィルター • Gen2の変更点 2013/4/27 kyrt @takekazuomi 2
  • 3. blob, table, queue • 種類は3つ、Windows Azure Platform の基盤を構成する分散 Storage • Blobが大活躍 Blob Table Queue rest file system • Block/Page • CDN • Virtual Machine OS/Data Disk • Azure Drive • etc structure data key/value schema less • diagnostics • etc messaging queue • storage base rpc • etc 2013/4/27 kyrt @takekazuomi 3
  • 4. 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.aspx 2013/4/27 kyrt @takekazuomi 4
  • 5. Windows Azure Storageの アーキテクチャーコンポーネント s front end partition Layer stream layer storage stamp VIP s front end partition Layer stream layer storage stamp VIPDN S ロケーション サービス アカウント管理 DNS参照 blob, table, queueへ のアクセス stamp間リプリケーション 2013/4/27 kyrt @takekazuomi 5
  • 6. 3つのレイヤー • stream layer • このレイヤでデータをディスクに永続化。DFSのようなもの。stream と呼ば れるファイルを使い。保存方法とリプリケーションを実装する。streamは、 extentのordered list。 • このレイヤは、Blob, Tableなどの構造やセマンティックに依存しない。 • partition layer • 高レベルのデータ構造(blob, table, queue)を実装 • オブジェクトに対するトランザクションの順序付、一貫性の確保を実装 • オブジェクトデータのキャッシュ • front end • リクエストのpartition server へ転送 • serverと、 partitionの割り振りを管理するpartition mapを保持 2013/4/27 kyrt @takekazuomi 6
  • 7. stream layer • stream へのWriteは、Appendのみ • Open/Close/Delete/Rename/Read/Apped/Concat pointer of extent E1 B1 1 B1 2 ・ ・ ・ B1 x extent E1 - sealed pointer of extent E2 B2 1 B2 2 ・ ・ ・ B2 x extent E2 - sealed pointer of extent E3 B3 1 B3 2 ・ ・ ・ B3 x extent E1 - sealed pointer of extent E4 B4 1 B4 2 B4 3 extent E1 - unsealed stream //bar 2013/4/27 kyrt @takekazuomi 7
  • 8. sealed extentの最適化 • シールされたextentをreplication -> erasure codingで最適化 • リード・ソロモン符号を使って最適化 • 単純に3重にリプリケーションした場合3倍のコストだが1.3-1.5倍の コストに低減できる この辺りは日々改善 • Local Reconstruction Codes (LRCs) • LRCは3つの障害があっても100%の復元でき、3つのレプリカや 6+3リードソロモンより耐久性に優れている。 • LCRはリードソロモンより14%データオーバーヘッドが小さく、少な いデータフラグメントの読み込みで復旧することができる 2013/4/27 kyrt @takekazuomi 8
  • 9. 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 watch lease assign partition 2013/4/27 kyrt @takekazuomi 9
  • 10. 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ロック サービス が使われます 2013/4/27 kyrt @takekazuomi 10
  • 11. 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 2013/4/27 kyrt @takekazuomi 11
  • 12. 第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 2013/4/27 kyrt @takekazuomi 12
  • 13. Azure Storage Client • .NET Framework • https://github.com/WindowsAzure/azure-sdk-for-node nuget • node.js • https://github.com/WindowsAzure/azure-sdk-for-node npm • java • https://github.com/WindowsAzure/azure-sdk-for-java maven • python • https://github.com/WindowsAzure/azure-sdk-for-python PyPI • ruby • https://github.com/WindowsAzure/azure-sdk-for-ruby gem2013/4/27 kyrt @takekazuomi 13
  • 14. 最後に • 今回の内容は、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#leaning 2013/4/27 kyrt @takekazuomi 14