新聞中心
當前位置:網站(zhàn)首頁 > 新聞中心
雲數據庫選型也(yě)繞不開(kāi)“CAP定理(lǐ)”?
與80年代初期相比,今天的數據庫技術,可以說是取得了(le)長足猛進的發展。不僅在硬件的選擇上(shàng),不再視(shì)大(dà)型機爲唯一,還可以根據具體的業務需求,選擇更貼近業務場景需求的數據庫産品。
如今,軟、硬件技術在不斷進步,使得數據庫的種類發生了(le)翻天覆地的變化。除了(le)過去常用(yòng)的關系型數據庫,我們還可以選擇時(shí)序數據庫、圖數據庫、文(wén)本數據庫等等。有的數據庫隻支持單一數據處理(lǐ),有的數據庫可支持多種數據共用(yòng)同一個實例。一些(xiē)專門(mén)用(yòng)于在線事(shì)務處理(lǐ)的數據庫,叫做 OLTP;一些(xiē)專門(mén)用(yòng)于分析型業務的數據庫叫做 OLAP。而能(néng)夠把兩者結合起來(lái)的,叫做HTAP。
總之,你(nǐ)可以把數據庫放(fàng)在任意地方,可随時(shí)随地訪問你(nǐ)的數據,或者随意遷移數據。比如:你(nǐ)可以把智能(néng)手機上(shàng)的數據遷移到(dào)本地的數據中心服務器,還可以從(cóng)本地服務器遷移到(dào)雲數據庫上(shàng)。
那麽,問題來(lái)啦,什(shén)麽是雲數據庫?
這(zhè)兩年,不管是傳統數據庫廠(chǎng)商,還是雲計(jì)算(suàn)大(dà)廠(chǎng),都在主推“雲數據庫”,對(duì)于雲數據庫概念,不同人有不同理(lǐ)解,可以說是衆說紛纭。那麽,到(dào)底什(shén)麽是雲數據庫?數據庫從(cóng)本地遷移到(dào)雲上(shàng),就是雲數據庫嗎?
從(cóng)定義來(lái)看(kàn),雲數據庫是指被優化或部署到(dào)一個虛拟計(jì)算(suàn)環境中的數據庫,最顯著的優勢是可以獲得按需付費、按需擴展、高(gāo)可用(yòng)性以及存儲整合等能(néng)力。所以,雲數據庫即可以在本地運行,也(yě)可以通過專有雲的方式運行,同時(shí)與本地數據庫兼容。另外(wài),有些(xiē)雲計(jì)算(suàn)大(dà)廠(chǎng)推崇的是雲原生數據庫,這(zhè)意味着整個數據架構都需要使用(yòng)公有雲廠(chǎng)商提供的服務。
不管大(dà)家如何看(kàn)待雲數據庫,有一點可以确定,那就是數據庫不是一個簡單的軟件應用(yòng),而是涉及到(dào)應用(yòng)程序的後端和(hé)存儲層。即數據從(cóng)前端傳到(dào)後台,後台與數據庫直接關聯。同時(shí),按照CAP定理(lǐ),在一緻性、可用(yòng)性、分區(qū)容錯性三者之間,不可能(néng)三者兼顧,而是最多同時(shí)兼顧兩項。
也(yě)就是說,如何選擇一個理(lǐ)想數據庫,取決于應用(yòng)程序需求。如果隻用(yòng)于顯示應用(yòng)程序的目錄,那麽數據庫的讀取速度和(hé)延遲時(shí)間很(hěn)重要,這(zhè)時(shí)文(wén)檔數據庫可能(néng)是理(lǐ)想型選擇,當然很(hěn)多關系型數據庫和(hé)寬列數據庫也(yě)能(néng)适用(yòng)。如果是金(jīn)融交易式應用(yòng)程序處理(lǐ),那麽如何滿足數據庫的 ACID 屬性(原子性、一緻性、隔離性和(hé)持久性)就變得非常重要,這(zhè)時(shí)關系型數據庫顯然是最佳選擇。
随着數據庫技術的不斷成熟,數據庫選型也(yě)在突破傳統技術架構的局限。比如:在滿足現(xiàn)代化業務需求的分布式數據庫架構中,節點故障和(hé)分區(qū)容錯性可以通過使用(yòng) Paxos 或 Raft 共識算(suàn)法來(lái)解決。本質上(shàng),當一個節點退出集群時(shí),隻要它有仲裁,集群就能(néng)繼續工(gōng)作(zuò)。此外(wài),這(zhè)種分區(qū)的思想在私有雲内部網絡中很(hěn)少見,類似于雲服務提供商提供的那種分布式架構服務,在本地數據中心是通過光纖冗餘來(lái)實現(xiàn),并且不通過公網傳輸占據内部流量。
所以,總的來(lái)看(kàn),雖然沒有任何技術可以繞過CAP 定理(lǐ),但(dàn)好(hǎo)的雲數據庫具有超過五個九 (99.999%) 的可用(yòng)性,從(cóng)一定程度上(shàng)大(dà)大(dà)提高(gāo)了(le)數據庫的一緻性和(hé)可用(yòng)性水(shuǐ)平。比如:針對(duì)多人遊戲場景,讀寫能(néng)力和(hé)延遲性都很(hěn)重要,這(zhè)時(shí)分布式數據庫架構,可以很(hěn)好(hǎo)地解決這(zhè)一問題。如果不是強一緻性業務以及關系型業務,鍵值數據庫可能(néng)是理(lǐ)想選擇。如果是傳感器之類的數據輸入輸出,可以快(kuài)速大(dà)量寫入的時(shí)序數據庫,表現(xiàn)會(huì)更好(hǎo)。
另外(wài),任何雲數據庫都可以處理(lǐ)少量以及大(dà)量數據。少的可以處理(lǐ)以千兆字節或更少單位的數據。而具有大(dà)數據處理(lǐ)能(néng)力的雲數據庫,可以處理(lǐ) TB級數據(數千 GB),包括少數數據庫可以容納 PB級(數百萬 GB)。
需要重點強調的是,大(dà)多數雲數據庫會(huì)按月向您收取存儲費用(yòng),SSD 存儲的費用(yòng)要高(gāo)于磁盤存儲。另外(wài),過高(gāo)的數據處理(lǐ)速度也(yě)會(huì)給其他(tā)指标帶來(lái)影響,例如數據庫寫入速度和(hé)網絡容量受到(dào)限制。 如果數據量突增,數據庫或前端程序可能(néng)需要在寫入永久存儲時(shí)将其緩沖在 RAM 中,以避免數據丢失。
無論你(nǐ)選擇什(shén)麽樣的數據庫,都不要忘記在投入生産前進行大(dà)量測試。另外(wài),也(yě)并不是所有的雲數據庫,都要需要你(nǐ)100%地把本地數據庫遷移到(dào)雲上(shàng)。同時(shí),一旦數據庫上(shàng)雲,就要做好(hǎo)監控和(hé)防護措施,出現(xiàn)問題時(shí)要有預警機制,能(néng)夠快(kuài)速遷移到(dào)備份方案中。
作(zuò)者:李代麗(lì)? 來(lái)源:IT168網站(zhàn)
上(shàng)一篇 邊緣計(jì)算(suàn):科技行業的下(xià)一個萬億美(měi)元機會(huì) 下(xià)一篇 DPU:5G邊緣雲的新基石
|