亚洲另类在线观看,特黄特黄欧美大片在线视频,播放毛 潮喷97免费人妻,无码人妻久久一区二区三区不卡,日本动漫爆乳h真人无遮挡,在线观看a视频

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

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

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

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

001.jpg

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

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

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

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

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

相關(guān)贊助商

更多的技術(shù)大會(huì)和免費(fèi)活動(dòng),盡在活動(dòng)大本營(yíng)!點(diǎn)擊了解詳情!

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

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

規(guī)模化,支持SQL查詢語法

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

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

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

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

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

全新類型的一致性

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

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

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

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

002.jpg

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

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

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

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

DocumentDB,滄海遺珠?

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

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

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

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


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