A. 什麼是 Amazon DynamoDB
DynamoDB 是Amazon(亞馬遜)最新發布的 NoSQL (指的是非關系型的資料庫。隨著互聯網web2.0網站的興起,傳統的關系資料庫在應付web2.0網站,特別是超大規模和高並發的SNS類型的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而非關系型的資料庫則由於其本身的特點得到了非常迅速的發展。)。DynamoDB是一個性能好、可靠高且具有可擴展性的 NoSQL 雲資料庫服務,DynamoDB集15年分布式非關系性資料庫開發之精粹,又通過內部使用考驗,是AWS團隊精心打造的產品。
B. Dynamo的入門基礎
Dynamo的意思是發電機,顧名思義,這一整套的方案都像發電機一樣,源源不斷地提供服務,永不間斷。以下內容看上去有點教條,但基本上如果你要理解原理,這每一項都是必須知道的。
CAP原則
先來看歷史,Eric A. Brewer教授,Inktomi公司的創始人,也是berkeley大學的計算機教授,Inktomi是雅虎搜索2013年的台端技術核心支持。最主要的是,他們 (Inktomi公司)在最早的時間里,開始研究分布計算。CAP原則的提出,可以追溯到2000年的時候(可以想像有多麼早!),Brewer教授在一次談話中,基於他運作Inktomi以及在伯克利大學里的經驗,總結出了CAP原則(文末參考資料中有其演講資料鏈接)。圖一是來自Brewer教授當年所畫的圖:
圖一:CAP原則當年的PPT
Consistency(一致性):即數據一致性,簡單的說,就是數據復制到了N台機器,如果有更新,要N機器的數據是一起更新的。
Availability(可用性):好的響應性能,此項意思主要就是速度。
Partition tolerance(分區容錯性):這里是說好的分區方法,體現具體一點,簡單地可理解為是節點的可擴展性。
定理:任何分布式系統只可同時滿足二點,沒法三者兼顧。
忠告:架構師不要將精力浪費在如何設計能滿足三者的完美分布式系統,而是應該進行取捨。
DHT——分布式哈希表
DHT(Distributed Hash Table,分布式哈希表),它是一種分布式存儲定址方法的統稱。就像普通的哈希表,裡面保存了key與value的對應關系,一般都能根據一個key去對應到相應的節點,從而得到相對應的value。
這里隨帶一提,在DHT演算法中,一致性哈希作為第一個實用的演算法,在大多數系統中都使用了它。一致性哈希基本解決了在P2P環境中最為關鍵的問題 ——如何在動態的網路拓撲中分布存儲和路由。每個節點僅需維護少量相鄰節點的信息,並且在節點加入/退出系統時,僅有相關的少量節點參與到拓撲的維護中。至於一致性哈希的細節就不在這里詳細說了,要指明的一點是,在Dynamo的數據分區方式之後,其實內部已然是一個對一致性哈希的改造了。
C. 你的行業中有哪些比較知名的大數據實際應用的案例
Seton Healthcare是採用IBM最新沃森技術醫療保健內容分析預測的首個客戶。該技術允許企業找到大量病人相關的臨床醫療信息,通過大數據處理,更好地分析病人的信息。在加拿大多倫多的一家醫院,針對早產嬰兒,每秒鍾有超過3000次的數據讀取。通過這些數據分析,醫院能夠提前知道哪些早產兒出現問題並且有針對性地採取措施,避免早產嬰兒夭折。它讓更多的創業者更方便地開發產品,比如通過社交網路來收集數據的健康類App。也許未來數年後,它們搜集的數據能讓醫生給你的診斷變得更為精確,比方說不是通用的成人每日三次一次一片,而是檢測到你的血液中葯劑已經代謝完成會自動提醒你再次服葯。
D. 簡述一下DynamoDB和SimpleDB的區別
NoSQL資料庫促進了可擴展性,且能夠幫助Web應用減少開發時間。不像關系型數據擁有固定的模式,很多NoSQL資料庫無模式,但也為開發者提供了更多的靈活性。兩個比較流行的NoSQL資料庫是亞馬遜Web服務的SimpleDB和DynamoDB。 亞馬遜DynamoDB和Simpl...
E. 亞馬遜AWS的雲計算服務有哪些優勢
亞馬遜AWS作為雲計算服務的領軍者, AWS對SaaS解決方案的設計提供了一些雲計算服務最佳實踐。
一、將平台化的功能隔離出來,SaaS產品的更新速度是非常快的,但是我們仍然能夠總結出一些核心的功能是基本不變或者能夠在很多其他新的產品模塊中重用的。我們要將這部分功能分離出來進行平台化改造以服務於更多的其它功能,將這些功能平台化以後也會降低整個系統的耦合性從而支撐更多的SaaS應用的功能。對通用功能的平台服務隔離可以更好的調優和獨立擴展,同時重用核心服務並結合應用框架的使用會極大提升應用開發的效率。
二、優化成本和性能,在傳統的技術架構下這兩者之間往往需要進行一定的平衡,而在AWS雲的架構下的SaaS服務雲模式下往往可以實現魚與熊掌兼得。在每個架構層次實現彈性的橫向擴展可以讓我們實現按使用量付費的模式,而不需要為了獲得強大的性能而提前付出大量的資源成本,同時我們在SaaS的AWS架構下可以使用更小的、平行的資源單位進行擴展,從而更為貼近SaaS環境下的實際資源需求,在合適的場景下盡可能的採用完全由AWS託管的服務(比如Amazon DynamoDB等)來降低SaaS合作夥伴的運維成本並提升效率。
三、針對SaaS解決方案設計的。雲計算服務,首先對於多租戶的設計要針對SaaS應用自身的特點來進行規劃,總體的設計原則是系統會有多個帳號,而一個帳號會對應多個用戶,一個用戶又會對應多個角色;其次是對於系統處理各種請求時要按照優先順序進行分級管理,在通過使用AWS各種服務如SQS、SWF等對系統進行解偶後,對AWS資源集約使用的前提下,對請求分優先順序處理會極大提升SaaS架構的處理能力和穩定性;接下來要對監控加大投入力度,藉助AWS CloudWatch等監控服務,通過粒度更細的監控來控制分布式資源更為有效的彈性伸縮;最後合作夥伴還需要非常了解SaaS應用架構中所有數據的生命周期以及在在各個周期內數據的特點,依據這些特點為數據在AWS的服務中選擇正確恰當的存儲方式以優化技術架構及降低成本。
四、收集一切可以收集的數據並從這些數據中挖掘出價值。AWS基礎架構自身通過CloudWatch服務就可以收集粒度非常細的指標,同時SaaS應用自身也會產生大量日誌及指標數據,這些數據和指標不但要密切監控同時也要全量的妥善保存起來,以便後續的大數據挖掘工作。雲計算服務,不要擔心在傳統模式下數據存儲的高昂成本,在AWS雲的架構模式下有大量諸如Amazon S3、Glacier等成本極低的存儲方式。通過分析這些大量的數據來了解你SaaS服務的客戶,能夠為業務帶來巨大的價值,例如實時自動調整用戶體驗及與之相關的基礎架構,通過使用量的分析改進業務模型等等。
F. 亞馬遜AWS的亞馬遜AWS優勢
建立本地基礎設施費耗時長、成本高,而且涉及訂購、付款、安裝和配置昂貴的硬體,而所有這些工作都需要在實際使用硬體之前提前很久完成。利用雲計算,您就不需要花時間做這些事情;您只需要按實際用量付費。
推薦使用的產品: Amazon EC2、Amazon S3 雲計算以多種方式幫助您縮減您的 IT 總成本。我們在經濟體和效率方面的規模化改進,幫助我們持續降價,而多種定價模式能幫助您優化可變和穩定工作負荷所需的成本。此外,雲計算還能降低前期 IT 人力成本和持續 IT 人力成本,您只需投入相當於傳統基礎設施成本幾分之一的成本就能使用高度分散、功能全面的平台。
推薦使用的產品 Amazon EC2、Amazon S3、Amazon Elastic Block Store 預測客戶計劃如何使用您的新應用程序很難,而要正確執行亦絕非易事。所以,如果您在部署應用程序前確定了容量,則一般可以避免出現昂貴的閑置資源,或者不必為有限的容量而發愁。如果您的容量用盡,則在獲取更多資源前會出現糟糕的用戶體驗。而利用雲計算,這些問題都不會出現。您可以預配置所需的資源量。您可以根據需求輕松擴展資源量。如果您不需要資源量,關掉它們並停止付費就好。
推薦使用的產品: Amazon EC2、Amazon S3、Amazon DynamoDB 利用傳統基礎設施,需要花數周時間才能采購、交付並運行伺服器。這么長的時間期扼殺了創新。利用雲計算,您可以根據您的需要預配置資源量。您可以在幾分鍾內部署數百個甚至數千個伺服器,不用跟任何人討論。這種自助服務環境的變化速度與您開發和部署應用程序一樣快,可讓您的團隊更快、更頻繁的進行試驗。
推薦使用的產品: Amazon EC2、Amazon RDS、Amazon S3 雲計算為您節省了數據中心投資和運營所需的資源,並將其轉投向創新項目。具體來說,您可以將您少量的 IT 和工程資源用在有助於您業務發展的項目上,而非在 IT 基礎設施這一重要但幾乎不會給您的業務帶來差別的項目上。
推薦使用的產品:Amazon EC2、Amazon VPC、Amazon CloudFront、Amazon S3 無論您是大型跨國公司還是小型新興企業,您都有可能在世界各地擁有潛在客戶。利用傳統基礎設施很難為分布廣泛的用戶基地提供最佳性能,且大多數公司一次只能關注一個地理區域的成本和時間節省。而利用雲計算,情況會大不同,您可以在全世界 9 個 AWS 地區或其中一個地區輕松部署您的應用程序。也就是說,您可以用最少的成本幫助您的客戶獲得較低的延遲和更好的體驗。
推薦使用的產品:Amazon EC2、Amazon S3、Auto Scaling
G. 有誰用過亞馬遜雲科技,來說說
我用過它免費的部分,當時想自己做一個網站,覺得既神秘又高端。其實普通個人的需求免費部分就可以幫忙完成了,並不太會用到付費的部分,一般企業或者公司才會用到付費的部分。總體使用感受不錯,因為最開始小白,但是官網上直接有教學視頻,就可以一邊研究一邊搭建。
H. 大數據正在潛移默化的十三個行業
1、電視媒體
大數據應用案例之電視媒體——對於體育愛好者,追蹤電視播放的最新運動賽事幾乎是一件不可能的事情,因為有超過上百個賽事在 8000 多個電視頻道播出。而現在市面上有開發者開發了一個可追蹤所有運動賽事的應用程序—— RUWT,它已經可以在 iOS 和 Android 設備,以及在 Web 瀏覽器上使用,它不斷地分析運動數據流來讓球迷知道他們應該轉換成哪個台看到想看的節目,在電視的哪個頻道上找到,並讓他們在比賽中進行投票。
對於谷歌電視和 TiVo 用戶來說,實際上 RUWT 就是讓他們改變頻道調到一個比賽中。該程序能基於賽事的緊張激烈程度對比賽進行評分排名,用戶可通過該應用程序找到值得收看的頻道和賽事。
2、社交網路
大數據應用案例之社交網路——數據基礎設施工程部高級主管 Ghosh 描繪的 LinkedIn 數據構建圖,其中就包括 Hadoop 戰略部署。
幾年前,LinkedIn只是一家普通的科技公司。而現在,其儼然成為一個工程強國。LinkedIn 建成的一個最重要的資料庫是 Espresso。不像 Voldemort,這是繼亞馬遜 Dynamo 資料庫之後的一個最終一致性關鍵值存儲,用於高速存儲某些確定數據,Espresso作為一個事務一致性文件存儲,通過對整個公司的網路操作將取代遺留的 Oracle 資料庫。
它最初的設計就是為了提供 LinkedIn InMail 消息服務的可用性,該公司計劃今年晚些時候將推出開源
3、醫療行業
大數據應用案例之醫療行業—— Seton Healthcare 是採用 IBM 最新沃森技術醫療保健內容分析預測的首個客戶。該技術允許企業找到大量病人相關的臨床醫療信息,通過大數據處理,更好地分析病人的信息。
在加拿大多倫多的一家醫院,針對早產嬰兒,每秒鍾有超過 3000 次的數據讀取。通過這些數據分析,醫院能夠提前知道哪些早產兒出現問題並且有針對性地採取措施,避免早產嬰兒夭折。
它讓更多的創業者更方便地開發產品,比如通過社交網路來收集數據的健康類 App。也許未來數年後,它們搜集的數據能讓醫生給你的診斷變得更為精確,比方說不是通用的成人每日三次一次一片,而是檢測到你的血液中葯劑已經代謝完成會自動提醒你再次服葯。
Express Scripts 就是這么一家處方葯管理服務公司,目前它正在通過一些復雜模型來檢測虛假葯品,這些模型還能及時提醒人們何時應該停止用葯。Express Scripts 能夠解決該問題的原因在於所有有關數據。因為它每年管理著 1.4 億處方,覆蓋了一億美國人和 65,000 家葯店,雖然該公司是能夠識別潛在問題的信號模式,但它也使用數據來嘗試解決某些情況下之前曾經發現的問題。
他們還著眼於一些事情,如所開處方的葯物種類,甚至有人在網上談論醫生。如果一個醫生的行為被標記為紅色的旗幟,那麼他在網路上是個好人的形象,更是你所需要的醫生。
4、保險行業
大數據應用案例之保險行業——保險行業並非技術創新的指示燈,然而 MetLife 保險公司已經投資 3 億美金建立一個新式系統,其中的第一款產品是一個基於 MongoDB 的應用程序,它將所有客戶信息放在同一個地方。
MongoDB 匯聚了來自 70 多個遺留系統的數據,並將它合並成一個單一的記錄。它運行在兩個數據中心的 6 個伺服器上,目前存儲了 24TB 的數據。這包括 MetLife 的全部美國客戶,盡管它的目標是擴大它的國際客戶和多種語言,同時也可能創建一個面向客戶的版本。它的更新幾乎是實時的,當新客戶的數據輸入時,就好像 Facebook 牆一樣。
大多數疾病可以通過葯物來達到治療效果,但如何讓醫生和病人能夠專注參加一兩個可以真正改善病人健康狀況的干預項目卻極具挑戰。安泰保險目前正嘗試通過大數據達到此目的。安泰保險為了幫助改善代謝綜合症患者的預測,從千名患者中選擇 102 個完成實驗。在一個獨立的實驗室工作內,通過患者的一系列代謝綜合症的檢測試驗結果,在連續三年內,掃描 600,000 個化驗結果和 18 萬索賠事件。將最後的結果組成一個高度個性化的治療方案,以評估患者的危險因素和重點治療方案。這樣,醫生可以通過食用他汀類葯物及減重5磅等建議而減少未來 10 年內 50% 的發病率。或者通過你目前體內高於 20% 的含糖量,而建議你降低體內甘油三酯總量。
5、職業籃球賽
大數據應用案例之職業籃球賽——專業籃球隊會通過搜集大量數據來分析賽事情況,然而他們還在為這些數據的整理和實際意義而發愁。通過分析這些數據,可否找到兩三個制勝法寶,或者至少能保證球隊獲得高分, Krossover 公司正致力於此。
在每場比賽過後,教練只需要上傳比賽視頻。接下來,來自 Krossover 團隊的大學生將會對其分解。等到第二天教練再看昨晚的比賽時,他只需檢查任何他想要的——數據統計、比賽中的個人表現、比賽反應等等。通過分析比賽視頻,毫不誇張地分析所有的可量化的數據。
6、能源行業
大數據應用案例之能源行業——智能電網現在歐洲已經做到了終端,也就是所謂的智能電表。在德國,為了鼓勵利用太陽能,會在家庭安裝太陽能,除了賣電給你,當你的太陽能有多餘電的時候還可以買回來。通過電網收集每隔五分鍾或十分鍾收集一次數據,收集來的這些數據可以用來預測客戶的用電習慣等,從而推斷出在未來 2 ~ 3 個月時間里,整個電網大概需要多少電。有了這個預測後,就可以向發電或者供電企業購買一定數量的電。因為電有點像期貨一樣,如果提前買就會比較便宜,買現貨就比較貴。通過這個預測後,可以降低采購成本。
維斯塔斯風力系統,依靠的是 BigInsights 軟體和 IBM 超級計算機,然後對氣象數據進行分析,找出安裝風力渦輪機和整個風電場最佳的地點。利用大數據,以往需要數周的分析工作,現在僅需要不足 1 小時便可完成。
7、社會生活
大數據應用案例之社會生活——印度有一檔非常受歡迎的電視節目 Satyamev jayate,該節目整理並分析社會民眾關於爭議話題的各種意見,包括女性墮胎、種姓歧視和虐待兒童等社會熱點問題,並使用這些數據來推進政治改革。
雖然目前只播放了 13 集,但是來自各方的反饋數據不容小覷。來自印度電視和世界各地的 YouTube 上的 400 萬觀眾;超過 1.2 億人在其網站、Facebook,Twitter,YouTube 和移動設備上已連接 Satyamev jayate ;超過 800 萬的人通過 Facebook,網路注釋,文本消息及電話熱線等方式發送 14 萬個回應,每周有超過 10 萬個新觀眾進行回應。
8、公路交通
大數據應用案例之公路交通——在洛杉磯開過車的人一定都經歷過那裡噩夢般的交通擁堵情況。目前政府在 I-10 和 I-110 州際公路上建立了一條收費的快速通道。政府可通過大數據引導駕駛人員在該通道上的行駛情況,保證交通暢通。
施樂就是參與此次項目的公司,它的抗擁塞項目,包括用 ExpressLanes 、動態定價,上升的需求等等以維持某種秩序的想法。施樂公司的首席技術執行官表示,如果司機支付給駕駛熱車道(高佔用收費系統),他必須保證車速每小時 45 英里左右。如果交通開始擁堵,私家汽車的支付價格將上升,以減少他們進入,而將車道用於高佔用率的車輛,例如公共汽車和大巴車。
施樂還有另一個項目在洛杉磯稱為 Express Park,目標是讓人們知道他們何時即將離開房子,在哪能找到停車場和花費金額。不僅要確保定價,同時更要確保數據實時到達用戶手中。例如,應當提前 40 分鍾告知用戶停車位置。
9、汽車製造
大數據應用案例之汽車製造——當問起汽車的製造過程,大多數人腦子里隨即浮現的是各種生產裝配流水線和製造機器。然而在福特,在產品的研發設計階段,大數據就已經對汽車的部件和功能產生了重要影響。
比如,福特產品開發團隊曾經對 SUV 是否應該採取掀背式(即手動打開車後行李箱車門)或電動式進行分析。如果選擇後者,門會自動打開、便捷智能,但這種方式會影響到車門開啟有限的困惱。此前採用定期調查的方式並沒有發現這個問題,但後來根據對社交媒體的關注和分析,發現很多人都在談論這些問題。
10、零售業
大數據應用案例之零售業,某公司是一家領先的專業時裝零售商,通過當地的百貨商店、網路及其郵購目錄業務為客戶提供服務。公司希望向客戶提供差異化服務,如何定位公司的差異化,他們通過從 Twitter 和 Facebook 上收集社交信息,更深入的理解化妝品的營銷模式,隨後他們認識到必須保留兩類有價值的客戶:高消費者和高影響者。
希望通過接受免費化妝服務,讓用戶進行口碑宣傳,這是交易數據與交互數據的完美結合,為業務挑戰提供了解決方案。Informatica 的技術幫助這家零售商用社交平台上的數據充實了客戶主數據,使他的業務服務更具有目標性。
零售企業也監控客戶的店內走動情況以及與商品的互動。它們將這些數據與交易記錄相結合來展開分析,從而在銷售哪些商品、如何擺放貨品以及何時調整售價上給出意見,此類方法已經幫助某領先零售企業減少了17% 的存貨,同時在保持市場份額的前提下,增加了高利潤率自有品牌商品的比例。
11、總統競選
大數據應用案例之總統競選——許多人通過 Facebook 更新個人狀態、分享圖片以及他們"喜歡"的內容。奧巴馬的總統競選運動也通過使用社交網路的各種數據功能完成了競選,他們不僅通過社交網路尋找支持者,而且還通過社交網路召集了一批志願軍。
早在 2006 年,Facebook 聯合創始人,克里斯·休斯就建議扎克伯格在網站上推出相關服務,幫助總統候選人在 Facebook 上建立個人主頁,以便他們進行形象推廣。2006 年 9 月,Facebook 全面開放,用戶數量爆炸式增長,在年底達到 1200 萬。這一過程恰好有利地推升了奧巴馬的知名度。此後,在克里斯的輔佐下,奧巴馬掀起了一系列的網路活動,在 Facebook、MySpace 等社交網站上發表公開演講、推廣施政理念,贏得大量網民支持,募集到 5 億多美元的競選經費。
最終,"黑人平民"戰勝了實力雄厚的對手,成為美國歷史上第一位黑人總統,之後,在第二次的選舉中更獲得連任。此次選舉被認為是美國民主的巨大進步,而互聯網則提供了前所未有的實施手段,其中尤以 Facebook 代表的社交網站最為突出,以至於有人戲稱之為 " Facebook 之選"。
最近上任的川普...算了不說了...簡直就是一個噴子...
12、電子郵件
大數據應用案例之電子郵件—— MailChimp 的核心業務是提供電子郵件服務,它在一年內為大約 300 萬用戶發送了 350 億封郵件。不過真正能體現 MailChimp 未來價值的則是該公司對這些郵件數據的處理和分析。
MailChimp 的一個重要任務就是搞清楚如何幫助客戶更好地了解他們所發送的信息。考慮到這一點,該公司建立了一個服務叫 Wavelength,向客戶展示了與他們相似的其他訊息。這個系統使得 Wavelength 能夠儲存公司資料庫中每個郵件地址發生的互動。這意味著告訴了你,用戶打開了什麼樣的郵件,何時打開,他們點擊了什麼鏈接,還有訂閱了什麼郵件。MailChimp 也有一個功能叫做 Ecommerce360,能讓客戶通過轉換來跟蹤點擊。
13、音樂
大數據應用案例之音樂—— 十多年前,音樂元數據公司 Gracenote 收到來自蘋果公司的神秘忠告,建議其購買更多的伺服器。Gracenote 照做了,而後蘋果推出 iTunes 和 iPod,Gracenote 從而成為了元數據的帝國。
在車內聽的歌曲很可能反映你的真實喜好, Gracenote 就擁有此種技術。它採用智能手機和平板電腦內置的麥克風識別用戶電視或音響中播放的歌曲,並可檢測掌聲或噓聲等反應,甚至還能檢測用戶是否調高了音量。這樣,Gracenote 可以研究用戶真正喜歡的歌曲,聽歌的時間和地點。
Gracenote 擁有數百萬首歌曲的音頻和元數據,因而可以快速識別歌曲信息,並按音樂風格、歌手、地理位置等分類。 作者 佚名 本文轉載至網路,如涉及抄襲請聯系我們
I. Dynamo的簡介
按分布式系統常用的哈希演算法切分數據,分放在不同的node上。Read操作時,也是根據key的哈希值尋找對應的node。Dynamo使用了Consistent Hashing演算法,node對應的不再是一個確定的hash值,而是一個hash值范圍,key的hash值落在這個范圍內,則順時針沿ring找,碰到的第一個node即為所需。
Dynamo對Consistent Hashing演算法的改進在於:它放在環上作為一個node的是一組機器(而不是memcached把一台機器作為node),這一組機器是通過同步機制保證數據一致的。
以上圖為例,node1其實包含了多台機器,在一個node里宕了一台機或增加一台機,並不影響整個Dynamo對key的尋找。
如果一個ring內的訪問量大了,則可以在兩個node間加入一個新node以緩解壓力,這時會影響到其後繼node的hash范圍,需要調整數據。假設一個ring中原本只有node2、node3、node4,在加入新的node1之後,原先從node2查詢的部分key將改為從node1查詢,node1和node2中的數據就需要調整,主要是node1從node2中提取出屬於它的數據,這樣做需要選取性能壓力不高的時候。 Dynamo的一個node中的同步是由client端來「解決」的,使用所謂的(N, R, W)模型,其中,N表示node中機器的總數,R表示一個讀請求需要的機器參與總數,W代表一個寫請求需要的機器參與總數,這些值由client端配置。
例如,一個node有5台機器(N=5),client發出寫請求——廣播到5台機,如果收到3個「寫完成」的返回消息,即認為寫成功(W=3);client發出讀請求——還是廣播到5台機,如果收到2個「讀完成」的返回消息,即認為讀成功(R=2)。對於數據十分重要的應用(如金融),配置可以為(5, 5, 5),即要求node中所有機器的寫都成功;而對於數據讀寫訪問量極高的應用,配置可以為(5, 1, 1)。
通常W不等於N,於是,在某些情況下一個node內的機器上的數據可能會有不一致,這時Dynamo是通過將多個Read的返回結果「合並」來得出最終結果的,使用了所謂Object Version和Vector clock的技術,即跟蹤一個Object在不同機器上的版本變化,以確保當多個Read請求結果返回不一致時,能夠根據其版本信息得出正確的結果。 Dynamo的這種做法是一種折衷,即為了同時保證讀和寫的效率,寫操作不要求絕對同步,而把不同步可能產生的後果推給了讀操作。 Dynamo的一個node中一台機器建有一個Merkle Tree,當兩台機器不一致時(如一台機器宕機一段時間),通過這個tree結構,可以快速定位不一致的Object來恢復數據。Merkle Tree又叫Hash Tree,它把key分成幾個range,每個range算出一個hash值,作為葉子,再一層層合並計算上去,這樣,從root開始比較hash值,就可以快速找到哪幾段range中的hash值變化了。
J. 使用dynamodb local 進行添加表和添加數據到表中,可是在dynamodb的控制台並沒有
NoSQL資料庫促進擴展性且能夠幫助Web應用減少發間像關系型數據擁固定模式NoSQL資料庫模式發者提供更靈性兩比較流行NoSQL資料庫亞馬遜Web服務SimpleDBDynamoDB
亞馬遜DynamoDBSimpleDB充管理非關系型資料庫並且提供簡單應用程序介面(API)進行存儲、查詢管理數據兩資料庫都適用於尋求靈資料庫設計應用數同點應用
用SimpleDB管理更資料庫
SimpleDB適合每域超10GB型資料庫種資料庫需要基本存儲查詢操作期望表增速度比更且計劃使用SimpleDB需要自數據兩或者更域管理同能夠跨域手割數據附加管理費用破壞SimpleDB優勢
項服務旨服務於型資料庫應用些應用種靈性、用性及耐久性關鍵考量同擴展性需求較少能夠運行改變表屬性且須修改模式、重新索引數據或者離線操縱表結構都其靈性體現SimpleDB布區域數據提供用性耐久性
SimpleDB資料庫圍繞域組織管理類似於關系表域包含元素或者鍵值集根據關系錶行考慮元素同鍵值別屬性屬性組件數據添加域要求使用基礎API或者控制台
SimpleDB支持簡單選擇聲明即任何SQL程序員都能理解明顯區別SimpleDB支持跨域聯合需要結合域數據必須查詢結合每所使用定製程序於簡單聯合並困難應用需要支持復雜聯合要使用MySQL或者PostgreSQL關系型資料庫二者都通亞馬遜關系型資料庫服務獲
SimpleDB優勢表索引所元素於允許用戶查詢任何元素應用用由於所元素都索引通姓氏、城市、籍或者郵政編碼查詢客戶錶快實現
用DynamoDB管理型資料庫
亞馬遜DynamoDB旨要求更高應用設計些應用要求擴展數據存儲及更高級數據管理功能代替使用硬碟DynamoDB使用固態硬碟實現恆定、低延遲讀寫間旨擴展容量同維持致性能雖種性能伴隨著更嚴格查詢模型
由於DynamoDB同更企業資料庫協作能要求額外數據管理服務AWS同彈性MapRece(EMR_AWS Hadoop服務)Redshift(其數據倉庫服務)集DynamoDB使用亞馬遜Redshift或者EMR進行規模特殊查詢或者析使用DynamoDB基於散列散列區值進行更針性查詢使用DynamoDB避免管理割域產額外費用DynamoDB沒規模限制且按需管理數據域
DynamoDB主鍵值索引允許二級索引主索引二級索引都基於散列或者散列區鍵值取代單選擇聲明項服務使用查詢掃描聲明查詢聲明同主或者二級散列或者刷哪額區鍵值使用表掃描讀取每元素提供更靈性種操作比查詢更慢尤其型表更應用響應性部由決定
發者使用DynamoDB Local構建測試本資料庫代碼通實際產資料庫DynamoDBDynamoDB Local API互相兼容代碼兩種環境運行
性質有哪些?答案:C 利用均值不等式: