當前位置:
首頁 > 知識 > 如何看待FoundationDB資料庫發展前景?

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

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

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

資料庫發展趨勢分析

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

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

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

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

關於鍵值資料庫

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

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

鍵值資料庫是一種非關係資料庫,通過簡單的鍵值方法來存儲數據。鍵值資料庫將數據存儲為鍵值對集合,其中鍵作為唯一標識符。鍵和值都可以是從簡單對象到複雜複合對象的任何內容。鍵值資料庫是高度可分區的,並且允許以其他類型的資料庫無法實現的規模進行水平擴展。比如:用戶可以輕鬆地在鍵值資料庫上創建一個像MongoDB這樣的文檔資料庫,文檔的每個欄位將映射到惟一一個鍵。

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

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

FoundationDB成為後起之秀

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

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

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

小結

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

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

是時候拋棄傳統ERP系統,改用SaaS了!
企業為什麼要放棄區塊鏈,轉向雲端?

TAG:IT168企業級 |