欧美日本日韩aⅴ在线视频_中文字幕乱码人妻一区二区三区_久久久久青草大香综合精品,_精品久久久久久久精品观看免费_自慰无码免费一区二区三区

新聞中心

首頁 > 新聞中心 > 行業(yè)新聞 >

Amazon云計算AWS之簡單數(shù)據(jù)庫服務(wù)Simple DB

時間:2017-02-08 16:48:59   閱讀:

  與S3不同,簡單數(shù)據(jù)庫服務(wù)Simple DB(SDB)主要用于存儲結(jié)構(gòu)化的數(shù)據(jù),并為這些數(shù)據(jù)提供査找、刪除等基本的數(shù)據(jù)庫功能。對于SDB的具體實(shí)現(xiàn),有人稱SDB是利用Erlang(—種面向并發(fā)的編程語言)實(shí)現(xiàn)的,有人稱其是構(gòu)建在Dynamo之上的,說法不一。Amazon公司沒有公開其實(shí)現(xiàn),具體的技術(shù)細(xì)節(jié)也就無從得知。本節(jié)主要探討SDB中的主要概念,與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的比較;也簡單闡述SDB中存在的問題、解決辦法及它和Amazon其他云計算服務(wù)如何有效地結(jié)合使用。
 
重要槪念
 
  SDB基本結(jié)構(gòu)圖如圖3-21所示。
 
\
 
  SDB基本結(jié)構(gòu)圖中包含了SDB中以下幾個最重要的概念。
 
1.用戶賬戶(CustomerAccout)
 
  使用任何Amazon的云計算服務(wù)都需要一個Amazon的賬戶,SDB也不例外。用戶賬戶就相當(dāng)于全集,而具體的數(shù)據(jù)庫則相當(dāng)于子集。
 
2.域(Domain)
 
  域是數(shù)據(jù)容器,由于SDB的數(shù)據(jù)都是以UTF-8編碼的字符串形式存儲的,因此域是具有一定關(guān)聯(lián)關(guān)系的字符串容器。用戶賬戶中的域名必須是唯一的且域名長度至少為3個字符,最長不能超過255個字符。SDB對于域的限制比較寬松,根據(jù)規(guī)定,一個賬戶可以最多擁有100個域,而每個域的大小則可以達(dá)到10GB。創(chuàng)建域的目的一般來說是將不同特征的數(shù)據(jù)分開,有些數(shù)據(jù)本身就具有可分性,我們可以直接將其劃分在不同的域, 而像Web數(shù)據(jù)這類本身不好劃分的數(shù)據(jù)Amazon建議利用哈希函數(shù)將其散列到不同的域中。不過在哈希函數(shù)的選擇時一定要慎重,因?yàn)楣:瘮?shù)一個很大的問題就是散列地址沖突,在數(shù)據(jù)集較大時頻繁地處理沖突問題會使效率大大降低。SDB的數(shù)據(jù)庫操作都是以域?yàn)榛締挝坏?,即所有的査詢都只可以在一個域內(nèi)進(jìn)行,域間操作是不允許的。這是-個比較麻煩的限制,從目前來看,Amazon并沒有要解除這個限制的跡象,因此只能由客戶端自行解決這個問題。在非必要的情況下最好不要創(chuàng)建新的域,一方面是跨域操作的限制,另一方面是由于建域消耗的時間和相關(guān)資源較多。
 
3.條目(Item)
 
  條目就是一個實(shí)際的對象,在SDB中,用一系列的屬性來描述這個對象,也就是說條目是屬性的集合,而且條目名必須是域內(nèi)唯一的。SDB不需要事先定義相關(guān)的模式(Schema),這是SDB和傳統(tǒng)的數(shù)據(jù)庫最大的不同之一。正因?yàn)檫@種差異使得SDB在操作上具有極大的靈活性,用戶可以隨時創(chuàng)建、刪除以及修改條目的內(nèi)容。條目和條目之間可以屬于一類,也可以是完全不相關(guān)的兩類,這在關(guān)系數(shù)據(jù)庫一般也是不允許出現(xiàn)的。
 
4.屬性(Attribute)
 
  屬性是條目的特征,它是一個抽象的概念,每個屬性都是對條目某一個方面特性的概括性描述。每個條目可以有多個屬性,SDB將域內(nèi)的屬性總數(shù)限制為10億。屬性的操作也是異常自由的,當(dāng)某個條目有新的屬性時只需要簡單地將這個新屬性添加進(jìn)去即可,不用考慮這個屬性和其他的條目是否相關(guān)。
 
5.值(Value)
 
  每個條目的某個屬性的具體內(nèi)容就是值,每個條目的所有值可以使用戶對于該條目有一個具體、形象的了解。SDB的值相對于關(guān)系數(shù)據(jù)庫而言有一個很實(shí)用的改進(jìn),那就是允許多值屬性。關(guān)系數(shù)據(jù)庫中一個字段是不允許有多個值的,但在現(xiàn)實(shí)生活中這種情況卻是經(jīng)常發(fā)生。比如有兩個計算機(jī)鍵盤,它們除了顏色是黑色和白色的區(qū)別之外其他參數(shù)完全一致,在SDB中我們就可以很方便地在顏色屬性這一欄中填入黑色、白色而不用擔(dān)心出錯。需要特別注意的是,每個屬性值的大小不能超過1KB,這個限制使得SDB存儲的數(shù)據(jù)范圍極其有限。出現(xiàn)這種情況應(yīng)該是Amazon刻意為之,Amazon希望用戶將相對大的數(shù)據(jù)存儲在S3中,在SDB中只保存指向某個特定文件位置的指針。
 
  SDB和關(guān)系型數(shù)據(jù)庫有很多相同之處,但也有很大的不同,用戶在決定使用SDB時絕不能簡單地將SDB和關(guān)系型數(shù)據(jù)庫做類比。其實(shí)嚴(yán)格地說,如果將傳統(tǒng)的關(guān)系數(shù)據(jù)庫看成一張張表,SDB更像我們平時常接觸到的文件夾的樹狀結(jié)構(gòu)而不是表結(jié)構(gòu)。圖3-22顯示了SDB的樹狀組織方式。
 
\
 
  除了這種結(jié)構(gòu)上的根本性差異外,SDB為了系統(tǒng)的高可用性采取了最終一致性數(shù)據(jù)模型。SDB還對每次操作設(shè)定了一個超時值(目前是5秒),當(dāng)操作超過這個時間時,系統(tǒng)就會向用戶返回一個錯誤。同時SDB也對關(guān)系數(shù)據(jù)庫做了一些有益的改進(jìn),比如當(dāng)用戶創(chuàng)建數(shù)據(jù)庫后,SDB會自動對用戶添加的數(shù)據(jù)進(jìn)行索引,這樣在查詢某些數(shù)據(jù)時速度會大大加快。
?

閩公網(wǎng)安備 35010002000114號