?????????????????【摘要】GaussDB(for Redis)(下文簡稱高斯Redis)是華為云數(shù)據(jù)庫團(tuán)隊(duì)自主研發(fā)的兼容Redis協(xié)議的云原生數(shù)據(jù)庫,該數(shù)據(jù)庫采用計(jì)算存儲(chǔ)分離架構(gòu),突破開源Redis的內(nèi)存限制,可輕松擴(kuò)展至PB級(jí)存儲(chǔ)。
作者:華為云高斯Redis團(tuán)隊(duì)
GaussDB(forRedis)(下文簡稱高斯Redis)是華為云數(shù)據(jù)庫團(tuán)隊(duì)自主研發(fā)的兼容Redis協(xié)議的云原生數(shù)據(jù)庫,該數(shù)據(jù)庫采用計(jì)算存儲(chǔ)分離架構(gòu),突破開源Redis的內(nèi)存限制,可輕松擴(kuò)展至PB級(jí)存儲(chǔ)。
本文將從存儲(chǔ)架構(gòu)、四大特性、競爭力、應(yīng)用場景等方面進(jìn)行介紹。
高斯Redis基于計(jì)算存儲(chǔ)分離架構(gòu),計(jì)算層實(shí)現(xiàn)熱數(shù)據(jù)緩存,存儲(chǔ)層實(shí)現(xiàn)全量數(shù)據(jù)的落盤,中間通過RDMA高速網(wǎng)絡(luò)互連,通過算法預(yù)測用戶的訪問規(guī)律,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)冷熱交換,最終達(dá)到極致的性能提升。
該架構(gòu)基于華為內(nèi)部強(qiáng)大且廣泛使用的自研分布式存儲(chǔ)系統(tǒng)DFV,實(shí)現(xiàn)了一套Share Everything的云原生架構(gòu),充分發(fā)揮了云原生的彈性伸縮、資源共享的優(yōu)勢,使得高斯Redis具備強(qiáng)一致、秒擴(kuò)容、低成本、超可用的四大特點(diǎn),完美避開了開源Redis的主從堆積、主從不一致、fork抖動(dòng)、內(nèi)存利用率只有50%、大key阻塞、gossip集群管理等問題。
? 強(qiáng)一致
數(shù)據(jù)復(fù)制是存儲(chǔ)的事情,因此專業(yè)的事情交給專業(yè)的團(tuán)隊(duì)來做。通過分布式存儲(chǔ)DFV,高斯Redis輕松實(shí)現(xiàn)了3副本強(qiáng)一致,并可輕松支持6副本,為業(yè)界首創(chuàng)。
在強(qiáng)一致架構(gòu)下,用戶再也不用擔(dān)心開源Redis的主從堆積,帶來的丟數(shù)據(jù)、不一致、OOM等極端問題,更不用擔(dān)心業(yè)務(wù)出錯(cuò),比如計(jì)數(shù)器、限流器、訪問統(tǒng)計(jì)、hash字段等不一致。
? 秒擴(kuò)容
數(shù)據(jù)規(guī)模膨脹之后,擴(kuò)容是個(gè)高危且困難的操作。高斯Redis基于云原生架構(gòu),將擴(kuò)容分成計(jì)算層和存儲(chǔ)層。計(jì)算層擴(kuò)容,無需任何數(shù)據(jù)搬遷,只需修改路由映射,即可秒級(jí)完成。存儲(chǔ)層是個(gè)共建的超級(jí)數(shù)據(jù)湖,其容量巨大,而且擴(kuò)容是切成細(xì)膩度的64MB數(shù)據(jù)分區(qū),對(duì)上層數(shù)據(jù)庫業(yè)務(wù)幾乎無感。
因此高斯Redis可以輕松支撐業(yè)務(wù)的大規(guī)模膨脹,并且真正做到計(jì)算/存儲(chǔ)分層的按需擴(kuò)容和購買。
? 低成本
高斯Redis相對(duì)于開源Redis,在存儲(chǔ)介質(zhì)上使用了磁盤替代內(nèi)存。一方面,由于采用存算分離架構(gòu),計(jì)算資源少了一半,即沒有從節(jié)點(diǎn);另一方面,存儲(chǔ)資源按需購買,無任何浪費(fèi),并且采用了邏輯/物理壓縮。最終,每GB綜合成本不到開源Redis的十分之一。
? 超可用
開源Redis或友商Redis不管單分片還是集群,其數(shù)據(jù)復(fù)制都采用主從架構(gòu),導(dǎo)致N個(gè)節(jié)點(diǎn)的集群,如果同時(shí)掛掉一對(duì)主從(即2個(gè)節(jié)點(diǎn)),整個(gè)集群就不可用。而高斯Redis采用存算分離之后,每個(gè)計(jì)算節(jié)點(diǎn)都可以看到并共享所有數(shù)據(jù),因此N個(gè)節(jié)點(diǎn),最多可以容忍掛掉N-1個(gè)節(jié)點(diǎn),真正做到比高可用還高的可用性。
高斯Redis不僅性能逼近緩存,而且其存儲(chǔ)能力(擴(kuò)展性、高性能、易用性)超越數(shù)據(jù)庫。因此除了緩存場景可以選擇高斯Redis以外,上至PB級(jí)別大規(guī)模數(shù)據(jù)存儲(chǔ)都可以選擇高斯Redis。場景參考如下:
兼容5.0協(xié)議,包括string/hash/list/zset/set/stream/geo/HyperLogLog/bitmap/pubsub等等,但出于性能和安全性考慮,禁用個(gè)別危險(xiǎn)命令,詳細(xì)參考:https://support.huaweicloud.com/usermanual-nosql/nosql_09_0076.html
以往用戶選擇開源Redis的時(shí)候,需要購買內(nèi)存,比如用戶數(shù)據(jù)是100G,由于開源Redis內(nèi)存使用率減半,需要購買200G內(nèi)存,并且為了高可用,還得購買200G的從節(jié)點(diǎn),那么加起來就是400G的內(nèi)存。但是購買高斯Redis時(shí),用戶只需要根據(jù)真實(shí)存放的數(shù)據(jù)大小,按需選擇購買存儲(chǔ)空間即可,內(nèi)存只是為了性能加速(內(nèi)存/磁盤比越大,性能越好)。
附:資料參考
1. 《華為云GaussDB(for Redis)與自建開源Redis的成本對(duì)比》
https://www.modb.pro/db/42739
2. 《一場由fork引發(fā)的超時(shí),讓我們重新探討了Redis的抖動(dòng)問題》https://bbs.huaweicloud.com/blogs/227525
3. 《當(dāng)Redis遇見計(jì)算存儲(chǔ)分離》
https://developer.huaweicloud.com/hero/forum/thread-83188-1-1.html
4. 《GaussDB(for Redis)與原生Redis的性能對(duì)比》
https://bbs.huaweicloud.com/blogs/236949
點(diǎn)擊關(guān)注,第一時(shí)間了解華為云新鮮技術(shù)~
高拍儀進(jìn)行二次開發(fā),簡單來說就是對(duì)現(xiàn)有軟件進(jìn)行定制和修改,擴(kuò)展功能,然后集成實(shí)現(xiàn)你想要的功能。一般來說,原系統(tǒng)的內(nèi)核不會(huì)改變。那么如何進(jìn)行高拍儀的二次開發(fā)呢?
高拍儀二次開發(fā)的基本要求:
我對(duì)開源產(chǎn)品高拍儀使用的語言有很好的理解。
開源產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)、代碼結(jié)構(gòu)、系統(tǒng)框架結(jié)構(gòu),核心在哪里,附屬功能在哪里。簡單來說就是對(duì)數(shù)據(jù)庫、代碼邏輯、文件目錄、接口理解的熟悉程度。
根據(jù)您的需求,再利用開源產(chǎn)品的內(nèi)核對(duì)系統(tǒng)進(jìn)行擴(kuò)展和修改,并提供SDK中的API函數(shù),幫助您更靈活方便地使用SDK中的功能,滿足您的需求。
高拍儀二次開發(fā)示例:
PRO/ENGINEER 在提供強(qiáng)大的設(shè)計(jì)、分析和制造功能的同時(shí),還為用戶提供了多種二次開發(fā)工具。常見的二次開發(fā)工具有:FamilyTable、用戶定義特征(UDF)、Pro/Program、J-link、Pro/toolkit等。
用戶定義的特征(UDF) 用戶定義的特征是將若干系統(tǒng)特征組合成一個(gè)自定義特征,使用時(shí)作為一個(gè)整體出現(xiàn)。系統(tǒng)將 UDF 特征保存為 gph 文件。 UDF適用于特定產(chǎn)品中的特定結(jié)構(gòu),有助于設(shè)計(jì)人員根據(jù)產(chǎn)品特征快速生成幾何模型。
高拍儀SDK二次開發(fā)包的運(yùn)行性能如何?
高拍儀系統(tǒng)集成服務(wù)可為各類辦公OA系統(tǒng)、協(xié)同辦公平臺(tái)、數(shù)據(jù)管理平臺(tái)、數(shù)據(jù)庫系統(tǒng)提供完整的ActiveX版和DLL版二次SDK開發(fā)包。可實(shí)現(xiàn)圖像文檔的高效高質(zhì)量存儲(chǔ),同時(shí)支持自動(dòng)校正、去黑邊、獲取BMP位圖(24位)Base64編碼數(shù)據(jù)、圖像壓縮、防偽水印、本地圖像網(wǎng)頁刪除、圖片列表生成、指定圖片上傳到服務(wù)器,支持拍攝多頁TIF多頁P(yáng)DF生成、條碼識(shí)別等功能。通過VB、ASP。 NET、Delphi、C++、PB或JavaScript等編程語言調(diào)用SDKAPI。在整個(gè)過程中提供開發(fā)和集成服務(wù)。
高拍儀表控制集成,即通過集成高拍儀表控制,可以在java中解決各種應(yīng)用軟件系統(tǒng)。 NET、php等軟件開發(fā)中遇到的高速儀器編程操作問題,快速在asp。 Net、jsp、asp等web項(xiàng)目調(diào)用高速儀表設(shè)備,讓用戶辦公過程更加方便流暢。田者高拍的SDK開發(fā)包特點(diǎn):強(qiáng)大的軟件支持,提供SDK、TWAIN、DirectShow、WDMDriver、VFWDriver接口,操作簡單,功能模塊化。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。