1

Mon application Web nécessite une lecture/écriture extrêmement lente des petites tâches de données (< 10KB) pouvant être stockées en tant que paires valeur/clé. Je considère DynamoDB (avec DAX) et EFS et ElastiCache. AWS affirme qu'ils offrent tous une faible latence, mais je ne trouve aucune comparaison tête-tête et il n'est pas clair pour moi si ces trois sont même dans la même ligue. Quelqu'un peut-il partager un aperçu?AWS Mémoire de données en lecture/écriture à très faible latence: EFS vs Dynamodb DAX vs ElastiCache

+0

J'ai entendu parler de trop de problèmes de performances EFS pour le recommander pour ce type de problème. DynamoDB avec DAX et ElastiCache (Redis) serait très comparable en termes de performance. Vous devriez examiner les capacités (et les restrictions) de chacun et choisir en fonction de celui qui répond le mieux à vos besoins. –

Répondre

4

Vous essayez de comparer différents systèmes de stockage pour différents cas d'utilisation avec différents modèles de tarification.

EFS est un système de fichiers pour lequel vous n'avez pas besoin de provisionner des périphériques de stockage et qui peut accéder à partir de plusieurs instances EC2. EFS peut fonctionner correctement pour votre cas d'utilisation, mais vous devrez gérer les fichiers. Cela signifie que vous devrez structurer vos données pour qu'elles tiennent dans les fichiers. Alternativement, vous devrez peut-être construire un système de stockage de valeurs-clés ou d'objets blob/objets en fonction du niveau de structure et de récupération dont vous avez besoin. Il existe des produits qui résolvent ce problème pour vous, tels que S3, DynamoDB, Elasticache Redis ou Memcached. S3 est un stockage BLOB, sans structure, sans types de données, les éléments ne peuvent pas être mis à jour seulement remplacés. Vous pouvez uniquement interroger en listant les blobs dans un compartiment. Il est généralement utilisé pour stocker des fichiers multimédias statiques. DynamoDB est une base de données non relationnelle (alias No-SQL), qui peut être utilisée comme un document ou un magasin de valeurs-clés dans lequel les données sont structurées, fortement typées et dotées de capacités de requête. Peut stocker des objets jusqu'à 400 Ko. Elasticache (Redis ou Memcached) sont des magasins de valeurs-clés généralement utilisés comme cache devant un magasin de données durable tel que DynamoDB. Dans ce cas, l'application doit être consciente des différentes couches; gérer différentes API et gérer la logique de mise en cache dans l'application. Avec DAX, vous pouvez facilement intégrer une couche de cache sans avoir la logique de mise en cache dans l'application. DAX fournit actuellement un cache à écriture immédiate à DynamoDB. Les API DAX sont compatibles avec les API DynamoDB, ce qui facilite l'ajout d'une couche de cache si votre application utilise déjà DynamoDB en substituant le client DynamoDB au client DAX. Gardez à l'esprit que DAX prend actuellement en charge les clients Java et Node.js uniquement.

Cela dépend vraiment de votre charge de travail. Si vous avez besoin d'une latence de moins d'une milliseconde, sans le problème de la gestion d'une couche de cache, et que votre application est Java ou Node.js, alors DAX est fait pour vous.