IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQLite Discussion :

qui connait sqlite ?


Sujet :

SQLite

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Par défaut qui connait sqlite ?
    www.sqlite.org

    qui l'a déjà utilisé et qu'est ce qu'il en pense ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut Re: qui connait sqlite ?
    Citation Envoyé par www.sqlite.org
    Implements most of SQL92. (Features not supported)
    Ils sont gonfles
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre Expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Par défaut
    oui on note aussi
    ...are parsed but they are not enforced...


    Par contre qui s'en ai déjà servi. J'ai l'impression que c'est pire que ocelot en terme de possibilité...

  4. #4
    Membre éclairé Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par défaut
    Salut je fais remonter ce thread car je m y interesse en ce momment ,

    j ai une base de données MySQL dont je souhaiterais me servir dans une appli C++ en embarqué ( comme SQLLite)

    j aimerais du SQL car ma base d origine est en MySQL et donc il faudrait une conversion simple (sqlite etais bien pour ca) et je n ai pas besoin de commandes SQL tres evolués ( juste des simple SELECT avec qq clauses WHERE ...)

    donc si qq un connait SQLite ou à autre chose a me conseiller ...

    Merci

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2003
    Messages : 170
    Par défaut
    Arf
    je fait les dents dessus
    c'est pas mal
    y manque les commandes update
    les cle etrangéres
    la gestion des dates c'est pas le top vu qu'il stock en string
    les chiffres à virgule c'est la misere aussi si on utilise le separateur décimal ','
    je l'utilise en Delphi avec le composant de aducom

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    Par défaut
    Bonjour,

    Je l'utilise avec C++Builder.
    Au niveau des possibilités, c'est peut être pas top (ça me suffit), mais ce système est robuste, et totalement gratuit.
    j'aime...

    Note : mes BD ne sont pas très volumineuses en général.

    Sly.

  7. #7
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2
    Par défaut autres informations?
    bonjour,

    savez vous si en sqlite, il est possible de synchroniser et/ou repliquer plusieurs bases?

    ce qui m'interesse c'est la synchronisation de plusieurs bases

    j'ai vu qu'en mysql cela était possible avec les fonctions de réplication et les notions maitre/esclave

    merci

  8. #8
    Membre averti

    Inscrit en
    Décembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 49
    Par défaut
    juste une petite question , est qu'il existe d'autre manager pour sqlite que "sqlite manager" (qui ne nécéssite pas l'installation de php) merci d'avance

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 44
    Par défaut
    Salut,
    Je m'intéresse aussi à SQLite.
    Je ne peux pas répondre à mumuri, je ne connais que l'appli php clone de phpmyadmin pour sqlite....dsl
    Par contre, j'envisage d'utiliser SQLite pour une base de donnée appellée à grandir de façon linéaire, avec, en surestimant, 10'000 lignes de plus par année dans une table. () taille typique d'une ligne 5-50kb ?
    Quand je lis :
    Very large datasets

    When you start a transaction in SQLite (which happens automatically before any write operation that is not within an explicit BEGIN...COMMIT) the engine has to allocate a bitmap of dirty pages in the disk file to help it manage its rollback journal. SQLite needs 256 bytes of RAM for every 1MB of database. For smaller databases, the amount of memory required is not a problem, but when database begin to grow into the multi-gigabyte range, the size of the bitmap can get quite large. If you need to store and modify more than a few dozen GB of data, you should consider using a different database engine.
    [edit : il faut que j'apprenne à lire.... enfin la question qui reste est : peut-on éviter ce "rollback journal" ?

  10. #10
    Invité de passage
    Inscrit en
    Août 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1
    Par défaut J'ai connu SQLite par la réalisation de PHARMAlibre
    J'ai réalisé un progiciel de gestion de pharmacie avec PHP5/SQLite mais je l'ai testé seulement sous Windows. J'ai quand même eu de bons résultats : Rapidité, Facilité de programmation et de maintenance de la base, Simplicité d'exploitation,....

    A propos, je recherche un hébergeur gratuit supportant PHP 5 / SQLite pour pouvoir faire tester mon appli en ligne par tout le monde.

  11. #11
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut Re: J'ai connu SQLite par la réalisation de PHARMAlibre
    Citation Envoyé par ashraf
    J'ai réalisé un progiciel de gestion de pharmacie avec PHP5/SQLite mais je l'ai testé seulement sous Windows. J'ai quand même eu de bons résultats : Rapidité, Facilité de programmation et de maintenance de la base, Simplicité d'exploitation,....

    A propos, je recherche un hébergeur gratuit supportant PHP 5 / SQLite pour pouvoir faire tester mon appli en ligne par tout le monde.
    Je cherche quant à moi un tutoriel en français basique pour utiliser sqlite.
    J'ai fait un essai tout simple en ligne de commande, mais je voudrais connaitre la commande qui permet de faire exécuter un programme qui contient les commandes sqlite.

  12. #12
    raphdatcom
    Invité(e)
    Par défaut
    Citation Envoyé par enicnath
    Je cherche quant à moi un tutoriel en français basique pour utiliser sqlite.
    J'ai fait un essai tout simple en ligne de commande, mais je voudrais connaitre la commande qui permet de faire exécuter un programme qui contient les commandes sqlite.
    c'est ce que je cherche aussi, un tutoriel basique pour utiliser sqlite ... en français de préférence ... mais je vais pas faire le difficile ...

    si quelqu'un peut me donner un coup de pouce

  13. #13
    Xyo
    Xyo est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Par défaut
    Moi j'utilise SQLite mais quand local quoi, je m'en sers plus comme fichier de sauvegarde. Pas trop pousser mais bien suffisant pour beaucoup de projet, j'aime bin moi ^^

  14. #14
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    Oui c'est sympa SQLite... j'ai decouvert il n'y a pas si longtemps.
    Tant pour l'utilisation "normale" qu'en C (par exemple)
    Le seul probleme est qu'il n'y a pas de verification des contraintes d'integrite.
    Et un deuxieme probleme est son utilisation par plusieurs thread... ca pose probleme vu que la DB est cree a partir d'un seul fichier.
    Sinon leur site est pas mal fait, il y a une tres bonne documentation (en anglais c'est vrai... mais c'est de l'anglais technique assez accessible )

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 28
    Par défaut
    Déjà bidouillé un peu en Python et Ruby. C'est bien chiant de pas pouvoir virer des colonnes quand même...

  16. #16
    Inactif
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    Bonjour,

    J'utilise SQLite et, jusqu'à présent, j'en suis très satisfait.

    Mekkisoft

  17. #17
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 88
    Par défaut python-sqlite
    bonjour à tous

    je voulais savoir si quelqu4un utilise sqlite avec python et comme ça marche?
    avez vous des liens à communiquer?
    peut-on l'utiliser en mobile 6?
    et avec delphi 2006?

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut Utiliser ou ne pas utiliser SQLite, là (n') est (pas) la question
    Ca fait un an ou deux que j'ai commencé à l'utiliser, pour une raison simple : pas d'autre choix (ouais, les boules au début, tu as tes habitudes sur mysql et... non faut réapprendre un autre truc ), c'était isolément et pour une toute petite application... Maintenant je n'utilise plus que ça ! bref, je me dis que c'est le moment de partager un peu tout ce que j'en pense.

    J'ai donc fait des bench pour voir un peu ce que ça donne, en plus d'un feeling général, sqlite2 est très robuste mais c'est pas franchement un foudre de guerre question vitesse, enfin ça reste suffisant pour... 98% des applications. Par contre sqlite3 place la barre très très haut en terme de performances, au moins aussi robuste que son petit frère, aussi (ou plus) rapide que myisam (une sacré référence en terme de rapidité, pas comme le innodb...) en écriture, et carrément 2 à 3 fois plus rapide en lecture peu importe la taille de la base ! attention toutefois aux requêtes trop compliquées (jointures en folies) pour lesquelles les résultats peuvent être assez différents.

    Au final SQLite3 convient efficacement pour quasiment toutes les applications (on laisse les 2% qui reste à oracle et ses potes) pour peu qu'on soit pas trop exigent sur l'interface d'administration de la base... (faut quand même avouer que c'est pas le pérou, bon perso j'utilise sqliteman sous ouinedoze et pour le web, j'ai fait ma propre appli...)

    Il est souvent dit que le talon d'Achille de SQLite est la question des accès concurrents, c'est plus vraiment vrai (je manque de recul pour savoir exactement où une base tunée à mort va cracker mais c'est clairement très au delà de 100 accès concurrents en écriture/seconde sur une machine correcte). SQlite3 a amené de bonnes améliorations dans la gestion des accès concurrents. En fait la base est lockée une fraction de seconde pendant un commit, là est le principal problème.

    Il y a deux moyens de contourner ce problème :
    - stocker chaque table dans un fichier séparé, ainsi seules les tables en cours d'écriture sont lockées au lieu de locker toute la base.
    - la mise en attente. Ca peut sembler évident, sauf que par défaut, si une requête SQLite est confrontée à un lock, elle retourne une erreur ! Ca parait dingue, et pourtant c'est vrai. Cela dit, le mécanisme de mise en attente est implémenté (il ne fonctionne vraiment bien que depuis les versions très récentes de sqlite, ça peut sembler incroyable que ce point crucial n'est pas été mieux traité, mais le projet sqlite a eu jusqu'à peu pour seule ambition de remplacer avantageusement les fichiers de configuration !!), il suffit de l'activer via la fonction sqlite3_busy_timeout.

    Malgré tout, il manque encore un élément franchement essentiel pour faire face à un gros trafic : le cache. SQLite ne peut pas, par conception, conserver des résultats de requête d'un client pour les clients suivant. Dans l'avenir, on peut imaginer que ça change (au hasard grâce à un démon genre sqlite_cache chargé de faire passerelle entre les connexions), en attendant il faut faire sans.

    Mais là aussi, il existe des moyens de palier à ce vide cruel via une solution de cache externe qui dépendra de l'environnement de développement.

    Enfin, question performances pures, sqlite3 étant parfaitement journalisé (garantie super solide de l'intégrité de la base en cas de coupure brutale de courant), il est inutile de cumuler cette aptitude avec les fonctions de journalisation du système de fichier. En effet, les perf de sqlite sont assez dépendantes des perf du système de fichier, il vaut mieux que ce dernier soit très rapide => je préfère donc du ext2 à du ext3 pour stocker les bases. D'autre part, pour certaines opérations répétitives telles que des batch d'inserts par centaines de milliers, on pourra avantageusement désactiver ponctuellement totalement la journalisation, la synchronisation et travailler en ram (sans filet donc !) :
    PRAGMA journal_mode = off; PRAGMA synchronous = 0; PRAGMA temp_store = 2;
    En conclusion, avec l'intégration dans php 5.3, sqlite est en passe de devenir une solution formidable même si pour l'heure elle nécessite encore quelques "bons réglages" ou "adaptations plus ou moins lourdes" pour vraiment la mettre en face d'un sgbd traditionnel. Autrement dit, non geek s'abstenir.
    Pour info SQlite est la base de données la plus diffusée dans le monde (un certain nombre d'applications l'utilise en interne, dont Firefox, ceci explique cela )

    Pour la petite histoire, concrètement j'utilise sqlite3 avec un php 5.3.1 recompilé auquel j'adjoins xcache pour lequel j'ai développé une petite classe de gestion de cache aux petits oignons, le tout avec lighty pour servir le peuple . Pour ceux que ça intéresse, php est recompilé car la prise en charge de sqlite3 dans php n'est pas encore tout à fait complète (pas d'accès à la fonction sqlite3_busy_timeout), voici la petite modif qui transcende la bêêête :
    fichier : php-5.3.1/ext/sqlite3/sqlite3.c
    fonction : PHP_METHOD(sqlite3, open)
    insérer à la ligne 149 (juste avant db_obj->initialised = 1;) :
    sqlite3_busy_timeout(db_obj->db, 30000); // Timeout de 30000 millisecondes, soit 30 secondes
    et hop on recompile, exemple très basique:
    $ rm configure
    $ ./buildconf --force
    $ CFLAGS="-O2 -march=native" ./configure --prefix=/usr --with-libxml-dir=/usr/lib --with-iconv-dir=/usr --with-pdo-mysql=/usr --with-mysql=/usr --without-pear --disable-ipv6 --with-zlib --enable-mbstring
    $ make
    $ sudo make install
    Pour ceux qui veulent jeter un oeil et trouver l'inspiration pour se bricoler un cache de requêtes, c'est par là que ça se passe :
    http://xcache.lighttpd.net/wiki/XcacheApi

  19. #19
    Invité
    Invité(e)
    Par défaut
    chapeau becoupama

    C# et PHP sont par nature très différents. Tu as travaillé sur les accès concurrents, moi je les ai exclus mais en ttt de signal, la perf est vraiment importante, pas question de récupérer un message d'erreur et le bouton reload n'est pas entré dans les moeurs

    tu devrais faire un tuto

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut projet de tuto
    salut,
    un tuto ? dis moi ce qui te servirait et je vais voir si je peux faire un tuto potable

Discussions similaires

  1. [XUL] qui connait ? qui utilise ?
    Par gorgonite dans le forum Autres langages pour le Web
    Réponses: 6
    Dernier message: 15/06/2006, 09h41
  2. Interface JMAGICK ? Qui connait ? (compression image)
    Par ionix dans le forum Multimédia
    Réponses: 5
    Dernier message: 04/05/2006, 16h14
  3. Réponses: 6
    Dernier message: 10/04/2006, 14h41
  4. qui connait suipack?
    Par judor31 dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 31/03/2006, 11h43
  5. Qui connait Putty ?
    Par viny dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 26/03/2004, 23h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo