Je voudrais savoir si vous recommandez Memcache lors de l'utilisation d'une base de données NoSQL comme mongoDB.
Réponses
Trop de publicités?Le concept de l'utilisation de memcache découle de l'idée que vous avez "RAM supplémentaire" assis quelque part. Les deux MongoDB et MySQL (et la plupart des DBs) prendra toutes les meg de RAM qu'ils peuvent obtenir.
Si le cas de la commune de MySQL / Memcache, il est très bien documenté que l'utilisation de Memcache est plus sur la réduction de la charge de requêtes sur le serveur, qu'il s'agit d'accélérer les requêtes. Une bonne memcache mise en œuvre fondamentalement juste essaye de garder le plus commun de données en mémoire afin que le serveur de base de données peut désabonnement de loin sur les plus grandes choses.
En fait, il a été mon expérience que l'utilisation de memcache est généralement une dépendance sur memcache pour maintenir les performances du système.
Donc, pour revenir à la question initiale, où avez-vous RAM supplémentaire?
Si vous avez de la RAM supplémentaire sur les serveurs web, vous pouvez être en mesure d'utiliser Memcache. Bien sûr, vous pouvez également exécuter Mongo localement sur le serveur web. Juste slave les données dont vous avez besoin à partir de le maître.
Si vous avez de la RAM supplémentaire sur d'autres ordinateurs, puis il n'y a pas vraiment d'un point dans l'utilisation de memcache. Ajoutez simplement plus de nœuds à votre MongoDB jeu de réplicas ou éclat. C'est là que MongoDB effectivement brille. En raison de la fragmentation / réplication, vous pouvez plus de RAM à Mongo Horizontalement pour augmenter les performances. Avec SQL, il est très difficile de "juste ajouter des serveurs supplémentaires" parce que les jointures ne pas très bien. Mais avec Mongo, c'est tout à fait possible de simplement "ajouter plus de nœuds" à un problème.
MongoDB stocke tout dans la mémoire de toute façon et fonctionne dans la même veine, étant un système basé sur des valeurs clés, mais je pense que MongoDB est plus flexible, car il permet de stocker des objets BSON en eux-mêmes.
(Pour plus de précision, MongoDB utilise BSON, une forme spécialisée de JSON, pour stocker toutes ses données, qui inclut des objets dans des objets.)