日韩精品无码观看视频免费_欧美交换配乱吟粗大_亚洲AV成人无码久久WWW_少妇高潮惨叫久久久久久 色影院不卡中文一区二区_欧洲亚洲色视频综合在线_国产69永久免费视频_AV午夜片在线观看

深度:微軟全球規(guī)模分布式數(shù)據(jù)庫NoSQL

來自:Branscombe
時間:2016-07-05 11:23:51
分享:
米么信息 米么信息 米么信息
SQL Server在企業(yè)環(huán)境中有很大優(yōu)勢,但很多人可能不知道,由于旗下諸如Power BI、Bing,以及Office Web Apps等應(yīng)用面臨一些新的挑戰(zhàn),例如數(shù)據(jù)泛濫、對移動性的需求激增、對低延遲的渴求。過去五年來Microsoft一直在打造一個分布式NoSQL數(shù)據(jù)庫。

SQL Server在企業(yè)環(huán)境中有很大優(yōu)勢,但很多人可能不知道,由于旗下諸如Power BI、Bing,以及Office Web Apps等應(yīng)用面臨一些新的挑戰(zhàn),例如數(shù)據(jù)泛濫、對移動性的需求激增、對低延遲的渴求。過去五年來Microsoft一直在打造一個分布式NoSQL數(shù)據(jù)庫。

這一項目是由曾經(jīng)負責(zé)開發(fā)Windows Workflow Foundation(以及Live Mesh和從來未曾面世的Courier平板)等重要技術(shù)的Microsoft員工Dharma Shukla從2010年底開始負責(zé)的。該項目的目標是為Microsoft開發(fā)全球規(guī)模的分布式數(shù)據(jù)庫系統(tǒng)。

001.jpg

2014年8月,Microsoft將DocumentDB作為一種Azure服務(wù)發(fā)布了公開預(yù)覽版。這一舉措證明了NoSQL世界中已經(jīng)出現(xiàn)的緊張形勢,NoSQL提供了自由的數(shù)據(jù)格式,但傳統(tǒng)SQL提供了數(shù)據(jù)一致性和事務(wù)原子性。在這兩個領(lǐng)域,越來越多的人正在努力提供融合這兩種特性的方式。

對于Azure DocumentDB,業(yè)界普遍認為這種技術(shù)最吸引人的地方是:它不是對開源項目的重新包裝,也不是對現(xiàn)有微軟產(chǎn)品的擴展或重寫,而是一個全新的產(chǎn)品。

DocumentDB所強調(diào)的一個重點在于NoSQL真正代表的含義:“not only SQL(不只有SQL)”,該技術(shù)的目標在于在各方面為用戶提供更好的選擇。DocumentDB可實現(xiàn)NoSQL的擴展能力,SQL的豐富功能,在全球17個Azure落地的地區(qū)通過基于SSD的群集獲得的低延遲,以及商用化Azure服務(wù)提供的服務(wù)級別協(xié)議,外加與HIIPA和ISO有關(guān)的合規(guī)性。DocumentDB還提供了與JavaScript集成所實現(xiàn)的數(shù)據(jù)庫編程和Hadoop分析能力。

相關(guān)廠商內(nèi)容

ArchSummit全球架構(gòu)師峰會深圳站,7月15日-16日,聚焦前沿案例! APMCon中國應(yīng)用性能管理大會,8月18日-19日,給你專業(yè)解答! GTLC全球技術(shù)領(lǐng)導(dǎo)力峰會,8月29日-30日,高端技術(shù)領(lǐng)導(dǎo)人盛會! CNUTCon全球容器技術(shù)大會,9月9日-10日,Docker應(yīng)用實踐! 想要快速學(xué)習(xí)Amazon EMR最佳實踐,趕快報名InfoQ在線課堂

相關(guān)贊助商

更多的技術(shù)大會和免費活動,盡在活動大本營!點擊了解詳情!

作為云PaaS服務(wù),DocumentDB省略了自行配制NoSQL數(shù)據(jù)庫的各種繁瑣操作,甚至通過暴露MongoDB API,還可無需改動直接運行MongoDB應(yīng)用程序。借此DocumentDB用戶可以通過一種新的方式在本地環(huán)境中嘗試DocumentDB應(yīng)用,并能通過更為快速的方式將MongoDB應(yīng)用遷往云中,同時避免遇到MongoDB用戶經(jīng)常需要面對的安全困擾。

負責(zé)這一項目的Microsoft員工Dharma Shukla認為:“這個項目的重點是為開發(fā)全球規(guī)模分布式應(yīng)用程序的開發(fā)者提供一種全球規(guī)模的數(shù)據(jù)庫,這種數(shù)據(jù)庫可以用于Web應(yīng)用,移動應(yīng)用,物聯(lián)網(wǎng)應(yīng)用,任何希望全球化規(guī)模的應(yīng)用都可以順利使用…… 我們能提供類似NoSQL存儲系統(tǒng)那樣的規(guī)模,同時能使用SQL作為查詢語言。”

規(guī)?;С諷QL查詢語法

類似SQL Server這樣的關(guān)系型數(shù)據(jù)庫是為過去的典型工作負載設(shè)計的。以前的傳統(tǒng)應(yīng)用中,人們對數(shù)據(jù)庫讀取速度的關(guān)注遠遠超過寫入速度。但現(xiàn)在情況不同了,物聯(lián)網(wǎng)設(shè)備會生成大量信號,可聯(lián)網(wǎng)汽車會生成大量類似發(fā)動機溫度之類的信息。信息的生成已經(jīng)不足以用“海量”來形容。全球各地正在以極高的速度生成大量數(shù)據(jù),數(shù)據(jù)庫寫入操作開始變得更重要。SQL在響應(yīng)查詢方面的表現(xiàn)很不錯,但隨著寫入操作的崛起,NoSQL順勢而起。

NoSQL數(shù)據(jù)庫針對寫入操作的處理進行了優(yōu)化,可實現(xiàn)極大的規(guī)模。但從數(shù)據(jù)庫讀取內(nèi)容時,NoSQL無法提供豐富的查詢功能。用戶真正需要的是一種針對寫入操作進行優(yōu)化的數(shù)據(jù)庫引擎,這種引擎必須能支持足夠大規(guī)模的快速寫入,同時依然能提供豐富的查詢功能。與其他NoSQL方法不同,DocumentDB的用戶無需在規(guī)模和強大的查詢能力之間進行取舍,通過吞吐率和存儲之間的去耦合,用戶可以對吞吐率進行靈活縮放,同時保持存儲系統(tǒng)的相對獨立。

Shukla舉了一個例子:“使用DocumentDB的過程中,用戶甚至可以實現(xiàn):‘預(yù)計我的網(wǎng)站在9-10點之間會產(chǎn)生極高的流量,需要實現(xiàn)每秒上百萬次寫入的指標,但在全天的其他時段我希望恢復(fù)為每秒一百次寫入的正常指標。’用戶可以動態(tài)更改吞吐率和存儲需求,服務(wù)的調(diào)整工作將由云平臺自動進行?!贝送膺€可以僅縮放一個地區(qū)的服務(wù),但其他地區(qū)保持不變。

直接使用服務(wù)而無需考慮架構(gòu)細節(jié),這一特性消除了部署工作面臨的一個最常見的障礙。為了每周給一個Web服務(wù)部署更新,用戶通常需要留出一定的時間管理對數(shù)據(jù)庫內(nèi)不同字段所做的改動,需要創(chuàng)建新的架構(gòu),需要丟其并新建索引,而在進行這一切操作時,數(shù)據(jù)庫無法處理任何查詢。但在使用DocumentDB的情況下,用戶可以在程序內(nèi)部更改應(yīng)用程序和數(shù)據(jù)結(jié)構(gòu),隨后直接將這些改動發(fā)送至數(shù)據(jù)庫即可,無需擔(dān)心架構(gòu)或輔助索引的創(chuàng)建。這意味著花費更少的精力就能以更高的頻率對自己開發(fā)的應(yīng)用進行迭代。

這一特性與搜索引擎常用的蜘蛛程序非常類似。搜索引擎的蜘蛛程序無需考慮網(wǎng)頁布局,只需要關(guān)注網(wǎng)頁的內(nèi)容。而DocumentDB也只需要關(guān)注和處理各種JSON文檔。這樣的特性使得開發(fā)者可以更加輕松地掌握DocumentDB,因為數(shù)據(jù)庫引擎本身也使用了JavaScript語言。

全新類型的一致性

任何分布式系統(tǒng)都需要確保數(shù)據(jù)庫的分布式副本保持一致。DocumentDB在這方面的獨特之處在于,與其他NoSQL數(shù)據(jù)庫不同,DocumentDB在強一致性(Strong consistency)和最終一致性(Eventual consistency)之外提供了新的選擇。

強一致性確保了用戶始終可以獲得數(shù)據(jù)庫中所存儲內(nèi)容的最新版本,但速度可能會略慢。最終一致性的延遲更低,但確保了用戶最終將獲得最新版本。

目前其他所有技術(shù)只提供了兩個選擇:強一致或最終一致。選擇強一致需要在敏捷度方面妥協(xié),選擇最終一致需要在編程模型方面妥協(xié)。這造成了兩種極端的選擇,而且跨越多個數(shù)據(jù)中心的應(yīng)用無法實現(xiàn)強一致,此時只能選擇最終一致。而很多用戶選擇最終一致的唯一原因就在于,只有這種方式可以同時兼顧到高可用和低延遲。

DocumentDB新增了兩種一致性級別:會話(Session)一致和限制陳舊(Bounded Staleness)一致。

002.jpg

會話一致可以維持會話內(nèi)部(僅限會話內(nèi)部,而不能涵蓋整個數(shù)據(jù)庫)讀寫操作順序為最高優(yōu)先級,或者確保維持所有讀寫操作的順序并讓讀取操作在新寫入操作完成后等待一個固定的時間間隔再開始處理。在會話和限制陳舊層面上實現(xiàn)的一致性級別為用戶分布式系統(tǒng)中不同因素的權(quán)衡提供了更多選擇。

會話一致提供了與最終一致同樣出色的可用性和延遲,同時可以使用更加可預(yù)測的編程模型。這種模式主要被用于開發(fā)移動應(yīng)用、游戲,以及社交類應(yīng)用,但也很適合用于消息、分析,以及物聯(lián)網(wǎng)應(yīng)用。

限制陳舊可以在整個數(shù)據(jù)庫范圍內(nèi)確保讀寫操作按順序進行。Shukla舉了一個例子:“例如在開發(fā)證券行情自動記錄收報機應(yīng)用時,這種情況生成的數(shù)據(jù)只有一個來源,其他端點都是這些數(shù)據(jù)的消耗方,同時用戶會希望實現(xiàn)可預(yù)測的讀取延遲。每次在美國西海岸寫入數(shù)據(jù)后,用戶希望在例如不超過90ms的時間內(nèi)讀取到這些數(shù)據(jù),并且無論西海岸執(zhí)行了多少次寫入操作,用戶都會希望在整個世界范圍內(nèi)精確維持這樣的操作順序,這種需求就很適合使用限制陳舊模式?!?/span>

據(jù)悉這兩個選項使得DocumentDB更加獨一無二,目前僅1-2%的DocumentDB用戶會繼續(xù)使用經(jīng)典的強一致和最終一致級別。

DocumentDB,滄海遺珠?

DocumentDB業(yè)務(wù)還不夠廣為人知,但目前已經(jīng)實現(xiàn)20%的月增長率。Microsoft未給出確切數(shù)字,但Shukla聲稱DocumentDB“已獲得比MongoDB、Basho,以及其他同類本地NoSQL數(shù)據(jù)庫產(chǎn)品在內(nèi)更多的付費用戶。MongoDB實現(xiàn)了上千萬的下載量,但付費用戶只占到其中的一小部分。”

據(jù)悉DynamoDB曾是市面上唯一可以支持SSD后端系統(tǒng)的,但DocumentDB除了使用SSD作為后端,還可以針對架構(gòu)無關(guān)(Schema-free)數(shù)據(jù)實現(xiàn)豐富的查詢功能,而DynamoDB只能提供有限的,基于分區(qū)的查詢。選擇Cassandra的用戶意在全球性布局,但無法進行查詢;選擇MongoDB的用戶意在該軟件為NoSQL市場提供的專用工具所實現(xiàn)的查詢能力,但需要承擔(dān)大量架構(gòu)管理工作,同時該技術(shù)還缺乏SQL或JavaScript查詢能力。

作為一種PaaS服務(wù),DocumentDB清晰明了的服務(wù)級別協(xié)議(SLA)也是一種優(yōu)勢。SLA對于大型企業(yè)用戶來說很重要,能夠在服務(wù)使用全過程中為數(shù)據(jù)丟失和出錯、延遲、查詢、可用性、吞吐率等方面提供擔(dān)保。

目前Microsoft內(nèi)部已經(jīng)在Xbox、Bing、Microsoft HoloLens、Office Web Apps以及多個Azure服務(wù)中使用了DocumentDB。由于能夠兼容MongoDB,Microsoft希望DocumentDB能夠被更多用戶所接受。


米么信息 米么信息 米么信息
分享文章至