J'ai lu cette question La réplication maître / esclave MySQL ne fonctionne pas et sa réponse:
L'utilisation de bases de données esclaves est à peine implémentée dans le noyau Drupal. Si vous développez vos propres modules, les appels à db_query doivent spécifier qu'ils souhaitent utiliser la base de données esclave à l'aide du tableau $ options. Voir DatabaseConnection :: defaultOptions pour savoir comment définir ce tableau.
Existe-t-il un moyen sans tuer les chatons piratant le noyau pour obtenir db_query()
et db_select()
faire plus de requêtes SELECT esclaves?
Par défaut, ces fonctions interrogeront le maître, sauf indication contraire d'interroger l'esclave (voir leur API). Vous devez écrire db_query($query, $args, array('target' => 'slave'))
afin d'interroger l'esclave et le noyau (et tous les modules) ne sont pas écrits pour y parvenir.
Seuls la recherche (voir la partie esclave) et l'agrégateur semblent en tirer parti.
Edit: 25 octobre
J'ai vu que le pressflow 7 est sorti mais je ne sais pas si cela aide beaucoup en ce moment.
Je n'ai pas trouvé quelque chose de pertinent, alors essayons un peu de générosité pour aider à obtenir une réponse.
Edit: 31 octobre.
Je suis principalement préoccupé par les commentaires de Crell à ce sujet: Que faire des esclaves? .
Surtout, y a-t-il des problèmes si j'envoie des SELECT
requêtes à l'esclave, ce qui se passe avec des retards dans la réplication et le fait que je puisse vouloir faire node_load()
juste après avoir enregistré un nouveau nœud.
SELECT
requêtes? Comment gérez-vous les retards dans la réplication et le fait que le chargement d'un nœud juste après l'avoir enregistré peut causer des problèmes?