Discussion:
Quelle base de données ?
(trop ancien pour répondre)
Nicolas
2018-03-02 12:59:33 UTC
Permalink
Bonjour,

Je suis à la recherche d'une base de données pour un projet maison.
J'utilise déjà une base de données spécifique écrite en python mais je
vais avoir besoin de mieux.
Quelques specs :
- De type NoSql
- Vitesse d'écriture sans importance
- Vitesse de lecture (avec filtrage) élevée
- Peut contenir plusieurs dizaines de milliers d'enregistrements
- Doit gérer les blobs (binaire)
- La taille de la base peut faire plusieurs Go
- De préférence, enregistrement de la base sur un fichier (local)
- De préférence, pur python (ou python + dll), c'est à dire sans serveur
- Toujours maintenue (il y en a pas mal sur PiPy mais qui ne sont plus
maintenues)

La plus connue est MongoDb mais tout se passe à travers un serveur. Cela
implique un niveau de complexité plus élevé.

J'ai commencé des essais avec ZODB (pur python) mais pas de filtrage
intégré, apparemment pas réussi à gérer les blobs correctement et doc
très succincte.

Avez-vous des propositions à me faire ?
Pierre Maurette
2018-03-02 18:07:21 UTC
Permalink
Post by Nicolas
Bonjour,
Je suis à la recherche d'une base de données pour un projet maison.
J'utilise déjà une base de données spécifique écrite en python mais je vais
avoir besoin de mieux.
- De type NoSql
- Vitesse d'écriture sans importance
- Vitesse de lecture (avec filtrage) élevée
- Peut contenir plusieurs dizaines de milliers d'enregistrements
- Doit gérer les blobs (binaire)
- La taille de la base peut faire plusieurs Go
- De préférence, enregistrement de la base sur un fichier (local)
- De préférence, pur python (ou python + dll), c'est à dire sans serveur
- Toujours maintenue (il y en a pas mal sur PiPy mais qui ne sont plus
maintenues)
La plus connue est MongoDb mais tout se passe à travers un serveur. Cela
implique un niveau de complexité plus élevé.
J'ai commencé des essais avec ZODB (pur python) mais pas de filtrage intégré,
apparemment pas réussi à gérer les blobs correctement et doc très succincte.
Avez-vous des propositions à me faire ?
Bonjour,
Je me suis posé à peu près la même question. J'ai pensé faire quelque
chose au-dessus de SQlite, mais beaucoup de travail pour une qualité
sans doute faible (mes compétences). J'ai cherché une base nosql
embedded. Je n'ai rien trouvé satisfaisant mes critères de qualité
putative: bonne réputation, bon Google soutien essentiellement, ceci
dans la version accessible (community, etc.).
Comme vous j'ai tiqué sur la nécessité d'un serveur. L'appli doit être
multiplateforme mais tourner en réalité en stadalone sur un poste
Windows. J'ai pensé - à tort - à l'installation d'un serveur de plus
sur une de machines Linux.
En parallèle, j'ai cherché nosql dans les modules Python, et via
Google. Cette recherche conduisait également vers MongoDB, avec des
trucs peut-être pas finis à coté.
Le choix de la BdD est quand même fondamental, mauvais on le traîne
pendant très longtemps. L'installation (un bien grand mot) d'un serveur
n'est peut-être pas une punition. Après tout, c'est ce que tout le
monde fait et ça ne nuit pas au succès de MongoDB.
J'ai donc téléchargé le binz, et l'ai installé *sous Windows* en
suivant la petite page de la doc officielle. Une demi-heure, cinq
minutes de plus pour installer en tant que service. Le serveur est donc
sous Windows, le test à partir de Python immédiat. On peut soit
utiliser la possibilité de "service", soit lancer le serveur avec
l'appli, en deux lignes, avec un chemin de fichier spécifique.

En fin de compte j'ai laissé tomber le front-end Python + Qt5 au profit
d'une appli Web (Symfony 4 que je devais prendre en mains, avec
Doctrine). Donc j'ai fini par installer le "serveur" sous Linux, mais
c'est très simple: un petit coup de apt-get install, une recipe ou un
bundle sous Symfony avec quelques retours aux apt-get explicités par
l'installeur sous Symfony.
--
Pierre Maurette
Nicolas
2018-03-06 08:28:24 UTC
Permalink
Bonjour Pierre,
Post by Nicolas
Post by Nicolas
Bonjour,
Je suis à la recherche d'une base de données pour un projet maison.
J'utilise déjà une base de données spécifique écrite en python mais je
vais avoir besoin de mieux.
- De type NoSql
- Vitesse d'écriture sans importance
- Vitesse de lecture (avec filtrage) élevée
- Peut contenir plusieurs dizaines de milliers d'enregistrements
- Doit gérer les blobs (binaire)
- La taille de la base peut faire plusieurs Go
- De préférence, enregistrement de la base sur un fichier (local)
- De préférence, pur python (ou python + dll), c'est à dire sans serveur
- Toujours maintenue (il y en a pas mal sur PiPy mais qui ne sont plus
maintenues)
La plus connue est MongoDb mais tout se passe à travers un serveur.
Cela implique un niveau de complexité plus élevé.
J'ai commencé des essais avec ZODB (pur python) mais pas de filtrage
intégré, apparemment pas réussi à gérer les blobs correctement et doc
très succincte.
Avez-vous des propositions à me faire ?
Bonjour,
Je me suis posé à peu près la même question. J'ai pensé faire quelque
chose au-dessus de SQlite, mais beaucoup de travail pour une qualité
sans doute faible (mes compétences). J'ai cherché une base nosql
embedded. Je n'ai rien trouvé satisfaisant mes critères de qualité
putative: bonne réputation, bon Google soutien essentiellement, ceci
dans la version accessible (community, etc.).
Comme vous j'ai tiqué sur la nécessité d'un serveur. L'appli doit être
multiplateforme mais tourner en réalité en stadalone sur un poste
Windows. J'ai pensé - à tort - à l'installation d'un serveur de plus sur
une de machines Linux.
En parallèle, j'ai cherché nosql dans les modules Python, et via Google.
Cette recherche conduisait également vers MongoDB, avec des trucs
peut-être pas finis à coté.
Le choix de la BdD est quand même fondamental, mauvais on le traîne
pendant très longtemps. L'installation (un bien grand mot) d'un serveur
n'est peut-être pas une punition. Après tout, c'est ce que tout le monde
fait et ça ne nuit pas au succès de MongoDB.
Nous avons eu à peu près la même démarche : Essais avec SQlite (que
j'utilise par ailleurs avec succès), recherche PyPi, recherche WEB...
Mon application est également "standalone" sous Windows.
Post by Nicolas
J'ai donc téléchargé le binz, et l'ai installé *sous Windows* en suivant
la petite page de la doc officielle. Une demi-heure, cinq minutes de
plus pour installer en tant que service. Le serveur est donc sous
Windows, le test à partir de Python immédiat. On peut soit utiliser la
possibilité de "service", soit lancer le serveur avec l'appli, en deux
lignes, avec un chemin de fichier spécifique.
Lancer le serveur à partir de l'application est une option intéressante.
Post by Nicolas
En fin de compte j'ai laissé tomber le front-end Python + Qt5 au profit
d'une appli Web (Symfony 4 que je devais prendre en mains, avec
Doctrine). Donc j'ai fini par installer le "serveur" sous Linux, mais
c'est très simple: un petit coup de apt-get install, une recipe ou un
bundle sous Symfony avec quelques retours aux apt-get explicités par
l'installeur sous Symfony.
De mon coté, pour l'interface, j'utilise WxPython.

Merci pour les infos, je vais investiguer du coté de MongoDB.

Nicolas

Continuer la lecture sur narkive:
Loading...