Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Legi sous PostgreSQL? #69

Open
eric-lemesre opened this issue Sep 14, 2019 · 4 comments
Open

Legi sous PostgreSQL? #69

eric-lemesre opened this issue Sep 14, 2019 · 4 comments

Comments

@eric-lemesre
Copy link

Bonjour,

est-il prévu de mettre legi sous une autre base de donnée que SDLite

@Changaco
Copy link
Member

Oui et non, je l'envisage depuis longtemps mais ce n'est pas une priorité, je ne suis même pas convaincu que ce soit une bonne idée.

Le fork https://github.com/SocialGouv/dila2sql gère à la fois PostgreSQL et SQLite.

@eric-lemesre
Copy link
Author

eric-lemesre commented Sep 16, 2019 via email

@Changaco
Copy link
Member

Gérer plusieurs variantes de SQL nécessite d'ajouter une couche d'abstraction ou de dédoubler certaines requêtes, ça a un coût en temps de développement et de maintenance et ça peut avoir un impact sur les performances.

@Seb35
Copy link
Member

Seb35 commented Jan 11, 2020

J’ai testé le fork dila2sql (qui m’intéressait pour la gestion de JORF, cf #54). Le schéma SQL est le même. Sur les performances (critère qui m’importe), je suis déçu : sur une base SQLite, dila2sql importe à 40 records/s (avec DILA2SQL_MAX_PROCESSES=1 pour éviter la concurrence entre processes sur une même base SQLite) alors que legi.py importe à 5000 records/s.

En mode synchrone, dila2sql crée des transactions et commite à chaque record, j’ai essayé de commiter une fois sur 20, et la vitesse augmente à 50 records/s. dila2sql utilise peewee, j’imagine que c’est en grande partie le responsable puisque le code de lecture du .tar.gz et du XML est en grande partie pareil, même s’il y a un peu plus d’instructions pour gérer les spécificités de KALI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants