大學(xué)優(yōu)秀PPT課件:Amazon云計算中數(shù)據(jù)庫技術(shù)教程 教案_第1頁
大學(xué)優(yōu)秀PPT課件:Amazon云計算中數(shù)據(jù)庫技術(shù)教程 教案_第2頁
大學(xué)優(yōu)秀PPT課件:Amazon云計算中數(shù)據(jù)庫技術(shù)教程 教案_第3頁
大學(xué)優(yōu)秀PPT課件:Amazon云計算中數(shù)據(jù)庫技術(shù)教程 教案_第4頁
大學(xué)優(yōu)秀PPT課件:Amazon云計算中數(shù)據(jù)庫技術(shù)教程 教案_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Amazon云計算中的數(shù)據(jù)庫技術(shù)

提綱Amazon平臺基礎(chǔ)存儲架構(gòu):Dynamo簡單存儲服務(wù)S3

簡單隊列服務(wù)SQS簡單數(shù)據(jù)庫服務(wù)SimpleDB關(guān)系數(shù)據(jù)庫服務(wù)RDSAmazon提供的云計算服務(wù)彈性計算云EC2簡單存儲服務(wù)S3簡單數(shù)據(jù)庫服務(wù)SimpleDB簡單隊列服務(wù)SQS彈性MapReduce服務(wù)內(nèi)容推送服務(wù)CloudFront電子商務(wù)服務(wù)DevPay靈活支付服務(wù)FPSDynamo在Amazon服務(wù)平臺的地位

面向服務(wù)的Amazon平臺架構(gòu)Amazon平臺的架構(gòu)是完全的分布式、去中心化

需求——Amazon平臺中有很多服務(wù)對存儲的需求只是讀取、寫入,(滿足簡單的鍵/值式存儲)Amazon怎么處理這個需求?Dynamo

簡單的鍵/值方式存儲數(shù)據(jù),不支持復(fù)雜的查詢

存儲的是數(shù)據(jù)值的原始形式(bit),不解析數(shù)據(jù)的具體內(nèi)容、不識別任何數(shù)據(jù)結(jié)構(gòu),這使得它幾乎可以處理所有的數(shù)據(jù)類型Amazon平臺基礎(chǔ)存儲架構(gòu):Dynamo

Dynamo架構(gòu)的主要技術(shù)

問題采取的相關(guān)技術(shù)數(shù)據(jù)均衡分布改進的一致性哈希算法,數(shù)據(jù)備份數(shù)據(jù)沖突處理向量時鐘(vectorclock)臨時故障處理Hintedhandoff(數(shù)據(jù)回傳機制),參數(shù)(W,R,N)可調(diào)的弱quorum機制永久故障后的恢復(fù)Merkle哈希樹成員資格以及錯誤檢測基于gossip的成員資格協(xié)議和錯誤檢測數(shù)據(jù)均衡分布的問題

一致性哈希算法平衡性單調(diào)性分散性負載

兩步進行:求出設(shè)備節(jié)點的哈希值,并配置到環(huán)上的一個點;接著計算數(shù)據(jù)的哈希值,按順時針方向?qū)⑵溆成涞江h(huán)上距其最近的節(jié)點;添加新節(jié)點時,按照上述規(guī)則,調(diào)整相關(guān)數(shù)據(jù)到新的節(jié)點上。刪除節(jié)點和添加節(jié)點過程相反

Dynamo采用的改進算法虛擬節(jié)點數(shù)據(jù)分區(qū)和等份存儲數(shù)據(jù)備份當數(shù)據(jù)被均勻存儲到環(huán)上各節(jié)點后,Dynamo將冗余存儲數(shù)據(jù)(備份數(shù)據(jù))思考:Amazon可以保證相鄰的節(jié)點分別位于不同地區(qū)區(qū)域,即使某個數(shù)據(jù)中心由于自然災(zāi)害或斷電的原因整體癱瘓,仍可以保證在世界上其他數(shù)據(jù)中心中保存有數(shù)據(jù)的備份。這里就有一個非常重要的問題——如何進行節(jié)點分布,保證相鄰節(jié)點位于不同的數(shù)據(jù)中心?數(shù)據(jù)沖突問題

Dynamo系統(tǒng)選擇犧牲一致性來換取系統(tǒng)的可靠性和可用性

解決數(shù)據(jù)沖突:最終一致性模型(EventualConsistency)

向量時鐘

向量時鐘原理圖

容錯機制

Dynamo臨時故障處理機制

1)臨時故障處理機制

在數(shù)據(jù)讀寫中采用了一種稱為弱quorum(Sloppyquorum)的機制,涉及三個參數(shù)W、R、NW—代表一次成功的寫操作至少需要寫入的副本數(shù)R—代表一次成功讀操作需由服務(wù)器返回給用戶的最小副本數(shù)N—每個數(shù)據(jù)存儲的副本數(shù)

滿足R+W>N,用戶即可自行配置R和W優(yōu)勢:實現(xiàn)可用性與容錯性之間的平衡容錯機制

2)永久性故障處理機制

Merkle哈希樹技術(shù)每個虛擬節(jié)點保存三顆Merkle樹,即每個鍵值區(qū)間建立一個Merkle樹哈希樹的葉子節(jié)點是存儲每個數(shù)據(jù)分區(qū)內(nèi)所有數(shù)據(jù)對應(yīng)的哈希值,父節(jié)點是其所有子節(jié)點的哈希值成員資格及錯誤檢測

基于Gossip協(xié)議的成員資格檢測機制Gossip(閑聊)協(xié)議錯誤檢測機制

基于Gossip協(xié)議的成員資格檢測機制

基于Gossip協(xié)議的最優(yōu)傳遍路徑

提綱Amazon平臺基礎(chǔ)存儲架構(gòu):Dynamo簡單存儲服務(wù)S3

簡單隊列服務(wù)SQS簡單數(shù)據(jù)庫服務(wù)SimpleDB關(guān)系數(shù)據(jù)庫服務(wù)RDS基本概念

S3系統(tǒng)構(gòu)架在Dynamo之上,采取的并不是傳統(tǒng)的關(guān)系數(shù)據(jù)庫存儲方式,原因:使文件操作盡量簡單、高效;使用關(guān)系數(shù)據(jù)庫只會增加系統(tǒng)的復(fù)雜性1.對象數(shù)據(jù)(任意類型)和元數(shù)據(jù)(描述數(shù)據(jù)的數(shù)據(jù))元數(shù)據(jù)是通過一對鍵-值(Name-Value)集合來定義元數(shù)據(jù)名稱名稱含義last-modified對象被最后修改的時間ETag利用MD5哈希算法得出的對象值Content-Type對象的MIME(多功能網(wǎng)際郵件擴充協(xié)議)類型,默認為二進制/八位組Content-Length對象數(shù)據(jù)長度,以字節(jié)為單位系統(tǒng)默認元數(shù)據(jù)基本概念

2.鍵對象的唯一標示符3.桶存儲對象容器(最多創(chuàng)建100個桶,不限桶中數(shù)量)桶具體命名規(guī)則建議使用規(guī)則S3的基本結(jié)構(gòu)圖

基本操作

基本操作根據(jù)Amazon提供的技術(shù)文檔,目前S3支持的主要操作包括:Get、Put、List、Delete和Head操作目標GetPutListDeleteHead桶獲取桶中對象創(chuàng)建或更新桶列出桶中所有鍵刪除桶無對象獲取對象數(shù)據(jù)和元數(shù)據(jù)創(chuàng)建或更新對象無刪除對象獲取對象元數(shù)據(jù)數(shù)據(jù)一致性模型

S3系統(tǒng)采用冗余存儲優(yōu)勢:某些服務(wù)器出現(xiàn)故障時用戶仍然可以對其數(shù)據(jù)進行操作弊端:用戶在操作時可能會出現(xiàn)如下幾種情況(1)一個進程寫入一個新的對象并立即嘗試讀取它,但在該改變被傳送到S3的多個服務(wù)器前,服務(wù)器對該操作可能返回“鍵不存在”(2)一個進程寫入一個新的對象并立即嘗試列出桶中已有的對象,但在該改變被傳送到S3的多個服務(wù)器前,該對象很可能不會出現(xiàn)在列表中(3)一個進程用新數(shù)據(jù)替換現(xiàn)有的對象并立即嘗試讀取它,但在該改變被傳送到S3的多個服務(wù)器前,S3可能會返回以前的數(shù)據(jù)(4)一個進程刪除現(xiàn)有的對象并立即嘗試讀取它,但在該改變被傳送到S3的多個服務(wù)器前,S3可能會返回被刪除的數(shù)據(jù)(5)一個進程刪除現(xiàn)有的對象并立即嘗試列出桶中的所有對象,但在該改變被傳送到S3的多個服務(wù)器前,S3可能會列出被刪除的對象

為什么出現(xiàn)這些現(xiàn)象?出現(xiàn)這些現(xiàn)象是因為S3為了保證用戶數(shù)據(jù)的一致性而采取的一種折中手段,即在數(shù)據(jù)被充分傳播到所有的存放節(jié)點之前返回給用戶的仍是原數(shù)據(jù)提綱Amazon平臺基礎(chǔ)存儲架構(gòu):Dynamo簡單存儲服務(wù)S3

簡單隊列服務(wù)SQS簡單數(shù)據(jù)庫服務(wù)SimpleDB關(guān)系數(shù)據(jù)庫服務(wù)RDSSQS基本模型

簡單隊列服務(wù)(SimpleQueueService,SQS)Amazon為解決其云計算平臺之間不同組件的通信而專門設(shè)計開發(fā)SQS由三個基本部分組成系統(tǒng)組件(Component)隊列(Queue)消息(Message)

SQS基本模型

兩個重要概念

消息是發(fā)送者創(chuàng)建的具有一定格式的文本數(shù)據(jù),接收對象可以是一個或多個組件。消息的大小是有限制的,目前Amazon規(guī)定每條消息不得超過8KB,但是消息的數(shù)量并未做限制隊列是存放消息的容器,類似于S3中的桶,隊列的數(shù)目也是任意的,創(chuàng)建隊列時用戶必須給其指定一個在SQS賬戶內(nèi)唯一的名稱消息消息1.消息的格式(1)消息ID(MessageID)(2)接收句柄(ReceiptHandle)(3)消息體(Body)(4)消息體MD5摘要(MD5ofBody)2.消息取樣隊列中的消息冗余存儲,目的是為了保證系統(tǒng)的高可用性

基于加權(quán)隨機分布(BasedonaWeightedRandomDistribution)的消息取樣

基于加權(quán)隨機分布的消息取樣

提綱Amazon平臺基礎(chǔ)存儲架構(gòu):Dynamo簡單存儲服務(wù)S3

簡單隊列服務(wù)SQS簡單數(shù)據(jù)庫服務(wù)SimpleDB關(guān)系數(shù)據(jù)庫服務(wù)RDS重要概念

簡單數(shù)據(jù)庫服務(wù)SimpleDB(SDB)主要用于存儲結(jié)構(gòu)化的數(shù)據(jù),并為這些數(shù)據(jù)提供查找、刪除等基本的數(shù)據(jù)庫功能

SDB基本結(jié)構(gòu)圖中包含了SDB中以下幾個最重要的概念1.用戶賬戶(CustomerAccout)

2.域(Domain)數(shù)據(jù)容器

3.條目(Item)一個實際的對象

4.屬性(Attribute)條目的特征

5.值(Value)

每個條目的某屬性的具體內(nèi)容SDB基本結(jié)構(gòu)圖SDB和關(guān)系型數(shù)據(jù)庫有很多相同之處,但也有很大的不同

傳統(tǒng)的關(guān)系數(shù)據(jù)庫——表結(jié)構(gòu)SDB樹狀結(jié)構(gòu)SDB為了系統(tǒng)的高可用性采取了最終一致性數(shù)據(jù)模型,每次操作設(shè)定了一個超時值,同時SDB也對關(guān)系數(shù)據(jù)庫做了一些有益的改進

SDB樹狀組織方式SimpleDB和其他AWS的結(jié)合使用

提綱Amazon平臺基礎(chǔ)存儲架構(gòu):Dynamo簡單存儲服務(wù)S3

簡單隊列服務(wù)SQS簡單數(shù)據(jù)庫服務(wù)SimpleDB關(guān)系數(shù)據(jù)庫服務(wù)RDS

SQL和NoSQL數(shù)據(jù)庫的對比

SQLNoSQL數(shù)據(jù)模型數(shù)據(jù)處理接口層

優(yōu)勢、劣勢嚴格約束無約束一致性、可用性可用、分區(qū)容忍性SQL語言訪問API實現(xiàn)高一致性,ACID能力非常強,移植性很高;但在可擴展性方面能力較弱

高可擴展性,并發(fā)處理能力強;缺乏數(shù)據(jù)一致性保證,查詢困難

RDS數(shù)據(jù)庫原理

Share-Nothing架構(gòu)AmazonRDS—一種云中的MySQL數(shù)據(jù)庫系統(tǒng),采用集群方式將MySQL數(shù)據(jù)庫移植到云中,在一定的范圍內(nèi)解決了關(guān)系數(shù)據(jù)庫的可擴展性問題MySQL集群采用了Share-Nothing架構(gòu)集群MySQL通過表單劃分(Sharding)的方式將一張大表劃分為若干個小表,分別存儲在不同的數(shù)據(jù)庫服務(wù)器上,從邏輯上保證了數(shù)據(jù)庫可擴展性RDS數(shù)據(jù)庫原理

集群MySQL通過主從備份和讀副本技術(shù)提高可靠性和數(shù)據(jù)處理能力

集群MySQL

RDS的使用

Amazon將RDS中的MySQL服務(wù)器實例稱做DBInstance,通過基于Web的API進行創(chuàng)建和管理,其余的操作可以通過標準的MySQL通信協(xié)議完成可以通

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論