2010-05-20 14 views
0

Je viens de terminer une couche de base de données basée sur redis qui permet de choisir entre plusieurs bases de données, mais je n'ai aucune expérience par moi-même sur ce que devrait faire le bon sens. La fiabilité est mon principal objectif.Question de conception d'évolutivité - bases de données maître/esclave

Comment les écritures et les lectures sont-elles couramment organisées dans des applications où une base de données esclave et une base de données principale sont disponibles?

Comment les gros mecs s'en sortent-ils?

Répondre

3

Pour un maître unique, multi-esclave, il est souvent aussi simple que d'envoyer toutes les requêtes de modification de données au maître et toutes les sélections à l'esclave. Typiquement, votre couche d'abstraction de base de données peut facilement gérer cela pour vous. This article a quelques détails sur ce type particulier d'installation.

4

Règle 1: Ne pas. Règle 2: Ne vous inquiétez pas jusqu'à ce que vous ayez mesuré et vérifié que la base de données est réellement votre goulot d'étranglement. La plupart des goulets d'étranglement des applications Web sont le temps nécessaire pour diffuser du contenu statique et du contenu périmé. Rien à voir avec les transactions de base de données. Règle 3: Même alors, regardez d'autres façons de partitionner vos données plutôt que de dupliquer votre base de données. Récupérez l'historique des données actuelles dans un entrepôt. Diviser les données par client ou domaines ou application Web en plusieurs bases de données homologues avec un partage limité ou nul.

Règle 4: Lorsque vous pouvez prouver qu'il existe non alternative, regardez les bases de données maître-esclave.

Voilà le nombre de personnes qui s'attaquent à ce problème.