2022年2月11日,亞馬遜云科技宣布通過與光環(huán)新網和西云數據的緊密合作,在中國區(qū)域(北京與寧夏)推出完全托管的、兼容Redis的內存數據庫Amazon MemoryDB for Redis。
隨著互聯(lián)網的發(fā)展,數據庫性能對于應用程序的成功至關重要。為了提高性能,要將讀取數據庫的時間延遲減少到微秒級別,我們通常采用的做法是在持久數據庫之前放置一個緩存數據庫,從而提高讀取速度,帶來更好的用戶體驗。
對于緩存,許多開發(fā)人員使用Redis,這是一種開源的內存數據結構存儲。事實上,根據Stack Overflow的2021年開發(fā)者調查,Redis五年來一直是最受歡迎的數據庫。
要在云上實施此設置,您可以使用Amazon ElastiCache實現低延遲緩存,并將Amazon Aurora/RDS或Amazon DynamoDB等持久數據庫服務放在緩存后端,以最大程度地減少數據丟失。但是,此設置要求您在應用程序中引入自定義代碼以保持緩存與數據庫同步。這無疑會造成一定的學習成本和管理成本,與此同時您還需要兼顧考慮運行緩存數據庫和后端持久化數據庫的成本。
在2021年8月份我們發(fā)布了Amazon MemoryDB for Redis,這是一套新的高持久性、兼容Redis的內存數據庫。Amazon MemoryDB for Redis能夠幫助您經濟高效地構建起讀取性能達微秒級別、寫入性能維持在個位數毫秒,而且持久性與可用性極高的應用程序。
Amazon MemoryDB for Redis與開源Redis項目保持著良好的兼容性,您可以在這里使用自己熟悉的Redis數據類型、參數及命令。換句話說,您可以在之前已經積累的基于開源Redis的代碼、應用程序、驅動程序及工具直接與Amazon MemoryDB for Redis配合使用。填補了Amazon ElastiCache對于緩存數據持久化層的空白。我們將其視作一種延續(xù)與擴展。
Amazon ElastiCache和Amazon MemoryDB之間的區(qū)別在于,前者旨在作為一項超高速緩存服務,一般來說需要一個搭配的主數據庫配合使用。
而Amazon MemoryDB本身是一項完整的數據庫服務,旨在獨立運行??紤]到Amazon MemoryDB本質上是ElastiCache for Redis的高級層;從功能上講,它是一個高性能數據庫而不是緩存;從技術上講,它是與它兼容的Redis引擎而修改實現??偠灾?,Amazon MemoryDB for Redis是一種實時數據庫實現,基于開源Redis平臺,且具備數據持久性。
推出后,Amazon MemoryDB將支持開源Redis的所有核心數據API,包括字符串、列表、集合、排序集合、散列、流、地理空間、位圖和超級日志。每個集群可以支持最大~100TB的內存存儲容量,每個分片有一個副本。對于Amazon MemoryDB,用戶將能夠使用他們已經使用的相同Redis數據結構和API構建應用程序,但具有完全托管數據庫的額外好處。
Amazon MemoryDB支持的用例有很多典型的用例:
·構建web和移動應用程序:使用多功能的Redis數據結構構建內容數據存儲、聊天和消息隊列以及地理空間索引,以滿足需要低延遲和高吞吐量的數據密集型web和移動應用程序的需求。
·在線游戲戰(zhàn)斗服:為需要大規(guī)模、低延遲和高并發(fā)性才能進行實時更新的游戲應用程序構建玩家數據存儲、會話歷史記錄和排行榜。
·實時流媒體和娛樂應用:運行高并發(fā)流式數據源以接收用戶活動,并支持媒體和娛樂應用程序每天數百萬次的請求。
下面我們來看看Netflix以及Twilio的客戶案例:
Netflix是世界領先的娛樂服務提供商之一,在190多個國家擁有2億多會員,提供多種類型和不同語言的影視劇、紀錄片。Netflix MCE媒體工作流基礎架構經理Charles Zhao表示:“我們的媒體平臺采用的微服務架構,我們一直在尋找合適的數據庫來支持該平臺。我們非常高興看到亞馬遜云科技推出了Amazon MemoryDB for Redis,它滿足了我們對持久內存數據庫的需求,為我們的短期和長期架構計劃提供支持?!?/p>
Twilio是一家領先的云通信平臺,使開發(fā)者能夠通過簡單易用的API在其軟件應用程序中創(chuàng)建、擴展和運行實時客戶互動。Twilio工程總監(jiān)Andrei Birjukov表示:“我們的平臺每年在語音、電子郵件、短信、彩信、FB Messenger、WhatsApp等渠道發(fā)送和接收超過1050億條信息,我們需要一個能夠處理如此大規(guī)模信息量的數據庫,同時還要確保低延遲。Amazon MemoryDB for Redis具有極高的可擴展性,每個集群可輕松擴展到一百多TB。作為一個內存數據庫,Amazon MemoryDB for Redis提供了極高的性能,對我們全球平臺的運營至關重要。”