如何看待FoundationDB資料庫發展前景?

雲端計算頻道發表於2019-01-30

如果說資料是科技領域的“石油”,那麼資料庫就是油井。無論你用哪一個程式,使用哪一個平臺,都必須要有一個資料庫。 資料庫如此重要,以至於各大巨頭企業都在搶奪資料庫市場。在開源技術領域,資料庫已呈瘋長之勢,我們幾乎每週都能看到有一個新的資料庫入場。在這種情況下,你有沒有想過哪一個資料庫會主導這個行業?

資料庫發展趨勢分析

我們先來看下資料庫發展現狀。從整個資料庫環境來看,專業化是大多數企業的發展方向。我們的資料庫要能解決特定的問題,比如可以按照時間序列提供原始資料查詢,以及一種基於Lucene的實時搜尋方案 。但是對於一些初創企業來說,他們的系統架構可能不適用於這種模式。於是,原生多模型資料庫產生。以ArangoDB和Cosmos DB為代表的多模型資料庫,得到很多中小企業的熱捧。

多模型資料庫兼有key/value鍵/值對、graph圖和document文件資料模型,提供了涵蓋三種資料模型的統一的資料庫查詢語言,並允許在單個查詢中混合使用三種模型。這種資料庫夠適用於許多不同的用例,能夠最小化後臺部件,可支援不同資料建模技術(如文件、圖表等),有助於企業降低總擁有成本,增加靈活性,進而滿足整體技術堆疊需求。

表面看來,多模型資料庫幾乎是最完美的資料庫,但是其實這種資料庫也有弊端,資料庫結構體系更加封閉,不能針對特定的用例進行個性化升級,通用性非常差。由於工作負載的型別不同,我們需要專業的資料庫。例如,大多數物聯網用例都屬於編寫密集型。寫入時必須具有低延遲能力,讀取時要能分離,所以按照時間順序儲存資料並提高查詢的效能,是非常有必要的。

所以,到底如何選擇一個資料庫,誰會統領整個資料庫市場,其實很難找到標準答案。但如果我們非要構建一個資料庫,那麼相對來說,時間序列資料庫會是一個最佳選擇,因為從長遠來看,使用多模型資料庫最終會導致資料遷移出現問題。

關於鍵值資料庫

那麼,我們為什麼需要鍵值資料庫?這可能是大家都會關心的問題。

大多數資料庫基本上都是在鍵值資料庫的基礎上建模的。因為鍵值儲存更具靈活性。無論是像MySQL這樣的關聯式資料庫,還是像Dgraph這樣的圖形資料庫,都不具備這樣的能力。

鍵值資料庫是一種非關聯式資料庫,透過簡單的鍵值方法來儲存資料。鍵值資料庫將資料儲存為鍵值對集合,其中鍵作為唯一識別符號。鍵和值都可以是從簡單物件到複雜複合物件的任何內容。鍵值資料庫是高度可分割槽的,並且允許以其他型別的資料庫無法實現的規模進行水平擴充套件。比如:使用者可以輕鬆地在鍵值資料庫上建立一個像MongoDB這樣的文件資料庫,文件的每個欄位將對映到惟一一個鍵。

鍵值資料庫來滿足了企業的建模需求。由於它只是在底層設定和操作,因此可以進行最大化的效能調優。所以,鍵值資料庫成為體驗最好的可伸縮資料庫之一,一個資料庫幾乎可以解決所有專業化資料庫需求。

但是問題是,為什麼鍵值資料庫最終沒有一統天下?那是因為,對比分散式資料庫以及事務型資料庫,鍵值資料庫還有很多不具備的功能。

FoundationDB成為後起之秀

FoundationDB,於2009年開發,是一個能在多叢集伺服器上存放大規模結構化資料的分散式資料庫。該資料庫系統專注於高效能、高可擴充套件性、和不錯的容錯能力。同時,FoundationDB也是一個按詞法順序排列的事務性鍵值資料庫。它完全與ACID相容,這意味著我們的資料庫(資料和索引)將始終處於一致的狀態。

2018年4月20日,蘋果公司宣佈將旗下資料庫產品FoundationDB核心開源,這意味著將有越來越多的企業可以按照自己的方式實現更高階別的資料庫建模。但是,不是每個人都有時間或有意願為資料庫建模,這就是FoundationDB具有革命性的地方。

FoundationDB 的做法是將資料模型與儲存分離。例如,資料儲存並沒有內建索引。上一層會提供相應的功能,它透過建立和儲存兩個鍵值對來實現索引,一個用於資料,一個用於索引。

小結

FoundationDB將資料庫競爭提到一個新水平。我不能說它是完美的資料庫,因為它的底層架構還不為人所知。但FoundationDB的確給更多使用者多了一層選擇,可以在兼具靈活性和更高效能的基礎上,讓操作變得更加簡單。

來自 “ https://dzone.com/articles/foundationdb-future-of- ”,原文連結:http://blog.itpub.net/31545808/viewspace-2565279/,如需轉載,請註明出處,否則將追究法律責任。

相關文章