導(dǎo)讀:大數(shù)據(jù)時(shí)代的來(lái)臨也促使NoSQL數(shù)據(jù)庫(kù)迅速崛起,但這并不意味著傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)即將消亡。近日Google研究院就推出被稱(chēng)為F1的新型數(shù)據(jù)庫(kù),F(xiàn)1作為一種混合型數(shù)據(jù)庫(kù)融合了BigTable的高擴(kuò)展性和SQL數(shù)據(jù)庫(kù)的可用性和功能性。F1數(shù)據(jù)庫(kù)作者共有12人,清單如下:Jeff Shute、Mircea Oancea、Stephan Ellner、Ben Handy、Eric Rollins、Bart Samwel、Radek Vingralek、Chad Whipkey、Xin Chen、Beat Jegerlehner、Kyle Little?eld、Phoenix Tong。
現(xiàn)今云計(jì)算的從業(yè)人員對(duì)NoSQL一詞并不感到陌生,雖然很多技術(shù)人員都長(zhǎng)期從事關(guān)系數(shù)據(jù)庫(kù)的工作,但現(xiàn)在他們對(duì)NoSQL技術(shù)充滿期待。對(duì)于企業(yè)來(lái)說(shuō),從關(guān)系型數(shù)據(jù)庫(kù)到NoSQL數(shù)據(jù)庫(kù)轉(zhuǎn)變絕對(duì)是個(gè)需要深思熟慮的大改變。這涉及的不僅是軟件的變化,更多的是對(duì)于數(shù)據(jù)存儲(chǔ)上觀念性的變化。
NoSQL——關(guān)系數(shù)據(jù)庫(kù)的有力補(bǔ)充
目前,NoSQL和文檔數(shù)據(jù)庫(kù)成為關(guān)系數(shù)據(jù)庫(kù)的有力補(bǔ)充(而非替代品),同時(shí)提供了更多的選擇。如果企業(yè)準(zhǔn)備將數(shù)據(jù)遷移,那么選擇NoSQL的重要標(biāo)準(zhǔn)就是要看CAP(Consistency、Availability和Partition Tolerance),也就是我們所說(shuō)的一致性、可用性和分區(qū)容忍性。但CAP原則要求在分布式系統(tǒng)只能選擇一致性、可用性和分區(qū)容忍性其中的兩項(xiàng)。所以如果企業(yè)認(rèn)為一致性是重要的那么關(guān)系數(shù)據(jù)庫(kù)理應(yīng)是優(yōu)先選擇的對(duì)象。

例如在銀行等應(yīng)用領(lǐng)域,一致性是非常重要的,這要求必須隨時(shí)考慮每個(gè)數(shù)據(jù)塊。 而CAP原則中的可用性也不容忽視,某些領(lǐng)域的數(shù)據(jù)可用性要比等待所有交易數(shù)據(jù)收集齊全更為重要。最后在水平縮放時(shí),分區(qū)容忍性對(duì)于文檔數(shù)據(jù)庫(kù)顯得尤為關(guān)鍵。但MongoDB并不支持復(fù)雜的事務(wù),只支持少量的原子操作,所以不適用于“轉(zhuǎn)帳”等對(duì)事務(wù)和一致性要求很高的場(chǎng)合。這就要求需要一個(gè)關(guān)系數(shù)據(jù)庫(kù)來(lái)對(duì) 交易進(jìn)行過(guò)高級(jí)別的控制。
鑒于NoSQL目前的現(xiàn)狀,Google研究院近日就推出命名為F1的新數(shù)據(jù)庫(kù),F(xiàn)1作為一種混合型數(shù)據(jù)庫(kù)融合了BigTable的高擴(kuò)展性和SQL數(shù)據(jù)庫(kù)的可用性和功能性。F1數(shù)據(jù)庫(kù)意味著你可以擁有伸縮性很強(qiáng)的數(shù)據(jù)庫(kù),而不必轉(zhuǎn)向NoSQL。
F1可支持Google核心的AdWords業(yè)務(wù)

F1是一個(gè)從頭開(kāi)始建立的新數(shù)據(jù)庫(kù),其設(shè)計(jì)指標(biāo)符合Google所需的規(guī)模,與此同時(shí)不會(huì)影響RDBMS的功能。F1的關(guān)鍵特性包括:高擴(kuò)展性(自動(dòng)分片存儲(chǔ)); 可用性和一致性(同步復(fù)制); High commit latency: Can be hidden(分層架構(gòu)、協(xié)議緩沖列類(lèi)型、高效客戶端代碼)
F1底層存儲(chǔ)

F1的底層文件系統(tǒng)為BigTable的繼任產(chǎn)物Megastore,其屬性主要包括:全局分布式;同步跨數(shù)據(jù)中心復(fù)制;可視分片和數(shù)據(jù)移動(dòng);常規(guī)事務(wù);多次讀取單原子寫(xiě)入;本地或跨機(jī)器以及快照讀取。
F1數(shù)據(jù)庫(kù)的架構(gòu)和特性

架構(gòu):Sharded Spanner 服務(wù)器;數(shù)據(jù)存在GFS和內(nèi)存之中;Stateless F1 服務(wù)器;工作池提供查詢(xún)執(zhí)行
特點(diǎn):關(guān)系模式;擴(kuò)展到層次和豐富的數(shù)據(jù)類(lèi)型;無(wú)阻塞的架構(gòu)變更;一致性指標(biāo);并行讀取SQL或MapReduce
層次模式架構(gòu)

集群存儲(chǔ)

F1目前目前面臨的挑戰(zhàn)

當(dāng)前面臨的挑戰(zhàn)主要有:并行查詢(xún)執(zhí)行、故障恢復(fù)、隔離、優(yōu)化、遷移應(yīng)用時(shí)要求不宕機(jī)等等。
Google從MySQL遷移到F1給其帶來(lái)了更高的擴(kuò)展性、更高的可用性、等效一致性得以保證同時(shí)兼顧強(qiáng)大的SQL查詢(xún)。總之,Google的此次數(shù)據(jù)庫(kù)遷移在保證數(shù)據(jù)庫(kù)規(guī)模的同時(shí)并沒(méi)有失去任何的數(shù)據(jù)庫(kù)功能。(Terminator/編譯)