AWS在推出Amazon ElastiCache for Redis全托管存儲器快取服務之后,現(xiàn)在又推出另一款,同樣是相容于Redis的存儲器數(shù)據(jù)庫服務Amazon MemoryDB for Redis,供開發(fā)者建構需要微秒讀取,以及個位數(shù)毫秒寫入效能,且具有數(shù)據(jù)持久性和高可用性的應用程式。
由于 互動式應用程式需要快速地處理請求和回應,AWS提到,當開發(fā)者采用微服務,且架構由許多相互獨立的小服務組成時,低延遲的請求處理和回應速度更是重要。數(shù)據(jù)庫在應用程式的效能占重要的位置,而要將讀取延遲降低到微秒等級,開發(fā)者通常會在持久數(shù)據(jù)庫前,設置像是Redis等存儲器快取。
之前AWS所推出的Amazon ElastiCache for Redis,便是讓用戶在AWS云端上,使用該服務作為Amazon Aurora或Amazon DynamoDB等持久數(shù)據(jù)庫的低延遲快取,不過這樣的配置,使用者必須要自己定義維持快取和數(shù)據(jù)庫同步的邏輯,并且也會產(chǎn)生執(zhí)行快取和數(shù)據(jù)庫的成本。
而AWS現(xiàn)在推出的Amazon MemoryDB for Redis就是要來簡化這個架構,用戶可以將MemoryDB直接用作單個主要數(shù)據(jù)庫,而不僅是持久數(shù)據(jù)庫之前的低延遲快取,也就是說,使用MemoryDB,用戶的所有數(shù)據(jù)都會儲存在存儲器中,進而實現(xiàn)低延遲和高吞吐量的數(shù)據(jù)存取能力。MemoryDB使用分散式交易性日志,能跨可用區(qū)域儲存,支援數(shù)據(jù)恢復和節(jié)點重啟,具有高持久性。
AWS解釋MemoryDB和ElastiCache適合的情境,MemoryDB能夠成為應用程式的主數(shù)據(jù)庫,提供數(shù)據(jù)持久性,而且微秒讀取和毫秒寫入的速度,使用MemoryDB就不需要在數(shù)據(jù)庫之前添加快取,就可實現(xiàn)互動式應用程式和微服務架構所需要的低延遲。而ElastiCache對讀取和寫入都提供微秒延遲,適用于 快取工作負載,可加快現(xiàn)有數(shù)據(jù)庫的存取速度,在用戶可以接受數(shù)據(jù)丟失的情況,也可以將ElastiCache用作主數(shù)據(jù)庫儲存。
Amazon MemoryDB for Redis目前已在美東、歐洲和南美洲上線,亞洲則是孟買地區(qū),用戶可以使用AWS控制臺、命令列介面和AWS開發(fā)工具包,快速創(chuàng)建MemoryDB叢集,能夠從ElastiCache搬遷到MemoryDB,或是使用儲存在Amazon S3上的Redis備份檔案創(chuàng)建叢集。值得注意的是,目前MemoryDB僅支援R6g Graviton2執(zhí)行個體。