首先是資料結構層面:
redis是單純的key-value鍵值對儲存。
dynamodb雖然也是以key-value形式儲存資料的,但是也引入了傳統關係型資料庫(rdbms)中的表的概念有了表就有主鍵的概念,dynamodb中的分割槽鍵和排序鍵以及二級索引可以應對很多不同場景下的需求。
所以dynamodb更像是處於nosql和rdbms之間的一種資料庫。
其次是執行層面:
redis是一種記憶體資料庫,所有資料在記憶體中,支援高併發訪問,使用單程序單執行緒+io多路復用機制保證了執行緒安全。
dynamodb是一項web服務,資料的計算,儲存均在aws雲中,使用者只所做的其實只是提交請求和接收響應,而不需要過多的考慮快速的資料量增長而導致的記憶體不足等問題。
當然dynamodb是付費的web服務,redis則是完全開源的。
然後是應用層面:
redis由於其效能更多的被用於做快取。
dynamodb則更接近於rdbms的應用場景,比如資料儲存,增刪查改等。
不難理解的是,在一款大型線上遊戲的服務端,應該是客戶端 — 服務端 — 快取(redis) — dynamodb這樣的層級結構。
最後是持久化層面:
redis的持久化機制是定期把記憶體中的資料寫入磁碟,重新啟動redis時可以從磁碟中的dump檔案載入資料。
dynamodb的備份同樣由aws完成,利用aws雲計算框架在備份速度和安全性上都是很優秀的。並且由於其web服務的性質,還給使用者提供了自定義還原設定介面以及35天內可還原到任意乙個時間上的功能。
總結redis開源、高效,適合快取等業務,dyanmodb配合aws更適合實現高效、安全、高拓展性的資料庫。並且dynamodb的比起redis這樣的nosql多了更多的功能與服務。
DynamoDB的基本概念
摘自官方文件 amazon dynamodb 是一種完全託管的 nosql 資料庫服務,提供快速且可 的效能,同時還能夠無縫擴充套件。利用 dynamodb,您可以減輕操作和擴充套件分布式資料庫的管理負擔,這樣就不必擔心硬體預置 設定和配置 複製 軟體修補或集群擴充套件。dynamodb 還提供了靜...
Redis篇 初始Redis與Redis安裝
一 前述 redis是當前比較熱門的nosql系統之一,它是乙個key value儲存系統。和memcache類似,但很大程度補償了memcache的不足,它支援儲存的value型別相對更多,包括string list set zset和hash。這些資料型別都支援push pop add remo...
Redis與Memcached的比較
1.網路io模型 memcached是多執行緒,非阻塞io復用的網路模型,分為監聽主線程和worker子執行緒,監聽執行緒監聽網路連線,接受請求後,將連線描述字pipe 傳遞給worker執行緒,進行讀寫io,網路層使用libevent封裝的事件庫,多執行緒模型可以發揮多核作用,但是引入了cache...