成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號(hào)

三個(gè)層面解讀微軟云存儲(chǔ)架構(gòu)與應(yīng)用
2010-08-10   網(wǎng)絡(luò)

  應(yīng)用程序離不開(kāi)數(shù)據(jù),同樣云計(jì)算應(yīng)用程序也離不開(kāi)數(shù)據(jù)的支持。Windows Azure Service Platform,微軟云計(jì)算服務(wù)平臺(tái)通過(guò)提供Storage Service——Windows Azure Storage來(lái)存儲(chǔ)云應(yīng)用的數(shù)據(jù)。Windows Azure Storage由三個(gè)重要部分或者說(shuō)三種存儲(chǔ)數(shù)據(jù)服務(wù)組成,它們是:Windows Azure Blob、Windows Azure Table和Windows Azure Queue。在本文中將給大家介紹Windows Azure Storage中的這三種存儲(chǔ)服務(wù)、Visual Studio環(huán)境下配置和使用開(kāi)發(fā)存儲(chǔ)和Windows Azure Storage應(yīng)用場(chǎng)景。
  Windows Azure 存儲(chǔ)服務(wù)的構(gòu)成
  Windows Azure Storage由三個(gè)重要部分構(gòu)成:
  Windows Azure Blob:存儲(chǔ)大型數(shù)據(jù)。
  Windows Azure Table:存儲(chǔ)表數(shù)據(jù),類似關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,單有所不同,將在后文中介紹。
  Windows Azure Queue:為異步工作提供分派消息服務(wù),有點(diǎn)類似Windows系統(tǒng)的消息隊(duì)列。
  它們的組成也可以使用圖1來(lái)描述:
 

Windows Azure 存儲(chǔ)服務(wù)的構(gòu)成

  圖1 Windows Azure 存儲(chǔ)服務(wù)組成


  在Windows Azure中使用存儲(chǔ)服務(wù)最簡(jiǎn)單的方法是使用Windows Azure Blob。Blob存儲(chǔ)二進(jìn)制數(shù)據(jù),如圖像,XML文檔,壓縮文件和其它在容器內(nèi)任意排列的字節(jié)。
  Blob存儲(chǔ)數(shù)據(jù)是通過(guò)一個(gè)簡(jiǎn)單的層級(jí)關(guān)系來(lái)實(shí)現(xiàn)的,每個(gè)賬戶Account下有一個(gè)容器,這個(gè)容器就是用戶定義的一套只有一個(gè)屬性的Blobs(Blob集合),容器不直接存儲(chǔ)數(shù)據(jù),每個(gè)Blobs包含了多個(gè)Blob。Windows Azure Blob存儲(chǔ)數(shù)據(jù)和層級(jí)關(guān)系如圖2所示:
 

Windows Azure 存儲(chǔ)服務(wù)的構(gòu)成

  圖2 Blob的層級(jí)關(guān)系


  Blob存儲(chǔ)數(shù)據(jù)的地址是:http://.blob.core.windows.net/
  可以通過(guò)REST的方式來(lái)操作,也就是說(shuō)可以通過(guò)如圖1所示中的訪問(wèn)方式:Http/Https。在上傳大文件的時(shí)候,我們可以先把大文件分割成多個(gè)Blob來(lái)上傳,這樣就解決了大文件上傳的問(wèn)題。Block對(duì)下載流程是透明的,下載者根本不知道也不用去知道它正在下載的文件被分成了多少個(gè)block。
  注意在PUT Blob操作中你可以上傳最大64MB的數(shù)據(jù)創(chuàng)建一個(gè)Blob,通過(guò)上傳連續(xù)塊可以創(chuàng)建大于64MB的Blob,塊最大只能是4MB。
  (2)Windows Azure Table
  Blobs只能針對(duì)大容量二級(jí)制數(shù)據(jù)存儲(chǔ),它真是太“不結(jié)構(gòu)化”了。為了保存和使用云應(yīng)用程序中具有緊密的數(shù)據(jù),如在云存儲(chǔ)服務(wù)中存儲(chǔ)一個(gè)對(duì)象,這個(gè)對(duì)象是有些自己的屬性,其實(shí)這樣的對(duì)象我們可以看成是示例或者實(shí)體,于是Windows Azure Table就派上用場(chǎng)了。Windows Azure Table可以直接將實(shí)體類、實(shí)體對(duì)象存入表格結(jié)構(gòu)當(dāng)中。
  Windows Azure Table和SQL Server/SQL Azure的區(qū)別在于,Windows Azure Table是一種服務(wù),旨在存儲(chǔ)具有實(shí)體關(guān)系的數(shù)據(jù),而不是關(guān)系數(shù)據(jù)庫(kù)。Windows Azure Table 提供輕便快捷低成本的大規(guī)模存儲(chǔ)數(shù)據(jù),包含實(shí)體和屬性。它不是關(guān)系數(shù)據(jù)庫(kù),所以不能提供類似SQL中joins的方法,也不能管理 foreign keys。事實(shí)上,一個(gè)單一的Windows Azure Table可以存儲(chǔ)數(shù)十億個(gè)實(shí)體,一個(gè)Windows Azure Table的大小能達(dá)到萬(wàn)億字節(jié),這是一個(gè)相當(dāng)大的存儲(chǔ)量。通過(guò)示例圖3也可以說(shuō)明這一點(diǎn)。
 

Windows Azure 存儲(chǔ)服務(wù)的構(gòu)成

  圖3 development fabric


  (3)Windows Azure Queue
  Windows Azure Blob和Windows Azure Table都是用來(lái)存儲(chǔ)和訪問(wèn)數(shù)據(jù)的。Windows Azure 提供了第三種存儲(chǔ)服務(wù)——Windows Azure Queue,為異步工作提供分派消息服務(wù),最常見(jiàn)的一個(gè)應(yīng)用就是作為Worker Role實(shí)例和Web Role實(shí)例之間通訊的消息隊(duì)列。有關(guān)Windows Azure Queue使用的示例我們將在應(yīng)用場(chǎng)景來(lái)做描述。
  不管在Windows Azure Storage中是使用Blob、Queue還是Table來(lái)存儲(chǔ)數(shù)據(jù),為了保證數(shù)據(jù)的安全,微軟云計(jì)算服務(wù)平臺(tái)至少會(huì)在同一數(shù)據(jù)中心三個(gè)獨(dú)立的容器中存儲(chǔ)Blob,Table和Queue,Windows Azure基于地理位置的功能允許你將數(shù)據(jù)復(fù)制到多個(gè)微軟數(shù)據(jù)中心,增強(qiáng)災(zāi)難恢復(fù)能力,提高特定地區(qū)的性能。
  Visual Studio環(huán)境下配置和使用開(kāi)發(fā)存儲(chǔ)
  安裝了VS2008或VS2010、SQL Server 2005/2008/2008 R2后,再安裝一個(gè)擴(kuò)展的工具包就可以進(jìn)行云應(yīng)用的開(kāi)發(fā)了,這個(gè)擴(kuò)展工具包是:Windows Azure Tools for Microsoft Visual Studio 1.1,其下載的地址是:http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-9843-4EB40B297AB6&displaylang=en
  使用VS 2008 和VS2010開(kāi)發(fā)云應(yīng)用的過(guò)程沒(méi)有本質(zhì)區(qū)別,但是VS 2010提供了云應(yīng)用的開(kāi)發(fā)、調(diào)試、部署、管理的整套工具,如開(kāi)發(fā)云計(jì)算的程序模式、開(kāi)發(fā)云計(jì)算的資料模式、開(kāi)發(fā)云計(jì)算的項(xiàng)目范本、離線測(cè)試云計(jì)算項(xiàng)目、云計(jì)算部署等等,這些功能都縮短了云應(yīng)用的開(kāi)發(fā)周期,因此我們將使用VS 2010來(lái)開(kāi)發(fā)云應(yīng)用。注意在開(kāi)發(fā)云應(yīng)用的過(guò)程中,需要安裝SQL Server Express,如果沒(méi)有安裝,可以使用VS 2010的安裝文件添加安裝。
  除了上述安裝,Visual Studio環(huán)境下使用Windows Azure Storage,還需要安裝Windows Azure SDK,其下載地址是:http://www.microsoft.com/downloads/details.aspx?FamilyID=21910585-8693-4185-826e-e658535940aa&displaylang=en
  上面講了Windows Azure Storage在Visual Studio下的開(kāi)發(fā)環(huán)境,要想讓W(xué)indows Azure Storage在云應(yīng)用程序里“Run”起來(lái)還需要做以下幾步工作:
  (1) 配置連接字符串:這個(gè)字符串指明了你的Windows Azure storage 賬戶。
  (2) 初始化Windows Azure Storage:設(shè)置項(xiàng)目的Start Development Storage Services屬性為True,其方法是:右擊項(xiàng)目|Properties,屬性|Development tab,開(kāi)發(fā)Tab|Start Development Storage Services。
  這些安裝和配置完成后,我們就可以在程序里使用Windows Azure Managed Library和Windows Azure Storage Services REST API這兩個(gè)類庫(kù)來(lái)訪問(wèn)Windows Azure Storage。其中Windows Azure Managed Library包含的命名空間有:
  Microsoft.WindowsAzure
  Microsoft.WindowsAzure.ServiceRuntime
  Microsoft.WindowsAzure.Diagnostics
  Microsoft.WindowsAzure.Diagnostics.Management
  Microsoft.WindowsAzure.StorageClient
  Microsoft.WindowsAzure.StorageClient.Protocol
  Windows Azure Storage Services REST API提供了Blob Service API、Table Service API、Queue Service API。
  Windows Azure Storage應(yīng)用場(chǎng)景
  在Windows Azure Storage應(yīng)用場(chǎng)景里,我們更多是通過(guò)一些示例圖或者實(shí)際應(yīng)用的圖來(lái)給大家介紹一些Windows Azure Storage的應(yīng)用場(chǎng)景。
 

  圖4 Table 、Queue和Blob的應(yīng)用場(chǎng)景


  在如圖4所示的應(yīng)用場(chǎng)景中,用戶通過(guò)Web Role實(shí)例訪問(wèn)Table里的數(shù)據(jù),Web Role和Worker Role之間的消息傳遞是通過(guò)Queue來(lái)實(shí)現(xiàn)的,而Worker Role則訪問(wèn)了Blob里的大數(shù)據(jù)。
 

  圖5 Queue和Blob的應(yīng)用場(chǎng)景


  在圖5所示的場(chǎng)景中,Web Role和Worker Role之間的消息傳遞是通過(guò)Queue來(lái)實(shí)現(xiàn)的,而Worker Role則訪問(wèn)了Blob里的大數(shù)據(jù)。
 

  圖6 Table的應(yīng)用場(chǎng)景


  在圖6所示的應(yīng)用場(chǎng)景中,用戶通過(guò)Web Role實(shí)例訪問(wèn)Table里的數(shù)據(jù)。
  下面我們給出兩個(gè)使用Blob和Table訪問(wèn)到的數(shù)據(jù)界面,如圖7~8所示:
 

  圖7 使用Blob
 

  在圖7中,我們可以瀏覽到Blobs里存儲(chǔ)的二進(jìn)制數(shù)據(jù),默認(rèn)狀態(tài)下,這些數(shù)據(jù)是只讀的,可以在上面的搜索條里對(duì)數(shù)據(jù)進(jìn)行查找,也可以對(duì)文件下載,這是不是類似于FTP呢?
 

  圖8 使用Table
 

  在圖8中,使用Table存儲(chǔ)了數(shù)據(jù),每一行都標(biāo)示了一個(gè)實(shí)體,每一列都標(biāo)示了實(shí)體的一個(gè)屬性。從存儲(chǔ)看上去還是和SQL Server的數(shù)據(jù)表很類似的。同樣,可以對(duì)數(shù)據(jù)進(jìn)行過(guò)濾,而且還可以對(duì)數(shù)據(jù)進(jìn)行刷新。
  總結(jié)
  Windows Azure Platform支持三種可擴(kuò)展的持久化存儲(chǔ):非結(jié)構(gòu)化數(shù)據(jù)(Blob)、結(jié)構(gòu)化數(shù)據(jù)(Table)、應(yīng)用程序和服務(wù)之間,或應(yīng)用程序與服務(wù)之間的消息(Queue)。再結(jié)合Visual Studio的開(kāi)發(fā)環(huán)境和應(yīng)用場(chǎng)景,加深了大家對(duì)Windows Azure 存儲(chǔ)服務(wù)的理解。

熱詞搜索:

上一篇:國(guó)內(nèi)廠商都可以提供哪些云存儲(chǔ)服務(wù)?
下一篇:亞略特:密碼中被忽略的IT內(nèi)控漏洞

分享到: 收藏
主站蜘蛛池模板: 颂文| 欧若拉公主电视剧国语版全集在线观看| 日记100字简单| 九九九九九九伊人| 女人香韩国电影| 如果云知道歌词| 陈昱| 婚前婚后电影高清完整版| 小飞鱼| 意大利火环1990| 焕羽电视剧免费播放在线观看| 从亘古到永远| 黄网站免费在线播放| 吻大胸脱个精光| 山村老尸图片| 春香传在线观看| 杀破狼·贪狼 2017 古天乐| 来去四字成语| 护士诱惑| 影视剧分娩片段合集| 布谷鸟 电影| 单招考试查询成绩入口| 嫩模啪啪喷水呻吟久久| 恶行之外电影完整在线观看| 雅马哈调音台说明书| 贝利亚头像权威| 老阿姨电视剧免费观看| angela white电影| mc水观音| xiee| 浙江卫视网络直播源| 试衣间电影| dota2反和谐| 少年王演员表全部| 画江湖之不良人第1季| 五年级下册数学期末试卷人教版| 美妙旋律| infrustructure| 任喜宝| 风云雄霸天下| 马会传真论坛13297соm查询官网|