我的web應用程序需要極低延遲讀取/寫入可存儲爲鍵值對的小數據塊(< 10KB)。我正在考慮DynamoDB(使用DAX)以及EFS和ElastiCache。 AWS聲稱他們都提供低延遲,但我找不到任何頭對頭的比較,而且我不清楚這三個人是否在同一聯盟。有人可以分享任何見解嗎?AWS超低延遲讀/寫數據存儲:EFS vs Dynamodb DAX與ElastiCache
1
A
回答
4
您正試圖比較不同的存儲系統與不同的定價模型的不同用例。
EFS是您不需要調配存儲設備並可以從多個EC2實例訪問的文件系統。 EFS可能適合您的用例,但您需要管理文件。這意味着您需要構建數據以適應文件。或者,您可能需要根據所需的結構和檢索級別構建鍵值或Blob /對象存儲系統。有些產品可以爲您解決此問題,例如S3,DynamoDB,Elasticache Redis或Memcached。
S3是一個blob存儲,沒有結構,沒有數據類型,項目不能更新只能替換。您只能通過列出桶中的blob進行查詢。它通常用於存儲靜態媒體文件。
DynamoDB是一個非關係型(又名無SQL)數據庫,可用作文檔或鍵值存儲,其中數據結構化,強類型化並具有查詢功能。可以存儲高達400KB的項目。
Elasticache(Redis或Memcached)是鍵值存儲區,通常用作持久數據存儲(如DynamoDB)前的緩存。在這種情況下,應用程序需要知道不同的層;管理不同的API並處理應用程序中的緩存邏輯。
使用DAX,您可以在應用程序中無需緩存邏輯的情況下無縫集成緩存層。 DAX目前爲DynamoDB提供了直寫式緩存。 DAX API與DynamoDB API兼容,如果應用程序已通過將DynamoDB客戶端替換爲DAX客戶端來使用DynamoDB,則無需添加緩存層。請記住,DAX目前僅支持Java和Node.js客戶端。
所以它真的取決於你的工作量。如果您需要亞毫秒級的延遲,而不需要管理緩存層,並且您的應用程序是Java或Node.js,那麼DAX就是爲您服務的。
相關問題
- 1. EBS vs EFS讀取和寫入延遲
- 2. AWS DynamoDB會話與Elasticache PHP會話
- 3. 降低AWS EFS的性能
- 4. AWS DynamoDB VS HBase
- 5. 與AWS DynamoDB通信時發生整秒延遲
- 6. 音頻低延遲與Python
- 7. AWS MySQL的RDS VS AWS DynamoDB
- 8. .Net中的DAX DynamoDB緩存?
- 9. S3存儲JSON VS DynamoDB
- 10. Amazon ElastiCache vs Linux中的Ramfs
- 11. 低延遲的數據訪問,Hadoop的
- 12. MMIO讀取/寫入延遲
- 13. 用於低延遲讀取和寫入的持久性策略
- 14. AWS DynamoDB:讀/寫單元估算問題
- 15. 的PHP Zend與AWS ElastiCache
- 16. 閱讀AWS Dynamodb流
- 17. 讀寫存儲在aws s3中的數據庫文件(Heroku + Django)
- 18. 如何使用aws lambda將存儲在S3中的數據寫入Dynamodb
- 19. Aurora vs MemSQL低吞吐量但低延遲的目的
- 20. Javascript寫入AWS DynamoDB
- 21. 在AWS DynamoDB上存儲聊天記錄?
- 22. TomCat存儲延遲日誌
- 23. Azure表存儲延遲
- 24. 使用AWS DynamoDB或紅移存儲分析數據
- 25. 如何使用AWS Dynamodb存儲類會話數據?
- 26. AWS Elasticache CPU使用率超過100%
- 27. 數據存儲性能,我的代碼或數據存儲延遲
- 28. 低延遲分佈式緩存++對象
- 29. 如何降低Azure Table中存儲延遲
- 30. 在AWS中存儲XML文檔DynamoDB
我聽說過太多的EFS性能問題來推薦它用於這種類型的事情。具有DAX和ElastiCache(Redis)的DynamoDB在性能方面將具有可比性。你應該檢查每一個的能力(和限制),並根據哪一個最適合你的需求來挑選。 –