這9個關(guān)鍵特征,才是未來數(shù)據(jù)庫該有的樣子
當(dāng)今的數(shù)據(jù)庫面臨著前所未有的挑戰(zhàn)。它們必須處理大量不同的數(shù)據(jù),快速獲得結(jié)果,并應(yīng)對極其復(fù)雜的技術(shù)環(huán)境,同時又要易于使用且高度可擴展、可用。為了應(yīng)對這些挑戰(zhàn),未來的數(shù)據(jù)庫平臺必須具備以下關(guān)鍵特征。
1. 即時性能
現(xiàn)代數(shù)據(jù)庫必須在不到一毫秒的時間內(nèi)做出響應(yīng),避免成為應(yīng)用程序的性能瓶頸。運行在硬盤上的數(shù)據(jù)庫根本跟不上。DRAM中的緩存層可以幫助提高常見請求的速度,從而降低數(shù)據(jù)庫的速度,但這增加了復(fù)雜性,并不能總是足夠快地滿足每個請求。越來越多的企業(yè)開始使用內(nèi)存數(shù)據(jù)庫,這種數(shù)據(jù)庫的響應(yīng)時間不到一毫秒,不需要單獨的緩存層。
2. 可擴展性
現(xiàn)代應(yīng)用可以處理越來越大的數(shù)據(jù)集。企業(yè)必須計劃通過經(jīng)濟有效的方式擴展數(shù)據(jù)平臺,來滿足整體增長。同時還要應(yīng)對周期性的激增和需求的意外高峰。線性擴展對于在無需大量基礎(chǔ)架構(gòu)投資的情況下實現(xiàn)這一目標(biāo)至關(guān)重要。
3. 高可用性
無法從數(shù)據(jù)庫故障中快速恢復(fù)可能會導(dǎo)致數(shù)據(jù)丟失和對用戶造成影響,尤其是金融交易、在線訂單等業(yè)務(wù)場景。這就是為什么選擇一個能夠提供高可用性、運行時間為5個9(99.999%)的數(shù)據(jù)庫如此的重要。
4. 分層內(nèi)存支持
數(shù)據(jù)庫設(shè)計者正轉(zhuǎn)向分層存儲方案,將最熱門的數(shù)據(jù)放在DRAM中,而熱數(shù)據(jù)則駐留在持久內(nèi)存選項中,如基于閃存的固態(tài)硬盤——它比普通硬盤速度快,但比DRAM便宜。以更低的成本獲得了60-70%的DRAM性能。
5. 簡單性
由于沒有單一的數(shù)據(jù)模型可以很好地處理所有類型的數(shù)據(jù),因此企業(yè)最終可能在同一應(yīng)用程序中部署多個數(shù)據(jù)庫。多模型數(shù)據(jù)庫在同一數(shù)據(jù)庫中提供了多個數(shù)據(jù)結(jié)構(gòu),通過減少為每個所需數(shù)據(jù)模型提供和維護不同數(shù)據(jù)庫的需求,從而減少了復(fù)雜性和開銷。
6. 先進的開發(fā)工具
數(shù)據(jù)庫還必須易于開發(fā)人員使用。盡管命令行界面(CLI)仍然是與數(shù)據(jù)庫平臺一起使用的最常用方法,但對GUI的需求卻在不斷增長,來簡化系統(tǒng)管理并支持通過可視方式瀏覽數(shù)據(jù)和交互。
7. 云原生
云計算的興起意味著企業(yè)不再需要管理所使用的數(shù)據(jù)庫的本地工作。但這不僅僅是購買數(shù)據(jù)庫即服務(wù)(DBaaS)的優(yōu)勢,企業(yè)技術(shù)堆棧的每個元素都必須與云交付的各種資源一起工作。數(shù)據(jù)庫必須能夠很好地與微服務(wù)架構(gòu)、容器和容器編排系統(tǒng)(如Docker和Kubernetes)合作,并且能夠跨多云和混合云環(huán)境工作。
8. 開源
現(xiàn)在,即便是最保守的企業(yè)也意識到?jīng)]有理由拒絕開源解決方案來處理數(shù)據(jù)庫用例。所以,擁有開源的基因必不可少的。此外,開源意味著開發(fā)人員可以了解社區(qū)用戶真正需要的東西,而不是供應(yīng)商說什么就是什么。
9. 未來的NoSQL
現(xiàn)在,大多數(shù)數(shù)據(jù)都沒有結(jié)構(gòu)化,很難像傳統(tǒng)的SQL數(shù)據(jù)庫一樣在表中進行?,F(xiàn)在NoSQL數(shù)據(jù)庫將非結(jié)構(gòu)化數(shù)據(jù)放入文檔中,并使用鍵值數(shù)據(jù)存儲和搜索功能來查找所需內(nèi)容。SQL數(shù)據(jù)庫永遠不會消失,但NoSQL是未來,它是解決最有價值的用例的方向。