<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

廣州虹科電子 ? 來源:虹科云科技 ? 作者:虹科云科技 ? 2023-10-19 11:19 ? 次閱讀

文章來源:虹科云科技

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

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

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

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

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

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

二、自動分層的工作原理
image.png

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

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

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

image.png

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

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

image.png

三、數據案例

我們來看一個案例。

下圖展示了自動分層在實際工作負載場景中的性能演變示例。藍色條代表使用以前的存儲引擎(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)。在這兩種情況下,我們測量了以每秒操作數為單位的吞吐量和相應的延遲。以下圖表顯示了結果。

image.png

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 倍image.png

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 中。

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

2.游戲行業

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

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    2790

    瀏覽量

    72967
  • 固態硬盤
    +關注

    關注

    11

    文章

    1380

    瀏覽量

    56591
  • 大數據
    +關注

    關注

    64

    文章

    8720

    瀏覽量

    136727
  • Redis
    +關注

    關注

    0

    文章

    365

    瀏覽量

    10541
收藏 人收藏

    評論

    相關推薦

    開放式高實時高性能PLC控制器解決方案-基于米爾電子STM32MP135

    實時高性能需求尤其突出。面對以上挑戰,合作伙伴翌控科技基于米爾STM32MP135開發板發布開放式高實時高性能PLC控制器解決方案,將高精準數據采集、預處理、存儲、通信與高實時控制融為
    發表于 03-07 20:06

    欣旺達動力5大儲能解決方案英國“亮相”

    在第9屆英國儲能峰會上,欣旺達動力展示了核心儲能電芯技術成果和5大儲能解決方案。
    的頭像 發表于 02-25 09:34 ?435次閱讀

    康謀自動駕駛車載高性能解決方案

    在測試車輛中部署新功能需要強大的計算性能,康謀DATALynx ATX4搭載最新服務器CPU,采用高性能液冷架構,通過小型散熱片實現最佳散熱和最小化PCB振動暴露。
    發表于 01-16 18:15 ?220次閱讀
    康謀<b class='flag-5'>自動</b>駕駛車載<b class='flag-5'>高性能解決方案</b>

    【昉·星光 2 高性能RISC-V單板計算機體驗】Redis源碼編譯和性能測試以及與樹莓派4B對比

    、Redis是什么 維基百的介紹是: Redis是一個使用ANSI C編寫的開源、支持網絡、基于內存、分布式、可選持久性的鍵值對存儲數據庫。
    發表于 12-10 21:27

    redis是關系型數據庫嗎

    Server)是一個開源的高性能鍵值對存儲系統。它使用C語言編寫,具有內存中數據存儲和持久化到硬盤的功能。Redis支持多種數據結構,如字符串、哈希表、列表、集合和有序集合等,這使得
    的頭像 發表于 12-05 10:32 ?826次閱讀

    redis數據自動清除嗎

    Redis數據不會自動清除,但它提供了一些機制來管理數據的過期和淘汰。在默認情況下,Redis只會在內存中存儲
    的頭像 發表于 12-05 10:13 ?1321次閱讀

    redis的哨兵和集群有什么區別

    Redis是一個開源的內存數據庫,被廣泛用于構建高性能和可擴展的應用程序。在使用Redis時,有兩種常見的架構模式:哨兵和集群。雖然這兩種模式都有助于提高可用性和
    的頭像 發表于 12-04 14:53 ?1846次閱讀

    redis連接數對性能測試影響

    Redis是一個基于內存的鍵值存儲數據庫,它以其高性能和低延遲而聞名。在使用Redis進行性能測試時,連接數是一個非常重要的因素。連接數的增
    的頭像 發表于 12-04 11:33 ?504次閱讀

    redis分布式鎖可能出現的問題及解決方案

    Redis分布式鎖是一種常見的解決分布式系統中并發問題的方案。雖然Redis分布式鎖具有許多優點,但也存在一些潛在的問題需要注意。本文將詳細介紹Redis分布式鎖可能出現的問題,并提供
    的頭像 發表于 12-04 11:29 ?504次閱讀

    Redis Enterprise vs ElastiCache——如何選擇緩存解決方案?

    使用Redis或AmazonElastiCache來作為緩存加速已經是業界主流的解決方案,二者各有什么優勢?又有哪些區別呢?文況速覽:Redis是什么?RedisEnterprise
    的頭像 發表于 11-26 08:06 ?232次閱讀
    <b class='flag-5'>Redis</b> <b class='flag-5'>Enterprise</b> vs ElastiCache——如何選擇緩存<b class='flag-5'>解決方案</b>?

    Oracle與Redis Enterprise協同,作為企業緩存解決方案

    單獨使用Oracle作為企業緩存數據庫時,會出現哪些問題呢?使用Redis Enterprise與Oracle共同用作企業級緩存或副本數據庫,會出現哪些喜人的提升呢?Orcle配合使用
    的頭像 發表于 11-22 10:00 ?315次閱讀
    Oracle與<b class='flag-5'>Redis</b> <b class='flag-5'>Enterprise</b>協同,作為企業緩存<b class='flag-5'>解決方案</b>

    Redis Enterprise自動分層技術大數據高性能解決方案

    越來越多的應用程序依賴于龐大的數據集合,而這些應用程序必須快速響應。借助自動分層,Redis Enterprise 7.2 幫助開發人員輕松
    的頭像 發表于 10-19 10:49 ?345次閱讀
    <b class='flag-5'>Redis</b> <b class='flag-5'>Enterprise</b><b class='flag-5'>自動</b><b class='flag-5'>分層</b><b class='flag-5'>技術</b>:<b class='flag-5'>大數據</b>集<b class='flag-5'>高性能解決方案</b>

    電機控制應用中的人工智能解決方案

    在STM32上簡單輕松地實現機器學習? 直接在STM32內部運行的智能解決方案? 無需云連接? 對于異常檢測無需訓練數據? 無監督的自主學習? 解決異常檢測和分類問題
    發表于 09-08 06:18

    CLOUD4Y加速云存儲LSI的高性能解決方案

    電子發燒友網站提供《CLOUD4Y加速云存儲LSI的高性能解決方案.pdf》資料免費下載
    發表于 08-23 10:35 ?0次下載
    CLOUD4Y加速云存儲LSI的<b class='flag-5'>高性能解決方案</b>

    如何從0到1構建一個穩定、高性能Redis集群?

    這個架構非常簡單,你的業務應用可以把 Redis 當做緩存來使用,從 MySQL 中查詢數據,然后寫入到 Redis 中,之后業務應用再從 Redis 中讀取這些
    的頭像 發表于 07-19 15:19 ?453次閱讀
    如何從0到1構建一個穩定、<b class='flag-5'>高性能</b>的<b class='flag-5'>Redis</b>集群?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>