版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度生態(tài)修復(fù)工程承包經(jīng)營權(quán)轉(zhuǎn)讓合同范本3篇
- 二零二五年度江蘇地區(qū)二手車置換及銷售服務(wù)合同2篇
- 二零二五年度智慧農(nóng)業(yè)項目工程合同外包方案3篇
- 二零二五年度電力設(shè)備二手變壓器銷售及售后服務(wù)合同3篇
- 2024版智能醫(yī)療設(shè)備研發(fā)與供應(yīng)合同
- 電子行業(yè)前臺接待員工作總結(jié)
- 花店服務(wù)員工作總結(jié)
- 二零二五年度版權(quán)購買合同:某出版公司與作者的版權(quán)交易3篇
- 銀行工作總結(jié)效益增長
- 二零二五年度智能化辦公樓設(shè)施維修服務(wù)合同范本2篇
- Unit 3 We should obey the rules. Lesson15(說課稿)-2023-2024學(xué)年人教精通版英語五年級下冊
- 2025年極兔速遞有限公司招聘筆試參考題庫含答案解析
- 兒科護理安全警示課件
- 2024-2025學(xué)年新疆省克孜勒蘇柯爾克孜自治州三年級數(shù)學(xué)第一學(xué)期期末統(tǒng)考試題含解析
- 一般固廢處理流程
- 舊設(shè)備拆除合同安全責(zé)任書
- 借條的正規(guī)模板(2024版)
- 建設(shè)工程監(jiān)理費計算器(免費)
- 工廠供配電技術(shù)習(xí)題
- 建材公司財務(wù)管理制度
- 作業(yè)布置批改檢查量化評分細則(完整版)
評論
0/150
提交評論