為了跟上現(xiàn)代企業(yè)不斷發(fā)展的需求,企業(yè)的數(shù)據(jù)庫必須完成更多的工作—而完成這些工作的前提需要從數(shù)據(jù)庫的功能開始。
在過去的30年里,大范圍的變革性趨勢不斷地重塑和加速了數(shù)據(jù)庫行業(yè)的發(fā)展,也改變了數(shù)據(jù)庫的本質(zhì)。
企業(yè)技術(shù)堆棧中的數(shù)據(jù)庫。從相對呆板的大型機(jī)程序—只處理精心構(gòu)建的數(shù)據(jù),到現(xiàn)代微服務(wù)架構(gòu)—處理各種非結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)庫技術(shù)持續(xù)蛻變并可以利用新技術(shù)解決越來越難的問題,同時還能為更多的關(guān)鍵任務(wù)用例提供動力。
如今的數(shù)據(jù)庫面臨著前所未有的挑戰(zhàn)。它們必須處理堆積如山的數(shù)據(jù)、需要瞬間返回結(jié)果,同時還要應(yīng)對極其復(fù)雜的技術(shù)環(huán)境并保持易操作性和高可用性。目前許多數(shù)據(jù)庫只具備這些關(guān)鍵功能中的一個或者幾個,如果能夠同時擁有九個關(guān)鍵功能,將對企業(yè)解決數(shù)據(jù)挑戰(zhàn)帶來極大便利。下面介紹數(shù)據(jù)庫九個關(guān)鍵功能的具體內(nèi)容。
1.實(shí)時性能
實(shí)時性能是指現(xiàn)代數(shù)據(jù)庫必須在不到1毫秒的時間內(nèi)做出反應(yīng),以避免成為性能瓶頸。
在今天的數(shù)字經(jīng)濟(jì)中,應(yīng)用程序的性能就是業(yè)務(wù)性能。企業(yè)的客戶需要應(yīng)用程序的實(shí)時響應(yīng),如果客戶得不到響應(yīng),他們很可能就會轉(zhuǎn)向選擇競品。
“實(shí)時響應(yīng)"的真正含義是什么呢?從用戶的角度來看,實(shí)時被定義為事情發(fā)生的實(shí)際時間,意味著必須沒有可感知的延遲。從人類反應(yīng)的研究可知,應(yīng)用程序大約有100毫秒(ms)—相當(dāng)于眨眼時間的三分之一—用戶才會感到他們在等待響應(yīng)。從用戶提出請求到他們收到反饋的往返時間很容易達(dá)到100毫秒,因此這只給數(shù)據(jù)庫留下了0ms到1ms的響應(yīng)時間。
對于傳統(tǒng)企業(yè)數(shù)據(jù)庫而言,其運(yùn)行在老式的旋轉(zhuǎn)磁盤上,可能需要長達(dá)100ms的時間來響應(yīng)。如果企業(yè)的數(shù)據(jù)團(tuán)隊(duì)可以通過添加一個緩存層(如開源的Redis),就可以大大降低延遲,但添加緩存層也會增加架構(gòu)的復(fù)雜性。目前的一些現(xiàn)代數(shù)據(jù)庫運(yùn)行速度很快,但仍需要一個緩存,如果沒有緩存這些數(shù)據(jù)庫仍然需要10-100ms的時間來提供結(jié)果。
為了獲得既能夠提供實(shí)時性能、構(gòu)架又簡單的數(shù)據(jù)庫,越來越多的公司開始轉(zhuǎn)向內(nèi)存數(shù)據(jù)庫,如Redis Enterprise,它可以在1毫秒內(nèi)做出響應(yīng),且不需要單獨(dú)的緩存層(雖然Redis Enterprise經(jīng)常被用于其他數(shù)據(jù)庫的緩存)。
2.線性擴(kuò)展
線性擴(kuò)展對于處理整體增長和季節(jié)性激增問題至關(guān)重要,因?yàn)樗恍枰笠?guī)模的基礎(chǔ)設(shè)施投資。
現(xiàn)代應(yīng)用的分布越來越廣,企業(yè)必須規(guī)劃出經(jīng)濟(jì)有效的方法來擴(kuò)展企業(yè)的數(shù)據(jù)庫,以滿足整體的增長,同時還要應(yīng)對季節(jié)性的激增和意外的需求高峰。數(shù)據(jù)庫性能的線性擴(kuò)展(性能增長與增加的基礎(chǔ)設(shè)施容量成正比)對于在沒有大規(guī)模基礎(chǔ)設(shè)施投資的情況下實(shí)現(xiàn)這一目標(biāo)至關(guān)重要。雖然許多云和企業(yè)內(nèi)部的數(shù)據(jù)庫聲稱有能力進(jìn)行線性擴(kuò)展,但他們往往難以用可靠的基準(zhǔn)來證明。
Redis Enterprise通過簡單地增加分片和節(jié)點(diǎn)實(shí)現(xiàn)了無限的線性擴(kuò)展。2019年, Redis展示了Redis Enterprise擴(kuò)展其行業(yè)領(lǐng)先的線性可擴(kuò)展性,在40個AWS實(shí)例上以不到1ms的延遲實(shí)現(xiàn)了2億次/秒。
3.高可用性
不能從數(shù)據(jù)庫故障中快速恢復(fù),會對企業(yè)及其聲譽(yù)產(chǎn)生極大的負(fù)面影響。
目前,企業(yè)在關(guān)鍵任務(wù)的使用案例中越來越依賴應(yīng)用程序,為了保障關(guān)鍵任務(wù)的執(zhí)行,這些應(yīng)用程序和它們背后的數(shù)據(jù)庫必須在任何時候都是可用的。然而,無論企業(yè)的系統(tǒng)和軟件多么可靠,都可能發(fā)生問題。例如停機(jī)會減少收入,提高成本,降低客戶體驗(yàn),但這只是問題的一部分。無法從數(shù)據(jù)庫故障中快速恢復(fù)可能會導(dǎo)致數(shù)據(jù)丟失和以及錯失數(shù)百萬次的操作,這對于任務(wù)關(guān)鍵型的用例(如在線訂單或金融交易),是難以接受的。
Redis Enterprise提供不間斷的高可用性,正常運(yùn)行時間為5個9 (99.999%)。通過使用無盤復(fù)制、即時故障檢測和跨機(jī)架、區(qū)域和地域的秒級故障切換等技術(shù), RedisEnterprise提供了高可用性,同時比類型產(chǎn)品更具有成本效益。
4.云原生
在企業(yè)的部署選項(xiàng)中擁有最大的靈活性和選擇。
對于傳統(tǒng)的數(shù)據(jù)庫,企業(yè)只是進(jìn)行購買、安裝、運(yùn)行等操作,即企業(yè)購買數(shù)據(jù)庫,然后讓數(shù)據(jù)庫管理團(tuán)隊(duì)來進(jìn)行安裝、運(yùn)行及支持等操作。然而,云計(jì)算的興起改變了一切。現(xiàn)在,許多企業(yè)的數(shù)據(jù)庫都是在云中配置的,企業(yè)不再需要進(jìn)行內(nèi)部管理工作。通過云計(jì)算提供的完全管理的數(shù)據(jù)庫服務(wù)(數(shù)據(jù)庫即服務(wù),或DBaaS),企業(yè)得到了一個終端,可以根據(jù)需要發(fā)送和檢索數(shù)據(jù),而其他人則負(fù)責(zé)處理其他的事情。
但是,想要充分利用云的優(yōu)勢,不僅僅是購買一個DBaaS。為了獲得最大的云效益,企業(yè)技術(shù)棧中的每一個元素都必須與云提供的各種資源一起工作。企業(yè)的數(shù)據(jù)庫必須與微服務(wù)架構(gòu)以及容器和容器協(xié)調(diào)系統(tǒng)(如Docker和Kubernetes)合作。
與單一云供應(yīng)商開展合作只是一個開始,未來企業(yè)的數(shù)據(jù)庫還需要能夠在多云及混合云的環(huán)境中工作。
云計(jì)算使應(yīng)用程序的全球分布更加簡化,但這也給數(shù)據(jù)庫帶來了額外的挑戰(zhàn)。對于全球分布的數(shù)據(jù)庫,如何實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)一致性是一個重要問題。Redis企業(yè)版的“Active-Active(主備雙活模式)地理分布式架構(gòu)”使全球應(yīng)用在本地延遲的情況下可實(shí)現(xiàn)實(shí)時一致性。Redis企業(yè)版的Active-Active允許企業(yè)將Redis數(shù)據(jù)庫復(fù)制放在靠近用戶的地方,并通過無沖突的復(fù)制數(shù)據(jù)類型來達(dá)到最終的一致性。
Redis企業(yè)云在AWS、谷歌云和微軟Azure上提供完全管理的無服務(wù)器云數(shù)據(jù)庫服務(wù),因此Redis企業(yè)云能夠在任何地方、任何規(guī)模上實(shí)現(xiàn)實(shí)時數(shù)據(jù)。
5.Tiered-Memory(內(nèi)存分層)支持
數(shù)據(jù)庫設(shè)計(jì)者正在轉(zhuǎn)向分層存儲方法,將熱數(shù)據(jù)放在DRAM中,而溫?cái)?shù)據(jù)則留在成本較低的內(nèi)存中。
隨著規(guī)模化實(shí)時性能需求的日益增長,許多公司正在尋找能夠?qū)⑵鋽?shù)據(jù)存儲在更快的內(nèi)存數(shù)據(jù)庫架構(gòu)中的方法。考慮到DRAM的成本和數(shù)據(jù)集的大小,企業(yè)可以采用下述解決方案。
一個解決方案是將數(shù)據(jù)分層到替代性內(nèi)存中,這些替代性內(nèi)存技術(shù)可以提供類似內(nèi)存的性能,而成本卻大大低于DRAM,但更關(guān)鍵要求是自動和智能分層能夠保留亞毫秒級的延遲。另外一個解決方案是將熱數(shù)據(jù)保存在內(nèi)存中,而溫?cái)?shù)據(jù)則駐留在持久性內(nèi)存中,如閃存或英特爾Optane NVMe,采用這種方法企業(yè)可以獲得超過70%的成本節(jié)約。同時這也極大的擴(kuò)展了內(nèi)存數(shù)據(jù)庫的使用范圍,例如Redis企業(yè)版,通過智能分層可以解決各種用例,如管理游戲用戶的大幅增長、擴(kuò)大應(yīng)用程序的個性化等。
長期以來,Redis一直是分層數(shù)據(jù)庫存儲的領(lǐng)導(dǎo)者,自2016年以來支持Redis on Flash。2019年, Redis Enterprise 宣布支持英特爾Optane DC持久性內(nèi)存,它在DRAM和SSD之間提供了一個新的持久性內(nèi)存層。這兩種技術(shù)的結(jié)合使Redis Enterpris在使用實(shí)時服務(wù)和分析巨大的數(shù)據(jù)集方面具有很高的成本效益。
6.簡單性和可擴(kuò)展性
開發(fā)人員和運(yùn)營團(tuán)隊(duì)越來越追求數(shù)據(jù)庫的操作簡單性。但是沒有一個數(shù)據(jù)模型能夠很好地處理所有類型的數(shù)據(jù),因而企業(yè)可能會在內(nèi)部部署多個數(shù)據(jù)庫,甚至針對同一個應(yīng)用部署多個數(shù)據(jù)庫。這是企業(yè)不愿意接受的情形。
作為一個真正的多模型數(shù)據(jù)庫,Redis Enterprise在同一個數(shù)據(jù)庫中提供了多種數(shù)據(jù)結(jié)構(gòu),包括將10種不同的數(shù)據(jù)結(jié)構(gòu)(包括鍵值、文檔、圖和時間序列數(shù)據(jù)模型)納入一個高度通用的多模型數(shù)據(jù)庫,這樣可以減少數(shù)據(jù)模型及數(shù)據(jù)維護(hù)的需要,由此削減了數(shù)據(jù)庫操作的復(fù)雜性以及成本開銷。
這種多功能性大部分來自Redis企業(yè)版的模塊,如RediSearch、RedisGraph、RedisJSON、RedisTimeSeries、RedisBloom和其他模塊。Redis企業(yè)軟件模塊提供了終極的靈活性和可擴(kuò)展性,可以毫不費(fèi)力地支持概率數(shù)據(jù)結(jié)構(gòu)、綜合搜索功能、流處理、深度學(xué)習(xí)、人工智能等。
對于開發(fā)人員而言,喜歡Redis的關(guān)鍵原因之一是Redis的易用性,Redis企業(yè)軟件模塊可以幫助開發(fā)人員創(chuàng)建強(qiáng)大的新應(yīng)用程序。
7.面向未來的NoSQL
SQL數(shù)據(jù)庫將永遠(yuǎn)不會消失,但NoSQL才是未來的趨勢—NoSQL正被用于解決企業(yè)創(chuàng)新和最有價值的用例。
傳統(tǒng)的SQL數(shù)據(jù)庫在表中建立高度結(jié)構(gòu)化的數(shù)據(jù)模型。隨著互聯(lián)網(wǎng)的興起和新類型數(shù)據(jù)的爆炸,傳統(tǒng)的SQL數(shù)據(jù)庫已經(jīng)不太適用了。如今,企業(yè)數(shù)據(jù)庫中的大多數(shù)數(shù)據(jù)可能都不是結(jié)構(gòu)化的,而且很難組織在一個表中。此外,SQL數(shù)據(jù)庫缺乏靈活性和高延遲意味著它無法在滿足在線應(yīng)用要求時也滿足用戶的期望。
為了解決這一問題,現(xiàn)代NoSQL數(shù)據(jù)庫將非結(jié)構(gòu)化數(shù)據(jù)放在文檔中,然后使用鍵值數(shù)據(jù)存儲和強(qiáng)大的搜索功能來尋找正確的文檔和文檔中的正確項(xiàng)目。
這是否意味著SQL已經(jīng)死亡?當(dāng)然不是!總會有一些情況下,SQL數(shù)據(jù)庫是訂購數(shù)據(jù)的最佳方式,而且傳統(tǒng)的解決方案可能需要幾十年的時間才能退出巿場。當(dāng)然,NoSQL才是大勢所趨—尤其是云原生NoSQL。根據(jù)Redis的2021年教字轉(zhuǎn)型指數(shù)報(bào)告,每種類型的NoSQL數(shù)據(jù)庫使用量都在上升,而關(guān)系型(SQL)的使用則停滯不前。
8.開發(fā)者工具
人們對圖形用戶界面的需求越來越大,通過圖形用戶界面管理數(shù)據(jù)庫,開發(fā)人員可以更直觀地探索并與他們的數(shù)據(jù)互動。
除了簡單和多功能之外,企業(yè)的數(shù)據(jù)庫還必須便于開發(fā)者使用。為了讓數(shù)據(jù)發(fā)揮最大化價值,企業(yè)的數(shù)據(jù)庫必須讓數(shù)據(jù)易于快速分析。
雖然命令行界面(CLI)仍然是最常見的數(shù)據(jù)庫使用方式,但人們對圖形用戶界面的需求越來越大,尤其是那些希望以視覺方式探索和與數(shù)據(jù)互動的分析人員,更喜歡采用圖形用戶界面管理數(shù)據(jù)系統(tǒng)。
9.開放的源代碼DNA
即使是最保守的企業(yè)現(xiàn)在也在開始使用開源的商業(yè)解決方案—數(shù)據(jù)庫。
在2021年,開源的商業(yè)解決方案被認(rèn)為尚無法解決企業(yè)的關(guān)鍵任務(wù)運(yùn)行問題。然而,現(xiàn)在的情況看,只要是有良好支持的好產(chǎn)品,即便是觀念保守的企業(yè)也愿意依靠開源的解決方案來解決數(shù)據(jù)問題。
最具創(chuàng)新性和最強(qiáng)大的技術(shù)都來自于開放的源代碼DNA。擁有開源的DNA非常關(guān)鍵:這是唯一的方法來確保一項(xiàng)技術(shù)能夠盡可能的可擴(kuò)展并盡快完成更新。扎根于開源意味著開發(fā)者要解決社區(qū)的真正需求,而不是數(shù)據(jù)庫供應(yīng)商能做什么或想做什么。
Redis Enterprise是一個DBaaS(數(shù)據(jù)庫即服務(wù)),旨在提供最好的Redis體驗(yàn),它不僅保持了開源Redis的簡單性和高性能,還增加了企業(yè)級功能。Redis Enterprise可以在云、本地和混合部署中提供無與倫比的性能、可擴(kuò)展性、創(chuàng)新性和高成本效益,能夠?yàn)殛P(guān)鍵業(yè)務(wù)應(yīng)用程序提供高性能緩存、以亞毫秒級的大規(guī)模性能和99.999%的高可用性擴(kuò)展數(shù)據(jù)、使用現(xiàn)代數(shù)據(jù)模型構(gòu)建本地和云應(yīng)用程序并輕松遷移到云端實(shí)現(xiàn)跨區(qū)域部署。
關(guān)于虹科云科技
虹科云科技,致力于為您提供云解決方案,我們通過分享公有云、私有云、數(shù)據(jù)庫等相關(guān)知識、產(chǎn)品信息、應(yīng)用案例及行業(yè)信息,幫助您找到最適合您的企業(yè)級云解決方案。Redis 產(chǎn)品更多詳細(xì)內(nèi)容。
審核編輯:湯梓紅
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3845瀏覽量
64626 -
云原生
+關(guān)注
關(guān)注
0文章
252瀏覽量
7978
發(fā)布評論請先 登錄
相關(guān)推薦
評論