2013-08-31 6 views
4

J'utilise PHP et MySQL pour le système de réseau social cas d'utilisation pour MongoDB migrer de MySQL

Je table MySQL nommé member_feed, dans ce tableau que je sauve les aliments pour chaque membre, mon structure de la table est:

|member_feed_id | member_id | content_id | activity_id | active 

dans ce tableau je plus de 120 millions de disque, et chaque membre a un ensemble d'enregistrement.

Je le fais des requêtes sur ce tableau:

1 - select * from member_feed where memebr_id= $memberId 

2- update memebr_feed set active = 1 where member_id = $member_id 

3- insert into member_feed (member_id, content_id,activity_id,active values(2,3,59,1)) 

pour chaque membre par jour je au moins 50 nouveaux aliments par beanstalkd système et j'ai plus membre 60000.

Je travaille actuellement pour migrer de MySQL vers MongoDB et je suis nouveau sur MongoDB. donc j'ai besoin de convertir cette table en collection dans MongoDB.

est-ce bon cas d'utilisation pour mongodb et une bonne solution pour mon système pour augmenter les performances du système?

+0

Quel est le problème avec les performances de votre système actuel? Pourquoi pensez-vous que changer pour MongoDB améliorerait les choses? Vous devez effectuer vos propres tests sur votre matériel et écrire des requêtes à tester. Les exemples de requêtes que vous avez montrés sont simples - mais est-ce tout ce qu'il y a? Comme écrit, votre question ne fournit pas suffisamment de détails pour avoir une réponse raisonnable. – WiredPrairie

+0

Merci à Margaret pour MongoDB parce que lorsque j'exécute une requête avec certaines conditions ou une requête de mise à jour pour un enregistrement, le temps d'exécution est important et toutes les recommandations pour les tables énormes. grandir tous les jours avec des milliers de nouveaux enregistrements, pensez-vous que ce cas d'utilisation n'est pas approprié pour MongoDB, s'il vous plaît j'ai besoin d'une réponse appropriée. –

Répondre

1

Eh bien, Dans mongodb jointures entre deux collections n'est pas disponible, ma question est où vous allez stocker membre, contenu, activité? Je crois que ceux-ci devraient être intégrés dans le member_feed.

Exemple: member_feed Structure:

{_id:1,member:{_id:2,name:"Anuj"},activity:{details:"xyz"},active:false} 

Espoir qui aide !!!

Merci

+0

Merci Anuj. Dans mon cas, la collection member_feed ne contient que des ID (clés étrangères). Je n'ai donc pas besoin d'enregistrer le nom du membre ou les détails de l'activité dans la table des flux des membres. t besoin d'utiliser des jointures. –

+0

@jetawe Eh bien, alors vous pouvez utiliser la structure simple qui devrait vous convenir ...: {_ id: 1, member_id: 12, activity_id: 23, content_id: 42, actif: false} –