2010-11-13 5 views
2

Je suis en train de mettre en place une application multi-utilisateur rails 3 et avant que je suis allé trop loin, je voulais m'assurer qu'il n'y a pas 't un meilleur moyen de le faire ...Rails plan de performance pour un système multi-utilisateurs où chaque utilisateur est stocker de grandes quantités de données

Actuellement chaque table comme Contacts, Commandes, Emails, etc a un user_id auquel il appartient, mais si je prévois d'avoir 500 utilisateurs chacun avec 10.000 entrées dans chaque table est là une meilleure option sage de la performance comme avoir des tables spécifiques à l'utilisateur (user1_contacts, etc)? Et si oui, comment les rails peuvent-ils gérer cela?

Merci!

Répondre

1

5 000 000 enregistrements dans une table ne sont pas volumineux. Les clés étrangères (belongs_to) et les index sont vos amis ici, ce qui est bien car ce sont deux parties importantes de la transmission pour les bases de données relationnelles (si vous utilisez en fait des liens relationnels). Au-delà de laisser la base de données faire ce qu'elle est faite pour faire, vos seules limitations seront vraiment le matériel. À l'extrême, vous trouverez des limites matérielles qui pourraient vous amener à évaluer les schémas de partitionnement qui vous aident à diviser le travail, mais vous êtes loin de tout cela.

Questions connexes