2010-04-11 23 views
1

En tant que suivi de cette question: sqlite-over-a-network-sharesqlite sur un partage réseau pour le basculement

Si je mets le SQLite DB sur un partage réseau, mais n'accéder simultanément à partir de machines différentes. Je n'ai que la base de données SQLite stockée sur un partage afin qu'un cluster d'ordinateurs de basculement puisse prendre en charge où une machine s'est arrêtée.

Y a-t-il des problèmes inhérents à cette approche?

+1

Le seul problème que je vois est si le partage de réseau tombe en panne, et récupérer toutes les opérations ont été manqués. Pas très utile, désolé, c'est pourquoi je l'ajoute comme un commentaire, pas une réponse. – MPelletier

+0

mpelletier: vous faites cependant un point valide. La raison pour laquelle j'ai opté pour SQLite en premier lieu est d'avoir un datastore disponible (et rapide). Celui qui ne s'appuie pas sur une connexion réseau. Si je mets la DB sur un partage, je perds une grande raison d'aller avec SQlite en premier lieu. – Toad

+0

Ce qui me fait me demander comment les scénarios de basculement SQlite et (automatique) fonctionnent quand même. – Toad

Répondre

1

Intéressé à connaître vos expériences (après 5 ans). Par conseil utile Eric Grange:

  • « SQLite utilise des verrous consultatifs POSIX pour mettre en œuvre le verrouillage sur Unix » ... « verrouillage consultatif POSIX est connu pour être buggy ou encore implémentés dans de nombreuses implémentations NFS » ... « Votre La meilleure défense est de ne pas utiliser SQLite pour les fichiers sur un système de fichiers réseau. " Cela dit, si votre serveur NFS est solide (NetApp) et que vos clients sont solides (c'est-à-dire, probablement pas Linux, voir par exemple http://nfsworld.blogspot.co.at /2006/10/review-of-why-nfs-sucks-paper-from.html). L'option de verrouillage POSIX sur NFS est également dépendante de l'impédation: Dans l'article File locking Wikipedia: "Sous Linux avant le 2.6.12, les appels de groupes sur les fichiers NFS n'agissaient que localement. appelle les fichiers NFS à l'aide de verrous d'octets POSIX Ces verrous seront visibles par les autres clients NFS qui implémentent des verrous POSIX de style fcntl, mais sont invisibles pour ceux qui ne le font pas. En cas de doute, vous pouvez utiliser nfstrace pour déterminer ce que votre système d'exploitation essaie de faire. Que se passe-t-il si le nœud A a commencé une transaction, verrouillé le fichier de table, puis s'est écrasé?

  • Le nœud B verra-t-il le verrou consultatif et refusera-t-il d'écrire dans le fichier?

+0

Je n'ai jamais utilisé cette méthode. Donc pas d'expériences. – Toad