• 方案介紹
    • 一、問題:內存有限且昂貴
    • 二、自動分層的工作原理
    • 三、數據案例
    • 四、應用場景
  • 附件下載
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

虹科干貨丨Redis?Enterprise?自動分層技術:大數據集高性能解決方案

2023/10/23
2667
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

虹科干貨丨Redis Enterprise 自動分層技術:大數據集高性能解決方案.docx

共1個文件

引導語:越來越多的應用程序依賴于龐大的數據集合,而這些應用程序必須快速響應。借助自動分層,Redis Enterprise 7.2 幫助開發(fā)人員輕松創(chuàng)建超快的應用程序。何樂而不為?

簡介(朋友圈):企業(yè)業(yè)務一直依賴于其收集的數據,但這些數據集正在不斷增長。即使需要提取的數據存儲量非常龐大,Redis Enterprise 7.2也能使應用程序能以最快的速度檢索和處理數據。利用自動分層技術,可以識別冷數據和熱數據,并分別存儲在內存和固態(tài)硬盤上,顯著提升了系統(tǒng)響應速度,優(yōu)化內存占用的同時降低硬件成本要求。

Redis將數據存儲在內存中,因此應用程序能以最快的速度檢索和處理數據。然而,隨著應用程序需要處理的數據越多,存儲數據集所需的內存越大,所耗費的成本則更高,Redis Enterprise自動分層技術能很好地化解這個兩難的局面。

一、問題:內存有限且昂貴

當應用程序訪問的數據量很大,例如達到TB級時,開發(fā)人員就面臨著內存有限的問題,他們一般使用基于磁盤的解決方案來在幕后支持 Redis。這樣一來,開發(fā)人員就不得不在應用程序中構建整個數據管理系統(tǒng),這意味著他們要把時間花在不相干的任務上。

利用 Redis Enterprise 的自動分層功能,開發(fā)人員可以使用固態(tài)硬盤(SSD)作為可用內存的一部分,將大容量數據庫擴展到SSD中。Redis Enterprise 可以隨時識別哪些數據應留在內存中,哪些數據應留在固態(tài)硬盤上,從而將吞吐量提高一倍,并將延遲減半。

因此,開發(fā)人員無需編寫額外的代碼或學習其他新技術。通過將動態(tài) RAM 與高速外部存儲相結合,Redis Enterprise 可以輕松高效地使用系統(tǒng)資源,同時還能快速訪問熱數據。

二、自動分層的工作原理

自動分層可自動管理數據。它會將熱數據轉移到 DRAM,并智能地將未使用的數據轉移到 SSD。這為依賴大型數據集的應用帶來了新的可能性。

通過將訪問頻率較低的冷數據轉移到固態(tài)硬盤,開發(fā)人員可以優(yōu)化內存使用,降低與大容量內存需求相關的成本。

實際上,這可以使數據量大的應用程序運行得更快,而無需開發(fā)人員額外付出。與僅使用 DRAM 的部署相比,它還能節(jié)省高達 70% 的基礎硬件設施成本。而且,由于自動分層可以高效地自動管理數據訪問模式,因此您無需花費時間(計算或人工篩選)來識別熱數據和冷數據。

為了增強這一功能,Redis 與創(chuàng)新的鍵值存儲引擎 Speedb 建立了戰(zhàn)略合作伙伴關系。我們將其技術整合為默認的自動分層引擎。

集成 Speedb 后,Redis Enterprise 的性能顯著提升,在訪問相同資源的情況下,吞吐量翻倍,延遲減半。這大大拓寬了可利用自動分層優(yōu)勢的用例范圍。在這一改進之后,Redis Enterprise 使用自動分層的數據庫規(guī)模由每個內核 5k ops/秒增至10k ops/秒。

通過自動分層使核心吞吐量加倍

三、數據案例

我們來看一個案例。

下圖展示了自動分層在實際工作負載場景中的性能演變示例。藍色條代表使用以前的存儲引擎(RocksDB)的 Redis Enterprise 6.4,紅色條代表使用 Speedb 的 Redis Enterprise 7.2。在基礎設施方面,我們使用 I4i.8xlarge AWS 實例在 10 個分片上托管 1TB 數據庫,為實現高可用性,采用總共 20 個分片,為 1,024 個客戶端提供服務。

為了模擬最標準的 Redis 用例,我們在 20% DRAM 和 80% SSD 的配置上定義了兩種不同的有效載荷(1KiB 和 10KiB),并提供了三種可能的使用模式:平衡讀/寫(1:1)、重讀(1:4)和重寫(4:1)。在這兩種情況下,我們測量了以每秒操作數為單位的吞吐量和相應的延遲。以下圖表顯示了結果。

RAM/SSD數據占比2:8,單次操作1KB值

與 RS 6.4 (RocksDB) 相比,RS 7.2 (Speedb) 改進了:

  • 85% 命中率時:每秒操作次數增加 1.4 倍至 1.6 倍,同時延遲降低高達 2.4 倍
  • 50% 命中率時:每秒操作次數增加 1.9 倍至 2.3 倍,同時延遲降低高達 3.8 倍

RAM/SSD數據占比2:8,單次操作10KB值

與 RS 6.4 (RocksDB) 相比,RS 7.2 (Speedb) 改進了:

  • 85% 命中率時:每秒操作次數增加 2.3 倍至 3.0 倍,同時延遲降低高達 3.0 倍
  • 50% 命中率時:每秒操作次數增加 2.1 倍至 3.5 倍,同時延遲降低高達 3.5 倍

在所有情況下,帶有 Speedb 的 Redis Enterprise 7.2 都具有更好的吞吐量,這意味著維持這種性能水平所需的應用程序速度更快,基礎設施更少。

四、應用場景

自動分層尤其適用于將數據分為熱數據和冷數據的情況。

1.移動銀行

讓我們來看看移動銀行應用的例子。

如今,每個人的移動設備上都有銀行應用程序。用戶登錄應用程序,獲取余額,查看最后一筆交易,并獲取其他相對較小和集中的信息。每個人都希望這一過程流暢、簡單、即時。這些數據就是我們的熱數據,存放在 Redis Enterprise 數據庫的 DRAM 中。

用戶希望獲得更多信息的情況并不常見,例如舊交易記錄--也許是兩年前的稅務數據。用戶需要訪問這些數據,但數據訪問速度并不那么重要。這種數據集是我們的冷數據,可以保存在高速外部存儲如固態(tài)硬盤中。

2.游戲行業(yè)

速度在游戲行業(yè)也很重要。例如,游戲應用對延遲有嚴格要求。另外,從本質上講,游戲是一種潮流。隨著時間的推移,游戲公司會積累越來越多的用戶數據,并將其存儲在用戶資料數據庫中,但并非所有用戶都是活躍用戶。通過自動分層,活躍用戶的資料數據可以存儲在 DRAM 中,而其他用戶的數據則存儲在 SSD 中。

虹科是Redis原廠的中國區(qū)戰(zhàn)略合作伙伴。我們持續(xù)關注各行業(yè)當下急切需求,專注于為企業(yè)解答疑問,制定專屬服務,提供一站式數據庫和商業(yè)智能解決方案。了解更多【企業(yè)級數據庫解決方案】及【企業(yè)緩存指南】,歡迎前往虹科云科技官網https://hongcloudtech.com/

聯系虹科工程師:15528663362

聯系方式鏈接:https://t.dustess.com/Fc6fpUjg

  • 虹科干貨丨Redis Enterprise 自動分層技術:大數據集高性能解決方案.docx
    下載

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
PD69208T4ILQ-TR 1 Microsemi Corporation Power Supply Support Circuit,
暫無數據 查看
KSZ8795CLXIC 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下載ECAD模型
$6.47 查看
CC430F5137IRGZ 1 Texas Instruments 16-Bit ultra-low-power CC430 Sub 1 GHz wireless MCU with 12-Bit ADC, 32kB Flash and 4kB RAM 48-VQFN -40 to 85

ECAD模型

下載ECAD模型
$7.53 查看

相關推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應!

虹科是一家資源整合及技術服務落地供應商,與全球頂尖公司深度技術合作,專注于制造業(yè)、汽車、生物、醫(yī)藥、測試與測量、廣播電視與媒體、通信、網絡安全、光電等領域,為客戶提供:智能自動化、工業(yè)物聯網、智能感知、數字化+AR、光電、網絡安全、測試測量、衛(wèi)星與無線通信、醫(yī)藥環(huán)境監(jiān)測與驗證、生命科學、汽車電子、汽車維修診斷、云科技等解決方案。虹科始終致力于為行業(yè)客戶提供創(chuàng)新及前端的產品和技術解決方案,為科技社會發(fā)展助力加碼。