一種讀密集型的內(nèi)存緩存 —— Amazon DynamoDB Accelerator (DAX) 發(fā)行公開預(yù)覽版

責(zé)任編輯:editor005

作者:Daniel Bryant

2017-05-19 16:03:03

摘自:INFOQ

對于讀取繁重或突發(fā)性的負載,DAX降低對過度分配讀容量單元(read capacity units)的需求,從而提高吞吐量和降低運營成本。

AWS發(fā)行了Amazon DynamoDB Accelerator(DAX)的公開預(yù)覽版,它是一種完全受托管的write-through緩存服務(wù),在邏輯上位于DynamoDB數(shù)據(jù)表的前面,提高讀密集型負載的性能。DAX與DynamoDB是API兼容的,也就是說,現(xiàn)有的應(yīng)用程序可以直接使用DAX,而不用被重寫。該預(yù)覽版目前只支持Java SDK。

Amazon DynamoDB是一種完全受托管的、可擴展的NoSQL數(shù)據(jù)庫服務(wù),它既支持文檔模型也支持鍵值存儲模型。據(jù)AWS 博客所稱, DynamoDB可被用于廣告技術(shù)、物聯(lián)網(wǎng)、游戲、電子商務(wù)和金融,有些用戶在一張DynamoDB表中存儲超過100TB的數(shù)據(jù)而且每秒提交上百萬個讀寫請求。有些高要求的應(yīng)用程序有著最終一致的讀密集型負載,開發(fā)DAX的目的就是為這些應(yīng)用程序提供快速的內(nèi)存性能。

DAX可處理下面三種應(yīng)用場景:

作為內(nèi)存緩存,DAX將最終一致的讀負載的延時降低了一個數(shù)量級,從幾毫秒降到微妙級。

DAX提供了一種可管理的服務(wù)來降低運營上和應(yīng)用上的復(fù)雜度,該服務(wù)與Amazon DynamoDB是API兼容的,因此在現(xiàn)有應(yīng)用程序中實現(xiàn)它的時候只要求最小的功能更改。

對于讀取繁重或突發(fā)性的負載,DAX降低對過度分配讀容量單元(read capacity units)的需求,從而提高吞吐量和降低運營成本。這一點對遭遇熱鍵(hot keys)的應(yīng)用程序很有用,對大型DynamoDB數(shù)據(jù)集(其中,不同分區(qū)內(nèi)的讀容量單元是均等分布的)的讀吞吐量也很有用。

作為一個可管理的服務(wù),DAX集群可通過AWS UI來創(chuàng)建,運營任務(wù)如軟件打補丁、集群維護、復(fù)制或故障管理是自動處理的(可指定一個維護窗口)。每一個DAX集群可包含1到10個節(jié)點,可以通過增加節(jié)點來提高整體的讀取吞吐量。緩存的大小基于節(jié)點的大小,范圍從dax.r3.large到dax.r3.8xlarge,在集群被初始化的時候指定這個值。集群在VPC中運行,節(jié)點可以分布在整個可用區(qū)域。

DAX的預(yù)覽版目前只支持DynamoDB Java SDK的API,而且必須用一種新的用于Java的DAX SDK來與DAX進行交互。AWS文檔表明,這是因為SDK與集群發(fā)生交互時使用了一個低級TCP接口,該接口被調(diào)優(yōu)后用于低延遲和高吞吐量。產(chǎn)品的路線圖中已經(jīng)包含了支持用其他語言來訪問DAX。

根據(jù)DAX開發(fā)者指南,這類緩存技術(shù)的正面的應(yīng)用案例包括:

對讀取需要最快的可能響應(yīng)時間的應(yīng)用程序。 對一小部分項目讀取更頻繁的應(yīng)用程序。譬如,為了轉(zhuǎn)移“熱”鍵和非均勻數(shù)據(jù)分布的影響,可將讀取活動放在DAX緩存中。 讀密集型和代價敏感型的應(yīng)用程序。DAX允許將讀取活動從DynamoDB表轉(zhuǎn)移到DAX集群,從而降低所需要的讀容量單元。 需要反復(fù)讀取大量數(shù)據(jù)的應(yīng)用程序。譬如,一個長時間運行的數(shù)據(jù)云的分析程序暫時消耗了一個DynamoDB表的所有讀容量,這將會影響需要訪問同一個數(shù)據(jù)的其他應(yīng)用程序。借用DAX,該分析可針對緩存數(shù)據(jù)進行。

對下列應(yīng)用程序而言,DAX并不是理想的選擇:

需要很強的一致的讀取,或者不能忍受最終一致的讀取的應(yīng)用程序(然而,當(dāng)處理一致的讀取時,可配置DAX來讓其引用回DynamoDB表)。 不需要微秒級讀取響應(yīng)時間的應(yīng)用程序。 寫密集型或者沒有太多的讀取活動的應(yīng)用程序。 已經(jīng)使用了DynamoDB的其他緩存解決方案并相應(yīng)地使用了自己的客戶端邏輯的應(yīng)用程序。

Amazon DAX的公開預(yù)覽版在美國東部(弗吉尼亞州北部)、美國西部(俄勒岡州)和歐洲(愛爾蘭)等地區(qū)可免費使用。其他信息可參見DAX開發(fā)者指南。

查看英文原文:Amazon DynamoDB Accelerator (DAX) Released in Preview: In-Memory Cache for Read-Intensive Workloads

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號