URL: https://linuxfr.org/forums/programmation-sql/posts/choix-dune-nouvelle-db Title: choix d'une nouvelle DB Authors: PyroTokyo Date: 2010年07月27日T06:38:07+02:00 Tags: Score: 0 Bonjour à tous Il y a maintenant près d'un an, j'ai commencé à développer une application en PyQt4 + Sqlite pour la gestion d'un réseau social. A l'époque, j'avais des besoins simples, aussi le couple python + sqlite était idéal, à la fois léger et performant. Cependant, 2 problèmes... Le syndrome du "ce serait sympa si....", qui m'a amené en enrichir l'application. Ma base se voit augmentée de nouvelles tables, mais toujours pas de soucis majeurs. Après un an, j'ai atteint les 3 millions d'entrées, et une base sqlite de pres d'1Go. Les requêtes se font plus longues, et il s'avère que je n'ai pas besoin de la totalité de ma base pour beaucoup d'opérations très simples. Tentation n°1 : Plutôt que d'avoir une grosse application qui fait tout (et une tâche à la fois, vu que les threads et moi ça fait 2...), séparer le tout en plusieurs applications dédiées, plus légères et indépendantes. Toutes auraient cependant une table nécessaire en commun, la plus grosse, et une ou plusieurs tables dédiées. Problème n°1 : Sqlite et les accès concurrents, c'est pas vraiment ça, et le problème de passage à l'échelle reste, donc je pensais migrer vers une autre base un peu plus à l'aise de ce côté là. J'ai entendu parler de Mysql Embedded dans mes lectures sur Amarok, mais pas vraiment trouvé de tutos, ni de liens de téléchargement... tout au plus un paquet ubuntu, ce qui ne m'aide pas vraiment sous Arch... Tentation n°2 : J'abandonne le côté embarqué, et je décide de passer la base en ligne. Problème n°2 : J'ai maintenant plusieurs utilisateurs, chacun avec sa base qui prend de l'ampleur, et je me vois mal mettre tout ça en ligne... Un utilisateur = une base locale, c'était séduisant... Tentation n°3 : Ca m'énerve et je refais tout en C++ et Qt... Problème n°3 : Oui mais non, ça ferait vraiment trop de boulot ! Je conçois que j'ai quelques problèmes d'architecture, mais vu que ce n'est pas vraiment (mais du tout) mon métier à la base... Quoiqu'il en soit, si quelqu'un connait une base : - facile à déployer sur Windows, Linux, MacOS (sans embêter l'utilisateur avec de l'admin... de ce point de vue sqlite était top !) - qui gère bien les accès concurrents - qui ne mets pas 2 minutes pour rapatrier les 50.000 résultats d'une requête de rien du tout dans ma plus grosse table (bien indexée qui plus est) - qui fonctionne avec Sqlalchemy, ou du moins Python Des idées ???

AltStyle によって変換されたページ (->オリジナル) /