多模數(shù)據(jù)庫作為一種新興的數(shù)據(jù)管理解決方案,正在受到越來越多的關(guān)注。而華為云多模數(shù)據(jù)庫 GeminiDB 基于云原生數(shù)據(jù)庫優(yōu)勢,讓企業(yè)應(yīng)用更智能、更高效。前幾日,華為云 NoSQL 數(shù)據(jù)庫研發(fā)總監(jiān)余汶龍通過直播(鏈接見文末)的方式,分享了《華為云多模數(shù)據(jù)庫 GeminiDB 的技術(shù)架構(gòu)及應(yīng)用實踐》,對 GeminiDB 的技術(shù)特性、架構(gòu)優(yōu)勢等進行了全方位解讀。整場直播干貨滿滿,讓觀眾們直呼過癮,并且積極提問,展開了深入交流。小編將大家關(guān)心的問題進行了整理,一起來看看吧!
GeminiDB 通用問題
問:GeminiDB 的計算和存儲是完全分離的嗎?
答:GeminiDB 的計算節(jié)點和存儲節(jié)點完全分離,通過 RDMA 高速網(wǎng)絡(luò)實現(xiàn)互通。
問:如果 n 個節(jié)點都故障了,有什么應(yīng)對方案嗎?答:如果采用 GeminiDB 跨 Region 雙活方案,可以將流量從故障的主實例秒級切換至正常的備實例,實現(xiàn)業(yè)務(wù)的連續(xù)性訪問。此外,還可以使用備份恢復(fù)到新實例能力,使用備份數(shù)據(jù)快速重建實例。
問:計算的算力可以水平擴展嗎?答:GeminiDB 計算節(jié)點支持水平擴展和垂直擴展,即:既可通過變更計算節(jié)點 CPU 和內(nèi)存規(guī)格提高每個節(jié)點的負載能力,又可以通過添加集群節(jié)點的方式提高集群負載上限。
問:多模數(shù)據(jù)庫,是 GeminiDB 會提供多個引擎的統(tǒng)一入口嗎?答:目前 GeminiDB 以生態(tài)兼容為主,目前支持 Redis,MongoDB,Cassandra,DynamoDB,InfluxDB 五大生態(tài)協(xié)議的 100%兼容,助力客戶無縫、“0”改造搬遷。后期計劃推出自有生態(tài)協(xié)議,給開發(fā)者和客戶提供更多多模融合功能,讓多模數(shù)據(jù)可以更加緊密地銜接和關(guān)聯(lián)。
問:支持多模數(shù)據(jù)庫的場景,是支持多模并發(fā)嗎?還是說一次只能支持一個類型的數(shù)據(jù)庫?
答:GeminiDB 是多模數(shù)據(jù)庫,一庫具備多種數(shù)據(jù)模型引擎,可以自由組合,這些多模引擎共享存儲資源和管理資源等,支持業(yè)務(wù)側(cè)進行多模并發(fā)處理。
問:不同數(shù)據(jù)模型的數(shù)據(jù)之間怎么實現(xiàn)交互,比如文檔數(shù)據(jù)和 KV 數(shù)據(jù)可以一起處理和使用嗎?
答:目前公有云 GeminiDB Cassandra 接口開放了寬表模型數(shù)據(jù)和搜索引擎協(xié)同處理和使用,提供強大的全文檢索,復(fù)雜索引等能力。其他數(shù)據(jù)模型交互和協(xié)同處理會在后期逐步開放給開發(fā)者和客戶使用。
問:GeminiDB 存算分離后,是怎么解決跨主機通信網(wǎng)絡(luò)時延的?
答:采用 RDMA 技術(shù),允許用戶程序繞過操作系統(tǒng)內(nèi)核,直接和網(wǎng)卡交互進行網(wǎng)絡(luò)通信,從而提供高帶寬和極小時延。
問:GeminiDB 適合哪些應(yīng)用場景?
答:GeminiDB 目前兼容 Cassandra、MongoDB、InfluxDB、Redis 和 DynamoDB 主流 NoSQL 接口,并提供高讀寫性能,具有高性價比,適用于 IoT、氣象、互聯(lián)網(wǎng)、游戲等領(lǐng)域。
問:GeminiDB 和 GaussDB 有哪些不同?
答:GaussDB 是華為自主創(chuàng)新研發(fā)的分布式關(guān)系型數(shù)據(jù)庫,GeminiDB 與 GaussDB 在云計算平臺高性能、高可用、高可靠、高安全、可彈性伸縮的基礎(chǔ)上,提供了一鍵部署、備份恢復(fù)、監(jiān)控報警等服務(wù)能力。區(qū)別在于,GeminiDB 是一款基于計算存儲分離架構(gòu)的分布式多模數(shù)據(jù)庫,關(guān)注點主要在非關(guān)系型數(shù)據(jù)(即 NoSQL)領(lǐng)域。
問:GeminiDB 對于故障節(jié)點數(shù)據(jù)是怎么處理的?
答:在存算分離的架構(gòu)中,計算節(jié)點只負責數(shù)據(jù)的解析和 cache,不存儲具體數(shù)據(jù),因此在計算節(jié)點發(fā)生故障時,其他節(jié)點自動接管對應(yīng)流量,無需進行數(shù)據(jù)搬遷。
問:對于文件,直接把內(nèi)容存儲在數(shù)據(jù)庫中,還是存儲文件路徑,然后把文件存在服務(wù)器?
答:存算分離架構(gòu)從物理布局上有計算服務(wù)器和存儲服務(wù)器。計算服務(wù)器部署數(shù)據(jù)庫服務(wù),存儲服務(wù)器負責持久化。文件被數(shù)據(jù)庫服務(wù)進行處理,具體內(nèi)容是存在存儲服務(wù)器的。
問:支持自動備份數(shù)據(jù)到華為云 OBS 嗎?
答:GeminiDB 支持自動備份數(shù)據(jù)到華為云 OBS,GeminiDB 現(xiàn)在的自動備份的數(shù)據(jù)都是上傳到我們 OBS 的,而且 GeminiDB 還支持客戶手動備份、增備和差異備份功能,這些功能備份后的數(shù)據(jù)都是上傳到 OBS 的,實現(xiàn)了高性能、高可用、高可靠、高安全等特性。
問:GeminiDB 有沒有提供加密存儲方案,或者如何保護數(shù)據(jù)安全?
答:GeminiDB 提供加密功能,用戶創(chuàng)建數(shù)據(jù)庫實例成功后,磁盤數(shù)據(jù)會在服務(wù)端加密成密文后存儲。用戶查詢加密對象時,存儲的密文會先在服務(wù)端解密為明文,再提供給用戶,鑰使用 KMS 服務(wù)由客戶進行管理。
問:請問目前在空間能力上有什么優(yōu)勢嗎?
答:
編碼格式進行極致設(shè)計,降低冗余信息;
存儲側(cè)自動進行垃圾回收,釋放無效存儲空間;
采用新一代無損壓縮算法,壓縮率高,可有效降低存儲空間。
問:共享的存儲池中修改元數(shù)據(jù)路由信息怎么保持一致性?
答:采用共享方案后,確保一致性確實一個十分重要的技術(shù)難點,這個問題可以換個角度來思考:如何避免雙寫。GeminiDB 是分布式架構(gòu),每個節(jié)點都可讀可寫,每個節(jié)點負責一部分數(shù)據(jù),為了保證不同節(jié)點無法訪問同一份數(shù)據(jù),采用兩種機制來避免雙寫:
文件租約,訪問對應(yīng)數(shù)據(jù)之前必須要有相應(yīng)租約,數(shù)據(jù)若被另一個節(jié)點接管,則需要先進行租約回收,確保原有節(jié)點無法繼續(xù)操作數(shù)據(jù);
文件持久后按照大小進行拆分,這個拆分的單元對應(yīng)到存儲側(cè)是一個對象,這個對象除了支持讀寫接口之外,還提供一個拒寫接口,一旦調(diào)用該接口后,其他客戶端則無法寫入。
問:GeminiDB 怎么應(yīng)對 DDOS, 原理是什么?
答:客戶應(yīng)用在不需要通過公網(wǎng)訪問的場景下,GeminiDB 使用華為云 VPC 提供內(nèi)網(wǎng)訪問,無法從公網(wǎng)訪問,這種場景下無需擔心 DDOS。如果客戶應(yīng)用需要通過公網(wǎng)訪問 GeminiDB,GeminiDB 可以通過華為云統(tǒng)一 Anti-DDoS 服務(wù)對 GeminiDB 綁定的公網(wǎng) ip 或 ELB 進行公網(wǎng)流量防護,無需擔心 DDOS 攻擊。
問:開啟備份,是否會影響性能?
答:開啟備份不會影響性能,我們的備份服務(wù)是基于快照的方式進行的,持續(xù)時間為毫秒級,之后由管控服務(wù)將備份文件上傳至 OBS,對性能影響可以忽略不計。
GeminiDB Redis 接口
問:GeminiDB 鍵值引擎相比開源 Redis 都增加了哪些的特性?
答:首先,GeminiDB Redis 接口支持秒級無感擴容,且可配置自動擴容策略,無需人工干預(yù)。其次,針對廣告和推薦業(yè)務(wù),GeminiDB Redis 接口提供 Fastload 特征灌庫功能,解決業(yè)務(wù)灌庫耗時久痛點。在游戲行業(yè),使用 GeminiDB Redis 接口的業(yè)務(wù),可以在發(fā)版失敗時一鍵原地回檔,將損失降到最低。此外,GeminiDB Redis 接口還支持業(yè)務(wù)為 Hash field 設(shè)置過期時間,該特性是精準營銷頻控業(yè)務(wù)的剛需訴求。
GeminiDB DynamoDB 接口
問:怎么購買 DynamoDB 接口?
答:DynamoDB 接口目前購買入口與 GeminiDB Cassandra 接口相同,在 GeminiDB 統(tǒng)一購買頁面進入,選在 Cassandra 接口即可:
https://www.huaweicloud.com/product/geminidb.html
購買前需要聯(lián)系客服,后臺會打開 DynamoDB 接口開關(guān)。
問:DynamoDB 遷移要做什么改造嗎?
答:GeminiDB DynamoDB 接口 100%兼容 DynamoDB 協(xié)議和數(shù)據(jù)模型,并實現(xiàn)了關(guān)鍵特性全面對標,客戶從 AWS DynamoDB 遷移至 GeminiDB DynamoDB 接口不需要做任何改造。
GeminiDB Cassandra 接口
問:Cassandra 接口支持原地數(shù)據(jù)閃回了嗎?
答:Cassandra 接口最新版本是支持原地數(shù)據(jù)閃回的,支持實例級別和表級別的閃回。
問:流表中的數(shù)據(jù)可以保存多久?答:流表默認可以保存 24 個小時,支持動態(tài)調(diào)整。
GeminiDB Influx 接口
問:有哪幾種設(shè)置冷熱數(shù)據(jù)的方法?
答:GeminiDB Influx 接口支持冷熱數(shù)據(jù)分層存儲,以降低使用成本,該功能做到業(yè)務(wù)層不感知;冷熱數(shù)據(jù)分層可以通過保留策略來設(shè)置,在創(chuàng)建保留策略時可以指定熱數(shù)據(jù)的時間,到時間后系統(tǒng)會自動將數(shù)據(jù)轉(zhuǎn)冷,具體可參考官方網(wǎng)站:
https://support.huaweicloud.com/influxug-nosql/nosql_05_0154.html。
問:和 openGemini 有什么區(qū)別?有什么優(yōu)勢?
答:openGemini 是 GeminiDB 多模引擎中 Influx 接口的開源版本,相比 openGemini,GeminiDB 不僅支持時序引擎,還支持 Mongo,Redis,Cassandra,Dynamo 等多種其他引擎。
問:OpenTSDB 如何遷移到 GeminiDB?遷移后性能提升多少?
答:OpenTSDB 可以通過遷移工具遷移到 GeminiDB,遷移后數(shù)據(jù)壓縮率和讀寫性能都有明顯的提升;根據(jù)我們對某個真實業(yè)務(wù)的改造結(jié)果來看,其中數(shù)據(jù)大小可以減少 10 倍,查詢性能提升 5 倍以上,寫入性能提升 10 倍以上。
問:GeminiDB 怎么自動區(qū)分冷熱數(shù)據(jù)?答:GeminiDB Influx 接口支持冷熱數(shù)據(jù)分層存儲,以降低使用成本;區(qū)分冷熱數(shù)據(jù)主要通過時間,根據(jù)業(yè)務(wù)需求,設(shè)置好熱數(shù)據(jù)時間,時間到了系統(tǒng)會自動將數(shù)據(jù)轉(zhuǎn)冷。
GeminiDB Mongo 接口
問:與 MongoDB 接口兼容性怎么樣呢?
答:當前 GeminiDB Mongo 接口完全兼容對應(yīng)版本的 MongoDB 接口。
問:MongoDB 自建推薦怎么遷移上云?MongoDB 怎么遷移到 GeminiDB?
答:通過 DRS(數(shù)據(jù)遷移服務(wù))可以實時同步到云上 GeminiDB。
問:Mongo 接口部分,說可用性容忍 N-1 個節(jié)點故障,想請問一下如果是 primary 節(jié)點掛掉,GeminiDB 是怎么處理的呢?
答:GeminiDB N 個節(jié)點之間會每兩秒檢測一次心跳,當其他節(jié)點在 2 秒間隔發(fā)現(xiàn)主節(jié)點掛掉后,會發(fā)生一個毫秒級的 failover,備節(jié)點進行升主。
問:最多支持多少節(jié)點的副本集?
答:GeminiDB Mongo 接口當前最多支持 16 節(jié)點(1 寫 15 讀)的副本集。
問:GeminiDB Mongo 和 DDS 都是 NoSQL 的文檔數(shù)據(jù)庫,推薦什么場景下使用 GeminiDB,什么場景下用 DDS?
答:
GeminiDB Mongo 接口采用了多節(jié)點共享存儲的架構(gòu),主備之間無需同步。
DDS 每個節(jié)點使用單獨的 ECS,EVS 進行部署,節(jié)點之間通過 oplog 進行同步。
從高可用角度,DDS 略占優(yōu),從主備延遲性,資源利用率角度,GeminiDB 更占優(yōu)。此外,GeminiDB 和 DDS 價格上也存在差異,如果對價格敏感也可以進行按需選擇。
問:Secondary 節(jié)點的個數(shù)變多是否會影響 Primary 節(jié)點的寫性能?
答:如果客戶端配置了 writeConcern=majority,每次寫操作都會確保寫入大多數(shù)節(jié)點才能返回,可能會影響寫性能,其他場景下,Secondary 節(jié)點變多不會影響 Primary 節(jié)點的寫性能。
問:怎么判斷只讀節(jié)點上的 Memtable 什么時候該丟棄?
答:只讀節(jié)點只能處理讀請求,不能進行寫入,所以不會存在 Memtable。備機上其他的緩存,大致上基于 LRU 策略進行淘汰。
開年采購季云數(shù)據(jù)庫特惠
活動時間:3月1日-31日
云數(shù)據(jù)庫新用戶1年19元起
不限新老1年6.5折起
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8496瀏覽量
150834 -
Gemini
+關(guān)注
關(guān)注
0文章
51瀏覽量
7580 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3763瀏覽量
64274 -
多模
+關(guān)注
關(guān)注
1文章
28瀏覽量
10840 -
華為云
+關(guān)注
關(guān)注
3文章
2423瀏覽量
17310
發(fā)布評論請先 登錄
相關(guān)推薦
評論