J'ai un petit problème qui nécessite quelques suggestions :
- Disons que nous avons quelques centaines de tables de données avec quelques dizaines de millions de lignes chacune.
- Les tableaux de données sont timestamp(key) - value
- Les tableaux de données sont écrits une fois par seconde
La dernière entrée de chaque table doit pouvoir être obtenue rapidement et sera probablement la plus interrogée. (un peu comme "suivre les données en temps réel"). En l'absence de 'Last()' ou autre, je pensais créer une autre table "LatestValues" où la dernière entrée de chaque table de données est mise à jour pour une récupération plus rapide. Cependant, cela ajouterait une mise à jour supplémentaire pour chaque opération d'écriture. En outre, la plupart du trafic serait concentré sur cette table (bon/mauvais ?). Existe-t-il une meilleure solution pour cela ou est-ce que je rate quelque chose ?
Supposons également que nous voulions interroger les valeurs des tables de données. Puisque le balayage est évidemment hors de question, la seule option restante est-elle de créer un index secondaire en dupliquant les données, doublant ainsi les besoins de stockage et le nombre d'opérations d'écriture ? Y a-t-il d'autres solutions ?
Je m'intéresse principalement à DynamoDB et à Azure Table Storage, mais je suis également curieux de savoir comment BigTable gère cela.