Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Python et Firebird embarqué

23 réponses
Avatar
Bogdahn
Bonjour,

J'ai dans l'idee de developper une petite application de gestion en
python. Il y a 12 tables pour l'instant et je comptais utiliser Sqlite
que je trouve tres sympa et qui je trouve s'accorde bien avec python,
mais sqlite ne gere pas les FK, faut les coder en trigger, c'est type
less etc, donc j'ai fini par lacher l'affaire et me tourner vers
firebird (pour ceux qui ne connaissent pas trop c'est un SGBD basé sur
Interbase 6 opensource de borland), le SGBD en lui même répond a toutes
mes attentes et meme plus...
En utilisant un sgbd client serveur je perdais l'interet du fichier
unique sqlite et de son architecture non C/S, ce que je trouvais
parfait pour ma petite appli dont la base de donnée ne sera pas
attaquée par plusieures personnes. Firebird propose une version
Desktop, c'est a dire un fichier unique piloté par une DLL (à la sqlite
donc), c'est donc avec interet que je me suis tourné vers cette
solution pour l'environnement windows (partant du fait que les
utilisateurs winwin n'aiment pas trop avoir à installer un serveur, que
c'est disproportionné etc et que les utilisateurs unix ont des chance
d'avoir une base de donnée déja installé et peut etre meme Firebird
justement).

Là je me heurte a un probleme : les dev python qui attaquent le sgbd
desktop firebird, j'en ai pas trouvé :)

Je pense que pour les utilisateurs linux de mon application, ca ne
devrait pas trop poser de probleme, je leur laisse la possiblité de
configurer eux meme leur sgbd et ca roule en utilisant Python Database
API, par contre je ne sais pas trop comment faire pour utiliser la
version desktop de firebird sous windows, donc je cherche des retours
d'expérience.

Si vous avez une solution pour faire un truc unique pour les deux
cibles (windows et unices) je suis intéréssé, par contre il faut que ca
reste sur un modele relationnel.

Ma question est donc : comment attaquer firebird desktop avec python
sans partir dans du win32.

Merci :)

3 réponses

1 2 3
Avatar
MCI, Shadok Gouroudoudou
'soir !


avany ... et framboise



Je n'avais pas osé cette Lapointe d'humour...




--
@-salutations

Michel Claveau


Avatar
Pierre Quentel
On 21 mai, 18:49, Laurent Pointal wrote:
MCI, Shadok Gouroudoudou wrote:
Pierre Quentel, qui passe par ici de temps à autre, avait d'ailleurs
réalisé une classe pour gérer ce genre de choses.
Certes, il n'y a pas de SQL, mais il utilise les listes en intention
pour effectuer des requêtes.
Ce petit module pourrait servir de base (je crois que son nom était
PyDBlite, ou qq chose comme ça).


buzhug

http://buzhug.sourceforge.net/

Mais je crois qu'il n'a pas prévu de le developper plus avany.


Bonjour,

Avany mise à part, je continue de maintenir buzhug et PyDbLite, mais
comme il n'y a pas de demande d'évolution ni de signalisation de bugs
je ne sors pas de nouvelle version

Les deux sont des moteurs de bdd en pur Python avec une syntaxe de
requête basée sur les "list comprehensions" au lieu de SQL

PyDbLite charge toute la base en mémoire (comme Gadfly), ce qui la
rend très rapide mais limite forcément la taille à quelques Mo ;
buzhug gère les données sur disque

Les deux sont nettement plus rapides que les autres bdd en pur Python
que j'ai testées : gadfly et KirbyBase. Elles sont forcément moins
rapides que SQLite qui est écrit en C, environ d'un facteur 3. J'ai
fait une comparaison des performances respectives de buzhug, gadfly,
KirbyBase et SQLite ici : http://buzhug.sourceforge.net/performance.html

A+
Pierre


Avatar
Méta-MCI
Bonjour !

Intéressant.

Je ne connaissais pas buzhug. Quand les journées auront 35 h., j'aurais
certainement le temps d'y jeter un oeil.
Mais, AMHA, les SGBD sur disques, même purement Python, vont se heurter à
beaucoup de logiciels fonctionnellement plus riches.

Sinon, j'avais envie de faire quelques tests d'intégration de PyDbLite et de
PLUIE (mon GUI basé sur IE ; http://ponx.org/ponx/guie.htm).

Juste pour voir. Qu'en penses-tu ?

@+

MCI
1 2 3