2012-08-22 2 views
1

Je suis actuellement confronté à un problème plus spécifique lié à la prise en charge/redondance du basculement pour un site Web spécifique qui sera hébergé sur @ WebFaction. Malheureusement, la réplication au niveau de la base de données n'est pas une option car je devrais installer mes propres instances PostgreSQL locales pour chaque compte et je suis inquiet au sujet de la performance entre autres choses. Je pense donc à l'utilisation de la fonctionnalité multi-db de Django et au routage de toutes les écritures vers toutes les bases de données (partagées) et l'équilibrage des lectures à la base de données la plus proche.Django multi-db: Acheminer toutes les écritures vers plusieurs bases de données

Mon problème est maintenant que tous les documents que j'ai lus semblent indiquer que ce ne serait probablement pas possible. Pour être plus précis ce que je aurais besoin:

  • itinéraire écrit tout un ensemble spécifique de dbs (même type, la version, ...)
  • si l'on écriture échoue, tous les autres seront annulées (transactions)
  • de la route
  • toutes les lectures le plus proche db (pourraient être configurées de façon statique)

Est-ce possible actuellement avec le soutien multi-db de Django?

Merci beaucoup à l'avance pour toute aide/conseils ...

+0

quelles seraient les règles de routage pour l'écriture. Un système de tournoi à la ronde? Vous ne pouvez pas utiliser un cluster de base de données avec un point d'entrée? – RickyA

Répondre

1

Je cherchais quelque chose de similaire. Ce que je trouve est:

1) Essayez quelque chose comme nuage Xeround DB - il est construit sur MySQL et est compatible, mais ne prend pas en charge les points de sauvegarde. Vous devez le désactiver dans un moteur de base de données (personnalisé). La bonne chose est qu'ils répliquent au niveau de la base de données et fournissent l'évolutivité automatique et le basculement. Votre application fonctionne comme s'il n'y avait qu'une seule base de données. Ils ont actuellement des problèmes de connectivité qui bloquent ma migration.

2)django-synchro package - semble prometteur pour les réplications au niveau de la couche de l'application, mais j'ai quelques inquiétudes à ce sujet. Cela ne fonctionne pas sur objects.update() que j'utilise beaucoup dans mon code.

Questions connexes