0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

選擇 KV 數(shù)據(jù)庫最重要的是什么?

jf_94205927 ? 來源:jf_94205927 ? 作者:jf_94205927 ? 2024-03-28 22:11 ? 次閱讀

經(jīng)常有客戶提到 KV 數(shù)據(jù)庫,但卻偏偏“不要 Redis”。比如有個做安全威脅分析平臺的客戶,他們明確表示自己對可靠性要求非常高,需要的不是開源 Redis 這種內(nèi)存緩存庫,而是 KV 數(shù)據(jù)庫。雖然最后我也沒問清楚他們業(yè)務存啥(推測是這塊業(yè)務數(shù)據(jù)比較機密),但確實業(yè)務本身對可靠性要求非常高,開源 Redis 自身的可靠性無法滿足他們的要求,最終該用戶選擇使用 GaussDB(for Redis)數(shù)據(jù)庫,當前數(shù)據(jù)量已經(jīng)是 2TB 規(guī)模,一直穩(wěn)定運行中。

真正的 KV 數(shù)據(jù)庫,業(yè)界有好幾項開源的項目,云廠商也紛紛推出自家產(chǎn)品,比如華為云 GaussDB(for Redis)。使用方在調(diào)研選型 KV 數(shù)據(jù)庫的時候,由于要存儲百 GB 甚至數(shù)十 TB 級的重要數(shù)據(jù),首先關(guān)注的是數(shù)據(jù)庫是否穩(wěn)定可靠,同時懂行的客戶一般也會聊到自建開源 Redis 的“不靠譜”問題,例如:

問題 1:自建開源 Redis 有丟數(shù)據(jù)和數(shù)據(jù)不一致的風險

廣告競價和推薦等大數(shù)據(jù)業(yè)務將海量數(shù)據(jù)存放在 KV 數(shù)據(jù)庫,開源 Redis 是將全量數(shù)據(jù)存在內(nèi)存中,雖然有 RDB 和 AOF 的備份機制,但那只是普通的文本文件,可靠性很低,只能作為兜底手段,關(guān)鍵數(shù)據(jù)該丟還是會丟。

另外,開源 Redis 主備節(jié)點采用異步復制的機制,故障倒換的時候有可能出現(xiàn)明顯的數(shù)據(jù)不一致,像是分布式鎖這類場景就會很尷尬:

wKgaomYFejKABcBUAAYcik-_bpw704.png

問題 2:“Cache+DB”的業(yè)務架構(gòu)復雜

電商和游戲等互聯(lián)網(wǎng)業(yè)務采用 Redis 緩存+持久化數(shù)據(jù)庫的架構(gòu),通過緩存加速來提升業(yè)務的使用體驗,業(yè)務需要設計緩存的淘汰機制,還需要解決緩存與持久化數(shù)據(jù)庫之間的數(shù)據(jù)一致性問題,業(yè)務架構(gòu)復雜。

問題 3:開源 Redis 分片故障不能提供服務,故障場景對業(yè)務影響比較大

金融、財經(jīng)和電商等業(yè)務對可靠性要求極高,開源 Redis 單個數(shù)據(jù)分片存放在主備兩個節(jié)點上,如果兩個節(jié)點都出現(xiàn)故障,則整個分片的數(shù)據(jù)不可訪問,應對極端故障場景的能力不足。

社區(qū)開源的項目一般都引入了 RocksDB 存儲引擎(這東西深的很),其實能把上層 KV 業(yè)務變得穩(wěn)定許多,通過持久化存儲介質(zhì)替代內(nèi)存的方式來彌補開源 Redis 的不足。但它們無法完美解決性能、兼容性和擴容的問題,更無法保證數(shù)據(jù)庫的穩(wěn)定可靠,還需要投入專門的人力進行搭建維護、調(diào)優(yōu)等……最終綜合算下來,成本并不低。

云廠商的 KV 數(shù)據(jù)庫由于進行了技術(shù)創(chuàng)新與優(yōu)化,一般比較給力,以 GaussDB(for Redis)為例,下面從以下幾個角度解釋如何把一款產(chǎn)品做到“靠譜”:

企業(yè)級特性 1:采用內(nèi)存+NVMe 的存儲方案,全量數(shù)據(jù)三副本持久化存儲

GaussDB(for Redis)在存儲池中有三副本落盤到 NVMe 存儲池中,宕機不會丟數(shù)據(jù),也不會存在主從同步的問題。因此,客戶可以直接拿 GaussDB(for Redis)當做持久化數(shù)據(jù)庫使用,一庫頂多庫,業(yè)務架構(gòu)變得簡單,也減輕了多套數(shù)據(jù)庫的運維成本。

wKgaomYFek6AXkraAAHLaHtvMkg513.png

企業(yè)級特性 2:采用存算分離的架構(gòu),支持 3AZ 部署和 N-1 故障的超高可用

GaussDB(for Redis)支持 3AZ 部署計算節(jié)點,均勻分布在 3 個不同的可用區(qū),如果遇到 1 個或 2 個可用區(qū)出現(xiàn)網(wǎng)絡、制冷、電力等突發(fā)故障,剩余可用區(qū)的節(jié)點能接管故障節(jié)點的數(shù)據(jù)分片,還能繼續(xù)支撐業(yè)務訪問全量數(shù)據(jù)。

同樣得益于存算分離的架構(gòu),GaussDB(for Redis)將全量數(shù)據(jù)落盤到分布式存儲池,最多支撐 N-1 故障,哪怕只剩下一個節(jié)點正常,也能通過接管所有分片,繼續(xù)支撐業(yè)務運行。

wKgZomYFel-ACpDlAAOJhSkAmb0421.png

企業(yè)級特性 3:雙活解決方案支持極致穩(wěn)定可靠,靈活組網(wǎng)

如果遇到大規(guī)模網(wǎng)絡故障、電力故障、火災或自然災害,導致整個數(shù)據(jù)庫實例不可用,甚至整個 Region 都不可用,GaussDB(for Redis)也在這些極端場景下保證業(yè)務的連續(xù)性。

GaussDB(for Redis)支持給兩個跨 region 的實例建立雙活關(guān)系,支持數(shù)據(jù)的同步,如果其中一個實例故障,另一個實例能接管業(yè)務,持續(xù)提供可靠的數(shù)據(jù)庫服務。雙活解決方案已在華為內(nèi)部 ERP 中穩(wěn)定部署運行,為 ERP 業(yè)務的持續(xù)運行提供強有力的保障。

wKgaomYFemqAbtbDAAI8JqO8t1E261.png

總結(jié)

綜上所述,GaussDB(for Redis)提供了全量數(shù)據(jù)三副本持久化存儲,支持 3AZ 部署和 N-1 故障的超高可用,雙活解決方案支持極致穩(wěn)定可靠,靈活組網(wǎng),穩(wěn)定性和可靠性遠超開源 Redis,是一款真正能讓企業(yè)核心業(yè)務放心上云的 KV 數(shù)據(jù)庫。

所以,如果你的業(yè)務需要一款穩(wěn)定可靠的 KV 數(shù)據(jù)庫,可以試試 GaussDB(for Redis)

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3712

    瀏覽量

    64023
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3126

    瀏覽量

    42068
收藏 人收藏

    評論

    相關(guān)推薦

    數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復案例

    SQL Server數(shù)據(jù)庫故障: SQL Server附加數(shù)據(jù)庫出現(xiàn)錯誤823,附加數(shù)據(jù)庫失敗。數(shù)據(jù)庫沒有備份,無法通過備份恢復數(shù)據(jù)庫。
    的頭像 發(fā)表于 09-20 11:46 ?93次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯誤的<b class='flag-5'>數(shù)據(jù)</b>恢復案例

    大型數(shù)據(jù)庫選擇WDS作為其數(shù)據(jù)庫一體機產(chǎn)品存儲底座

    大型數(shù)據(jù)庫選擇WDS作為其數(shù)據(jù)庫一體機產(chǎn)品存儲底座
    的頭像 發(fā)表于 07-25 09:42 ?151次閱讀
    大型<b class='flag-5'>數(shù)據(jù)庫</b>可<b class='flag-5'>選擇</b>WDS作為其<b class='flag-5'>數(shù)據(jù)庫</b>一體機產(chǎn)品存儲底座

    恒訊科技分析:sql數(shù)據(jù)庫怎么用?

    SQL數(shù)據(jù)庫的使用通常包括以下幾個基本步驟: 1、選擇數(shù)據(jù)庫系統(tǒng): 選擇適合您需求的SQL數(shù)據(jù)庫系統(tǒng),如MySQL、PostgreSQL、M
    的頭像 發(fā)表于 07-15 14:40 ?209次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復】Oracle數(shù)據(jù)庫ASM實例無法掛載的數(shù)據(jù)恢復案例

    oracle數(shù)據(jù)庫ASM磁盤組掉線,ASM實例不能掛載。數(shù)據(jù)庫管理員嘗試修復數(shù)據(jù)庫,但是沒有成功。
    的頭像 發(fā)表于 02-01 17:39 ?370次閱讀
    【<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復】Oracle<b class='flag-5'>數(shù)據(jù)庫</b>ASM實例無法掛載的<b class='flag-5'>數(shù)據(jù)</b>恢復案例

    無模式數(shù)據(jù)庫的利與弊

    數(shù)據(jù)管理需求日益多樣,無論是金融服務、游戲還是社交媒體行業(yè),都要求支持實時數(shù)據(jù)處理和快速迭代,無模式數(shù)據(jù)庫因其靈活性和易用性而逐漸成為開發(fā)者的新選擇。那么,無模式
    的頭像 發(fā)表于 12-16 08:04 ?378次閱讀
    無模式<b class='flag-5'>數(shù)據(jù)庫</b>的利與弊

    關(guān)于JSON數(shù)據(jù)庫

    如何理解JSON數(shù)據(jù)庫?作為NoSQL數(shù)據(jù)庫的一種類型,JSON數(shù)據(jù)庫有哪些優(yōu)勢呢?JSON數(shù)據(jù)庫如何運作,它為應用程序開發(fā)者帶來了哪些價值呢?
    的頭像 發(fā)表于 12-06 13:46 ?710次閱讀
    關(guān)于JSON<b class='flag-5'>數(shù)據(jù)庫</b>

    tcmsp數(shù)據(jù)庫怎么用

    TCMSP數(shù)據(jù)庫是一個用于中藥化學研究的在線數(shù)據(jù)庫,提供了大量的中藥化學信息和藥理學信息。它的使用對于中藥化學研究人員來說非常重要,可以幫助他們快速獲取和分析中藥化學信息,加快中藥研究的進展。本文將
    的頭像 發(fā)表于 12-06 10:11 ?3770次閱讀

    oracle數(shù)據(jù)庫的使用方法

    數(shù)據(jù)庫的使用方法,包括安裝和配置、基本操作、高級功能等方面。 一、安裝和配置 安裝Oracle數(shù)據(jù)庫前,您需要先下載合適的安裝包,根據(jù)操作系統(tǒng)的要求選擇相應的版本。安裝Oracle數(shù)據(jù)庫
    的頭像 發(fā)表于 12-06 10:10 ?1044次閱讀

    oracle數(shù)據(jù)庫alert日志作用

    Oracle數(shù)據(jù)庫的alert日志是數(shù)據(jù)庫引擎和實例的核心組件之一,它記錄著數(shù)據(jù)庫的運行狀況和事件。該日志對于數(shù)據(jù)庫的性能調(diào)優(yōu)、問題排查和安全管理起著
    的頭像 發(fā)表于 12-06 10:08 ?1003次閱讀

    什么是JSON數(shù)據(jù)庫

    如何理解JSON數(shù)據(jù)庫?作為NoSQL數(shù)據(jù)庫的一種類型,JSON數(shù)據(jù)庫有哪些優(yōu)勢呢?JSON數(shù)據(jù)庫如何運作,它為應用程序開發(fā)者帶來了哪些價值呢?文章速覽:什么是JSON什么是JSON
    的頭像 發(fā)表于 12-02 08:04 ?687次閱讀
    什么是JSON<b class='flag-5'>數(shù)據(jù)庫</b>

    NoSQL 數(shù)據(jù)庫如何選型

    什么是NoSQL數(shù)據(jù)庫?為什么要使用NoSQL數(shù)據(jù)庫?鍵值數(shù)據(jù)庫內(nèi)存鍵值數(shù)據(jù)庫文檔數(shù)據(jù)庫列式數(shù)據(jù)庫
    的頭像 發(fā)表于 11-26 08:05 ?357次閱讀
    NoSQL <b class='flag-5'>數(shù)據(jù)庫</b>如何選型

    navicat怎么導出數(shù)據(jù)庫文件

    導出數(shù)據(jù)庫文件是數(shù)據(jù)庫管理中的一個重要操作,而Navicat是一款流行的數(shù)據(jù)庫管理工具,具有強大的導出功能。在本文中,我將詳細介紹如何使用Navicat導出
    的頭像 發(fā)表于 11-21 10:53 ?7309次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復——MongoDB數(shù)據(jù)庫介紹和數(shù)據(jù)恢復案例

    MongoDB數(shù)據(jù)庫是文檔數(shù)據(jù)存儲,將文檔存儲在集合之中,不是像MySQL一樣的關(guān)系型數(shù)據(jù)庫。
    的頭像 發(fā)表于 11-08 15:04 ?777次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復——MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>介紹和<b class='flag-5'>數(shù)據(jù)</b>恢復案例

    什么是數(shù)據(jù)庫?除了MySQL還有哪些數(shù)據(jù)庫?

    對于大多數(shù)項目,用 MySQL 等關(guān)系型數(shù)據(jù)庫來存儲數(shù)據(jù)就足夠了。但關(guān)系型數(shù)據(jù)庫不是銀彈!在某些場景下,比如要存儲的數(shù)據(jù)間沒有關(guān)系時,它并不是最佳的
    發(fā)表于 10-13 10:20 ?535次閱讀
    什么是<b class='flag-5'>數(shù)據(jù)庫</b>?除了MySQL還有哪些<b class='flag-5'>數(shù)據(jù)庫</b>?

    數(shù)據(jù)庫數(shù)據(jù)恢復-oracle數(shù)據(jù)庫報錯無法打開的數(shù)據(jù)恢復案例

    oracle數(shù)據(jù)庫數(shù)據(jù)恢復環(huán)境: 一臺服務器,底層由12塊硬盤組成一組磁盤陣列,上層操作系統(tǒng)上運行oracle數(shù)據(jù)庫。 oracle數(shù)據(jù)庫故障:
    的頭像 發(fā)表于 10-12 14:00 ?703次閱讀