Il existe plusieurs versions des «tableaux de latence que tout le monde devrait connaître», telles que:
En réalité, il y a plus que de la latence. C'est une combinaison de facteurs.
Alors, quelle est la latence du réseau dans un centre de données? Latence, eh bien je dirais que c'est "toujours" en dessous de 1ms. Est-ce plus rapide que la RAM? Non. Est-il proche de la RAM? Je ne pense pas.
Mais la question demeure, est-elle pertinente. Est-ce la donnée que vous devez connaître? Votre question est logique pour moi. Comme tout a un coût, si vous obtenez plus de RAM pour que toutes les données puissent rester dans la RAM ou que vous puissiez lire de temps en temps sur le disque.
Votre "hypothèse" est que si la latence du réseau est plus élevée (plus lente) que la vitesse du SSD, vous ne gagnerez pas en ayant toutes les données dans la RAM car vous aurez le ralentissement sur le réseau.
Et il semblerait que oui. Mais, vous devez également prendre en compte la simultanéité. Si vous recevez 1 000 demandes de données à la fois, le disque peut-il effectuer 1 000 demandes simultanées? Bien sûr que non, alors combien de temps cela prendra-t-il pour répondre à ces 1 000 demandes? Par rapport à la RAM?
Il est difficile de le résumer à un seul facteur tel que des charges lourdes. Mais oui, si vous n'aviez qu'une seule opération en cours, la latence du réseau est telle que vous ne remarqueriez probablement pas la différence entre SSD et RAM.
Tout comme jusqu'à ce qu'un disque 12 Gbit / s apparaisse sur le marché, une liaison réseau 10 Gbit / s ne serait pas surchargée par un seul flux car le disque était le goulot d'étranglement.
Mais rappelez-vous que votre disque fait beaucoup d'autres choses, votre processus n'est pas le seul processus sur la machine, votre réseau peut transporter différentes choses, etc.
En outre, toutes les activités du disque ne signifient pas le trafic réseau. La requête de base de données provenant d'une application vers le serveur de base de données n'est qu'un trafic réseau très minime. La réponse du serveur de base de données peut être très petite (un seul numéro) ou très grande (milliers de lignes avec plusieurs champs). Pour effectuer l'opération, un serveur (serveur de base de données ou non) peut avoir besoin d'effectuer plusieurs recherches, lectures et écritures sur disque mais n'envoyer qu'un très petit bit sur le réseau. Ce n'est certainement pas une RAM de disque réseau un pour un.
Jusqu'à présent, j'ai évité certains détails de votre question - en particulier, la partie Redis.
Redis est un magasin de structure de données en source ouverte (sous licence BSD), utilisé comme base de données, cache et courtier de messages. - https://redis.io/
OK, cela signifie donc que tout est en mémoire. Désolé, ce disque SSD rapide ne vous aidera pas ici. Redis peut conserver les données sur le disque, elles peuvent donc être chargées dans la RAM après un redémarrage. C'est seulement pour ne pas "perdre" de données ou avoir à repeupler un cache froid après un redémarrage. Dans ce cas, vous devrez donc utiliser la RAM, quoi qu'il arrive. Vous devrez avoir suffisamment de RAM pour contenir votre ensemble de données. Pas assez de RAM et je suppose que votre système d'exploitation utilisera swap
- probablement pas une bonne idée.