Amazon MemoryDB for Redis 是一種與 Redis 相容、持久的記憶體資料庫服務,可提供超快效能。它專為具有微型服務架構的現代化應用程式而建置。

Amazon MemoryDB 與常見的開放原始碼資料存放區 Redis 相容,使客戶能夠使用他們現已在使用的相同靈活且友好的 Redis 資料結構、API 和命令快速建置應用程式。藉助 Amazon MemoryDB,您的所有資料都存放在記憶體中,這可讓您實現微秒級讀取和低於 10 毫秒的寫入延遲和高輸送量。Amazon MemoryDB 還使用分散式交易日誌跨多個可用區域 (AZ) 持久存放資料,以實現快速容錯移轉、資料庫復原和節點重新啟動。Amazon MemoryDB 會同時提供記憶體內效能和異地同步備份耐用性,可用作微型服務應用程式的高效能主要資料庫,而無需分開管理快取和耐用性資料庫。

Redis 相容性

Redis 是一種快速、開放原始碼的記憶體內鍵值資料結構存放區。開發人員使用 Redis 實現了低於一毫秒的回應事件,從而讓遊戲、廣告科技、金融服務、醫療保健和 IoT 等產業的即時應用程式每秒處理數百萬個請求。2021 年,Redis 連續第五年被 Stack Overflow 評為「最受歡迎的資料庫」。

Redis 提供靈活的 API、命令和資料結構 (如串流、集和清單),以建置敏捷且多功能的應用程式。MemoryDB 保持與開放原始碼 Redis 的相容性,並支援您熟悉的同一組 Redis 資料類型、參數和命令。這意味著您現已在 Redis 中使用的程式碼、應用程式、驅動程式和工具可與 MemoryDB 搭配使用,因此您可以快速建置應用程式。

超快效能

MemoryDB 將整個資料集存放在記憶體內,以提供毫秒級讀取延遲、低於 10 毫秒的寫入延遲和高輸送量。其每天可以處理超過 13 萬億個請求,而且每秒最多可支援超過 1.6 億個請求。

使用微型服務架構建置的開發人員需要超高效能,因為這些應用程式可能涉及每次使用者互動或 API 呼叫與許多服務元件的互動。利用 MemoryDB,您可以實現極低的延遲,從而為最終使用者提供即時效能。

Amazon MemoryDB for Redis 包括增強型 IO 多工處理,可大規模顯著改善輸送量和延遲。增強型 IO 多工處理非常適合具有多個用戶端連線的輸送量受限工作負載,其優勢隨工作負載並行層級而擴展。例如,當使用 r6g.4xlarge 節點並執行 5200 個並行用戶端時,相較於 MemoryDB for Redis 6,您可以實現高達 46% 的輸送量提升 (每秒讀取和寫入操作數),以及高達 21% 的 P99 延遲降低。針對這些類型的工作負載,節點的網路 IO 處理可能成為擴展能力的限制因素。透過增強型 IO 多工處理,每個專用網路 IO 執行緒會將多個用戶端的命令管道化至 Redis 引擎,利用 Redis 有效率批次處理指令的能力,如下圖所示:

使用 Redis 7 時,可自動使用增強型 IO 多工處理,無需額外費用。不需要任何應用程式或服務組態變更,即可使用 MemoryDB 進行 Redis 的增強型 IO 多工處理。

如需詳細資訊,請參閱文件。

異地同步備份耐久性

除了將整個資料集存放在記憶體中之外,MemoryDB 還會使用分散式交易日誌來提供資料耐用性、一致性和復原能力。MemoryDB 可跨多個 AZ 存放資料,因此您可以實現快速資料庫復原和重新啟動。您可以將 MemoryDB 用作需要低延遲和高輸送量的工作負載的單一主要資料庫服務,而不是分開管理快取以提高速度,以及分開管理額外的關聯式或非關聯式資料庫以提高可靠性。

可擴展性

您可以擴展 MemoryDB 叢集以滿足不斷變化的應用程式需求:透過新增或刪除節點來水平擴展,或者透過移動至更大或更小的節點類型來垂直擴展。MemoryDB 支援透過碎片進行寫入擴展及透過新增複本進行讀取擴展。在調整大小操作期間,您的叢集將繼續保持線上狀態並支援讀取和寫入操作。

全受管

易於使用

MemoryDB 入門很簡單。只需使用 AWS 管理主控台啟動一個新的 MemoryDB 叢集,或者您可以使用 AWS CLI 或 SDK。MemoryDB 資料庫執行個體為所選的節點類型預先設定了適當的參數和設定。您可在幾分鐘內啟動叢集並連接到應用程式,無需其他設定。

監控和指標

MemoryDB 為您的資料庫執行個體提供 Amazon CloudWatch 指標。您可以使用 AWS 管理主控台查看有關叢集的逾 35 個關鍵操作指標,包括運算、記憶體、儲存、輸送量、作用中連線等等。

自動化的軟體修補

MemoryDB 透過最新更新自動讓您的叢集保持最新狀態,而您可以輕鬆地將叢集升級到最新版本的 Redis。

安全性

聯網

MemoryDB 在 Amazon VPC 中執行,可讓您將資料庫隔離在自己的虛擬網路中,並使用產業標準的加密 IPsec VPN 與您的內部部署 IT 基礎設施連接。此外,使用 MemoryDB 的 VPC 組態時,您可以設定各種防火牆設定值,並控制對資料庫執行個體的網路存取。

加密

藉助 MemoryDB,可以使用透過 AWS Key Management Service (KMS) 建立和控制的金鑰來加密靜態資料。 另外,使用 AWS Graviton2 節點類型建立的叢集包括始終在線的 256 位 DRAM 加密。MemoryDB 支援使用 Transport Layer Security (TLS) 進行動態加密。

API 層級許可

使用與 Amazon MemoryDB 整合的 AWS Identity and Access Management (IAM) 功能,您可以控制 AWS IAM 使用者和群組對 Amazon MemoryDB 資源採取的動作。例如,您可以設定 IAM 規則以協助確定只有特定使用者具有唯讀存取權限,而管理員則可建立、修改和刪除資源。如需 API 層級許可的詳細資訊,請參閱 Using AWS IAM Policies for Amazon MemoryDB。

身分驗證和授權

MemoryDB 使用 Redis 存取控制清單 (ACL) 來控制叢集的身分驗證和授權。ACL 讓您能為同一個叢集中的不同使用者定義不同的許可。

與 Kubernetes 整合

適用於 Amazon MemoryDB 的 AWS Controllers for Kubernetes (ACK) 讓您能夠直接從 Kubernetes 叢集定義和使用 MemoryDB 資源。這樣一來,您即可利用 MemoryDB 來支援您的 Kubernetes 應用程式,而無需在叢集外部定義 MemoryDB 資源或在叢集內執行和管理記憶體資料庫功能。您可以Amazon ECR 下載 MemoryDB ACK 容器映像,並參閱文件以取得安裝指南。 您也可以瀏覽部落格以取得更多詳細資訊。

注意:ACK for Amazon MemoryDB 現已正式推出。在我們的 Github 頁面上將您的意見回饋傳送給我們。

ACK for Amazon MemoryDB

JSON 支援

除了開放原始碼 Redis 資料結構外,Amazon MemoryDB 還為 JavaScript 物件標記法 (JSON) 文件提供原生支援,且無需額外費用。您可以使用專為 JSON 文件設計和最佳化的內建命令來簡化應用程式開發。MemoryDB 支援部分 JSON 文件更新,以及使用 JSONPath 查詢語言進行的強大搜尋和篩選。使用 Redis 6.2 及更高版本時可以使用 JSON 支援。如需詳細資訊,請參閱 MemoryDB 文件

Amazon MemoryDB for Redis 支援機器學習 (ML) 和生成人工智慧 (AI) 模型,無需移動您的資料,即可即時處理存放在 Amazon MemoryDB 中的資料。藉助 Amazon MemoryDB,您可在 Redis 資料結構中存放、搜尋、索引和查詢向量內嵌項目。

向量是非結構化資料 (例如文字、影像和影片) 的數值呈現,透過 ML 模型建立,可協助擷取基礎資料的語義含義。您可在 Amazon MemoryDB 資料庫中存放 ML 和 AI 模型中的向量內嵌項目,例如 Amazon BedrockAmazon SageMaker 中的模型。請閱讀我們的文件,進一步了解 Amazon MemoryDB 上的向量搜尋相關資訊。

使用 MemoryDB 的向量搜尋預覽版功能,您可存放數百萬個向量內嵌項目,並憑藉延遲不到 10 毫秒的向量搜尋和更新,每秒執行成千上萬個查詢 (QPS),回呼率達到 99% 以上。

MemoryDB 的向量搜尋功能適用於將峰值效能和擴展視為最重要的選擇條件的使用案例。您可使用向量搜尋功能,來支援即時 ML 和生成式 AI 應用程式,例如用於聊天機器人的擷取增強生成 (RAG)、詐騙偵測、即時建議和文件擷取等使用案例。

成本最佳化

MemoryDB 提供資料分層作為一種成本較低的方式,可將您的叢集擴展至數百 TB 的容量。除了將資料儲存在記憶體中之外,資料分層還透過在每個叢集節點中使用成本較低的固態硬碟 (SSD),為 MemoryDB 提供一種價格效能比選項。它非常適合定期存取多達 20% 的整個資料集的工作負載,以及在存取 SSD 上的資料時可以容忍額外延遲的應用程式。

使用叢集搭配資料分層時,若可用記憶體容量耗盡,將最近使用最少的項目從記憶體中自動透明地移至本機連接的 NVMe SSD。當您存取存放在 SSD 上的項目時,MemoryDB 會在處理請求之前將其移回記憶體。MemoryDB 資料分層可在以 Graviton2 為基礎的 R6gd 節點上使用。R6gd 節點的總容量 (記憶體 + SSD) 增加了近 5 倍,相較於 R6g 節點 (僅記憶體),在以最大使用率執行時,可協助您節省 60% 以上的儲存成本。假設 500 位元組的字串值,與對記憶體中資料的讀取請求相比,對存放在 SSD 上的資料的請求通常會額外增加 450 微秒的延遲。

MemoryDB 提供預留節點,可讓您以一或三年期的使用承諾,比起隨需節點定價節省多達 55%。預留節點與 MemoryDB 隨需節點互補,讓企業擁有彈性,有助於降低成本。MemoryDB 針對預留節點提供三種付款選項:不預付、部分預付、全額預付,讓您可以根據實際的小時價格,平衡預付款金額。

MemoryDB 預留節點有節點系列和 AWS 區域之內的大小彈性。換言之,使用同一節點系列的所有大小,可自動實施折扣價的預留節點費率。大小有彈性之下,可減少您管理預留節點所需的時間,加上因為不再綁定特定的資料庫節點大小,所以即使資料庫需要更新,也能自折扣享有最大優惠。

進一步了解定價
查看 MemoryDB 定價

探索 MemoryDB 的定價選項。

進一步了解 
藉助教學了解
藉助教學了解

探索如何設定第一個 MemoryDB 叢集。

進一步了解  
 開始使用 MemoryDB 建置
開始使用 MemoryDB 建置

查閱 MemoryDB 使用者指南以開始使用。

閱讀文件