Je pense à faire ce qui suit et j'ai besoin de suggestions s'il est logique de l'aborder de cette façon. Fondamentalement, puisque je suis capable de faire des requêtes dans MongoDB et MongoDb est méchant rapidement à ceux-ci depuis les hotspots des données sont mis en cache dans la mémoire. Je pensais stocker des données dont je ferais normalement une jointure dans mysql dans mongoDB. Alors que j'utilise memcached pour stocker des résultats de requête simples (par exemple une page de description de film), pour des choses plus importantes qui nécessitent plus de requêtes en temps réel/ondemand, je pensais stocker cela dans MongoDB. Par exemple, la vue compte pour les films et qui l'a vu, et fait des analyses dessus.MongoDB en tant que cache pour les jointures et requêtes fréquentes de MySQL
J'espère que je l'ai expliqué clairement.
plus d'info:
Nous ne voulons pas continuer à écrire à notre serveur MySQL sur chaque note comme etc, MongoDB semblait être une bonne option pour stocker les évaluations, des vues de films etc et puis plus tard être en mesure de le faire traitement sur ces données. Alors que les données ne sont pas Memcached persisté et ont été incapables de faire des requêtes
Merci, Faisal
Nous n'avons pas encore atteint l'implémentation. Étaient dans la phase où regardaient différentes options. Je pensais à cela parce que MongoDB est fortement utilisé à Foursquare pour faire des checkins, et il traite ces données de façon algorithmique. Parce que nous ne voulons pas continuer à écrire sur notre serveur mysql, MongoDB est apparu comme une bonne option pour stocker les notes, les vues, etc. et ensuite pouvoir traiter ces données. Alors qu'avec Memcached, les données ne sont pas conservées et n'ont pas pu effectuer de requêtes. –
MongoDB est bon pour effectuer des opérations de type clé/valeur de magasin. Est-ce que votre tâche implique principalement ceux-là? Une configuration de base de données hybride n'est pas nécessairement mauvaise, mais vous devriez être TRÈS certain que MongoDB apporte un avantage significatif avant que vous n'implémentiez quelque chose l'utilisant. Vous ne voulez vraiment pas essayer de dupliquer vos données entre deux DB différents. N'essayez pas de stocker des données dans les deux endroits.Vous ne pouvez pas facilement faire une requête qui traverse à la fois MySQL et MongoDB, et vous devez être sûr que vous ne voudrez pas faire cela avant de diviser vos données. –
bien ce que nous avons à l'esprit est dans mongoDB (c'est pour les notes) stocker le userID, videoID, VideoName, note. Ensuite, lorsque l'utilisateur obtient ces données (quand il regarde toutes ses notes) et agit comme s'il regardait la description de la vidéo pour ce film, nous pouvons faire un appel à l'ID vidéo dans Memcached pour obtenir la description, et si les données ne sont pas là alors allez à mysql pour aller chercher et le stocker dans Memcached puis le retourner à l'utilisateur. –