Adhérez à l'association pour voir des sections supplémentaires du forum et accéder à d'autres services.

PostgreSQL, MariaDB/MySQL ou SQLite ?

Accueil Forums HFSQL et autres BD PostgreSQL, MariaDB/MySQL ou SQLite ?

  • Ce sujet est vide.
Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #866
    Admin01_WxForum
    Maître des clés
        Up
        0
        Down
        ::

        Positionnement

        Dans les échanges, plusieurs bases ressortent comme candidates sérieuses :

        • PostgreSQL ;
        • MariaDB / MySQL ;
        • SQLite ;
        • éventuellement SQL Server, surtout dans une stratégie .NET.

        L’idée générale est claire : une migration durable passe souvent par un SGBD standard, mieux intégré aux écosystèmes C#, Python, PHP, Node.js, Xojo, Lazarus, Flutter ou autres.

        Il ne faut pas comparer uniquement les performances. Il faut comparer le mode de déploiement, les outils, la réplication, la sauvegarde, l’administration, le chiffrement, la facilité de migration et la compatibilité avec le futur langage choisi.

        Avantages

        PostgreSQL est un très bon choix général pour une migration professionnelle. Il est open source, robuste, très utilisé, bien documenté et compatible avec la plupart des frameworks modernes : Django, .NET, Node.js, Symfony, Go, etc. C’est souvent un bon candidat si l’on veut sortir de HFSQL vers une base sérieuse, durable et interopérable.

        MariaDB / MySQL est aussi recommandé “sans hésitation”. Un développeur indique avoir utilisé une base contenant des tables de 130 millions d’enregistrements pour des statistiques en grande distribution, sans problème. Un autre critère important cité est la maturité des outils de réplication.

        SQLite est très intéressant pour les applications locales, monopostes, autonomes ou portables. C’est une piste logique lorsqu’on veut remplacer HFSQL Classic dans des logiciels installés localement, sans serveur à administrer. Dans les échanges, une stratégie est évoquée : SQLite pour les applications monopostes, MySQL pour les applications multipostes avec serveur.

        SQLCipher est à considérer si l’on veut une base SQLite chiffrée et réutilisable en dehors d’un outil propriétaire. Dans les échanges, un intervenant explique préférer SQLCipher au chiffrement propriétaire proposé par Xojo, justement pour éviter une nouvelle dépendance à un outil de développement.

        Un autre avantage important des bases standard est l’ouverture. Dans l’écosystème .NET, par exemple, XPO et Entity Framework Core permettent de viser plusieurs SGBD du marché : SQL Server, PostgreSQL, MySQL, Oracle, SQLite, Firebird, DB2, etc. Cela change profondément la logique par rapport à HFSQL, qui reste étroitement lié à l’écosystème PC Soft.

        Inconvénients

        Le principal inconvénient est la perte de certains automatismes WinDev. Des outils comme WDMODFIC donnent l’impression que la modification de structure de base fait partie naturellement de l’environnement. Dans les bases standard, ce travail existe toujours, mais il passe par des scripts SQL, des migrations, des commandes ALTER TABLE, des outils spécialisés ou du code applicatif. L’historique rappelle clairement que cette logique dépend de la base utilisée, pas de l’EDI.

        Il faut aussi éviter de croire qu’on pourra écrire une application identique en changeant seulement le moteur de base. Le passage à PostgreSQL, MySQL/MariaDB ou SQLite implique d’apprendre une nouvelle manière de penser : SQL standard, transactions, index, contraintes, types, migrations, sauvegardes, restauration, droits, connexions, performances et déploiement.

        SQLite a des limites. C’est très pratique pour du monoposte ou de l’embarqué, mais ce n’est pas équivalent à un serveur SQL complet. Les échanges signalent que SQLite est plus simple, plus “primaire” selon certains participants, et que son SQL n’est pas identique à celui de MySQL. Vouloir maintenir simultanément SQLite et MySQL peut donc créer une charge supplémentaire.

        MySQL / MariaDB implique généralement l’installation ou l’administration d’un serveur. Ce n’est pas forcément adapté aux petits logiciels que l’on veut livrer dans un simple dossier sans installation.

        PostgreSQL est puissant, mais peut être plus exigeant pour des développeurs habitués à la simplicité. Il faut prévoir l’apprentissage des outils, des sauvegardes, des rôles, de l’administration et des migrations.

        À choisir si

        Choisissez PostgreSQL si vous voulez une base robuste, ouverte, très professionnelle, adaptée aux applications métier web, API, back-end, ERP, intranet, extranet, et si votre nouvelle stack est plutôt Django, .NET, Node.js, Symfony, Go ou Java.

        Choisissez MariaDB / MySQL si vous voulez une base éprouvée, très répandue, bien supportée par les hébergeurs, avec de bons outils, et si vous avez déjà une culture MySQL ou des besoins client/serveur classiques. C’est aussi une piste très crédible pour remplacer HFSQL Client/Serveur.

        Choisissez SQLite si vous faites du monoposte, du local, du portable, des petits outils, des applications distribuées simplement, ou si vous voulez éviter l’installation d’un serveur. C’est probablement le remplaçant naturel de certains usages HFSQL Classic, mais pas de tous.

        Choisissez SQLCipher si vous voulez les avantages de SQLite avec du chiffrement, tout en évitant un chiffrement propriétaire lié à un EDI particulier.

        Choisissez SQL Server si votre migration est fortement orientée Microsoft : C#, .NET, WPF, WinUI, Blazor, XAF, Entity Framework Core, infrastructure Windows Server ou Azure.

        Ressources

      Affichage de 1 message (sur 1 au total)
      • Le sujet ‘PostgreSQL, MariaDB/MySQL ou SQLite ?’ est fermé à de nouvelles réponses.

      Bienvenue sur le nouveau forum de l'association. Faites le connaître à vos collègues !     Welcome to the association's new forum. Let your colleagues know about it!

      X
      Wx Alliance - Forum
      Résumé de la politique de confidentialité/Privacy Policy Summary

      Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.

      This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.