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

Bases de données Delphi Discussion :

Choix SGBD pour application Delphi


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Points : 39
    Points
    39
    Par défaut Choix SGBD pour application Delphi
    Bonjour, j'aimerai savoir qu'est ce que vous recommandez comme SGBD pour une application Delphi, avec une base de données sur un serveur Windows 2003, une dizaine de client qui s'y connecte en windows XP.
    Une base de taille raisonable, avec une quarantaine de tables et au pire 500.000 enregistrements dans la plus grande table...

    P.S : C'est pour migrer une appli faite avec Access, pour accéder à des procédures stockées, triggers etc...
    J'aimerai MySQL, mais n'est ce pas plus dédié aux applis web ?

  2. #2
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 67
    Points
    67
    Par défaut
    Personnellement j'utiliserai SQL Server

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par sofiane1111 Voir le message
    Personnellement j'utiliserai SQL Server
    Pour SQL server il faut une license car la version Express ne permet que 5 connexions simultanées.

    Sinon MySQL pourquoi pas, pour 500 000 enregistrements c'est encore jouable sans ralentissement. (faut bien optimiser les requetes)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Points : 218
    Points
    218
    Par défaut
    Firebird
    @+

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Points : 39
    Points
    39
    Par défaut
    Merci de vos réponses, mais j'aurais aimé avoir un peu plus d'explication...
    Genre comment est géré la connection à la BDD, pourquoi la solution là, le cout etc...

    Par exemple la réponse de Rayek est très intéressante. Merci d'ailleurs.

    P.S : Firebird j'ai essayé ça à l'air imbuvable, y a des clients ou c'est de la pure ligne de code ? Je pense me diriger vers MySQL, quelqu'un à une expérience à partager en Delphi / MySQL ça m'intéresse.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 735
    Points : 807
    Points
    807
    Par défaut
    Citation Envoyé par jesusnavas Voir le message
    P.S : Firebird j'ai essayé ça à l'air imbuvable, y a des clients ou c'est de la pure ligne de code ? Je pense me diriger vers MySQL, quelqu'un à une expérience à partager en Delphi / MySQL ça m'intéresse.
    si Firebird est compliqué pour une utilisation avec Delphi, il est de mon devoir de te conseiller d'arrêter le développement

    Sinon, pour être plus sérieux : Firebird est très facile a utilsé avec Delphi. Tu peux utiliser plusieurs connecteurs (dbexpress, UIB ou même IBX). Tu peux aussi utiliser des outils comme IBExpert (ou SQLManager (dispo aussi pour MySQL et bien mieux que le MySQL Browser)) pour créer ta base : la version personnel est déjà très bien.
    MySQL est moins simple à gérer, ne permet pas de backup à chaud et si tu veux faire un peu d'administration de ta base dans ton soft : tu dois investir dans des composants.

    En plus MySQL n'est pas gratuit si tu veux vendre ton appli.

    il y a un sujet la dessus ici :
    http://www.developpez.net/forums/showthread.php?t=26493

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par VLDG Voir le message
    MySQL est moins simple à gérer, ne permet pas de backup à chaud et si tu veux faire un peu d'administration de ta base dans ton soft : tu dois investir dans des composants.
    Tu peux préciser ces points la ???
    Qu'est ce que tu appels des backups à chaud ?
    Faire de l'administration, que veux tu dire par la ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    Personnellement j'utiliserai Firebird.

    1- Gratuit.
    2- Complet et performant.
    3- Facile à utiliser dans Delphi, les composant dbexpress étant vraiment bien (uib, j'en entend beaucoup de bien mais je ne connais pas).
    4- La DB est facile à manager (il existe même des outils gratuit pour scheduler des backup).

    PS : un bon conseil, achète le livre Firebird c'est un excellent ouvrage et un bon investissement).

    Firebird j'ai essayé ça à l'air imbuvable


    Firebird se gère pratiquement comme un DB de type Interbase. Avec des outils comme ibexpert ou database Workbench tu gère ta DB de A à Z les doigts dans le nez...
    Tu peux le faire, tu veux le faire tu vas le faire Bref, soyons positif

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par dd_garion Voir le message
    Bonjour,

    Personnellement j'utiliserai Firebird.

    1- Gratuit.
    2- Complet et performant.
    3- Facile à utiliser dans Delphi, les composant dbexpress étant vraiment bien (uib, j'en entend beaucoup de bien mais je ne connais pas).
    4- La DB est facile à manager (il existe même des outils gratuit pour scheduler des backup).

    PS : un bon conseil, achète le livre Firebird c'est un excellent ouvrage et un bon investissement).



    Firebird se gère pratiquement comme un DB de type Interbase. Avec des outils comme ibexpert ou database Workbench tu gère ta DB de A à Z les doigts dans le nez...
    Pour ma part je déconseillerai l'utilisation de firebird avec les composants DBExpress a un débutant, car la notion d'unidirectionnalité des composants DBExpress est difficile quand on est débutant.

    Pour le moment en fonctionnement simple je lui dirais plutot d'utiliser soit :
    • MYSQL + Drivers ODBC + Composants ADO.
    • MYSql + Composants spécifique (genre MyDac : attention composants payants)
    • SQL Server + Composants ADO.
    • SQL Server + Composants spécifique (j'en connais pas mais ca doit exister des composants payants spéciaux pour SQL Server)


    Après il lui reste l'histoire du coups qu'il peut mettre dans la SGBD et les composants.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Points : 192
    Points
    192
    Par défaut
    Hello Rayek,

    Evidemment, j'oubliais le problème d'unidirectionnalité étant donné que mon promoteur de l'an dernier m'avait montré comment détourner ce problème en passant par des clientDataset et datasetprovider

    Les composants UIB pose t'il le même inconvénient ?

    Il doit être possible de travailleur en Ado avec Firebird, non ?

    Il est vrai que je privilègie le gratuit quand je peux...
    Tu peux le faire, tu veux le faire tu vas le faire Bref, soyons positif

  11. #11
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par dd_garion Voir le message
    Les composants UIB pose t'il le même inconvénient ?
    Aucune idée je n'utilise pas UIB

    Citation Envoyé par dd_garion Voir le message
    Il doit être possible de travailleur en Ado avec Firebird, non ?
    S'il existe des drivers ODBC, oui sans problème.

    Citation Envoyé par dd_garion Voir le message
    Il est vrai que je privilègie le gratuit quand je peux...
    Pareil, mais parfois il n'y a pas le choix si l'on veut du simple et/ou fiable
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  12. #12
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2002
    Messages : 144
    Points : 157
    Points
    157
    Par défaut
    Pour un developpement (delphi + base de données) pur, propre, efficace et simple, il n'y a pas photo, c'est le trio UIB, Firebird, Delphi. Je travaille dans une tres grande entreprise, et dans mon usine nous n'utilisons que cette solution. Cela plusieurs années que c'est comme cela, et nous n'avons eu aucun probleme (perte de données, temps de réponse, sauvegarde, restauration), que du bonheur en gros... ;-). Avant nous utilision DB2/400 et/ou MsAccess.... Je ne regrette pas ce temps là...

    C'est vrai que cette solution est unidirectionnelle, mais vous verrez à la longue, cette restriction vous permettra de developper des applis stables et optimisées...
    Il faudra abuser des requetes SQL, ce n'est pas compliqué... et remplir les controles associés "à la main"... Grace à cela, vous pourrez utiliser des controles non prevu pour etre connectés à des dataset... Perso, j'utilise enormenent la VirtualTreeview, qui permet de faire des listes, des grilles vraiment performantes et agréables.

    Voila, voila

    Bon dev,

    A+

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 735
    Points : 807
    Points
    807
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Tu peux préciser ces points la ???
    Qu'est ce que tu appels des backups à chaud ?
    Faire de l'administration, que veux tu dire par la ?
    un backup à chaud : c'est la possibilité de faire une sauvegarde de la base quand d'autres connections sont actives. ça existe aussi sur Postgres (depuis qu'ils se sont inspiré du source de Firebird) et chez MySQL (InnoDB seulement http://www.innodb.com/hot-backup/ mais payant )

    "faire de l'administration" : c'est en effet un bien grand mot mais c'est justement la possibilité de pouvoir gérer facilement dans son appli ce genre de chose (backup, restore, etc ...)

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 052
    Points : 40 991
    Points
    40 991
    Billets dans le blog
    62
    Par défaut
    Moi aussi je dirais Firebird .
    de plus il suffit de voir les résultats du sondage pour en être convaincu.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  15. #15
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par VLDG Voir le message
    un backup à chaud : c'est la possibilité de faire une sauvegarde de la base quand d'autres connections sont actives. ça existe aussi sur Postgres (depuis qu'ils se sont inspiré du source de Firebird) et chez MySQL (InnoDB seulement http://www.innodb.com/hot-backup/ mais payant )

    "faire de l'administration" : c'est en effet un bien grand mot mais c'est justement la possibilité de pouvoir gérer facilement dans son appli ce genre de chose (backup, restore, etc ...)
    Vu que le serveur sera sous windows, je pense que le mieux pour lui serait d'utiliser EasyPHP, et le "hot-backup" ne sera pas vraiement très difficile, une copie du répertoire de la base de données dans un autre endroit ne sera pas très difficile.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 735
    Points : 807
    Points
    807
    Par défaut
    Citation Envoyé par Rayek Voir le message
    une copie du répertoire de la base de données dans un autre endroit ne sera pas très difficile.
    tu le fais souvent ?

    Pour ma part, sur une base qui possède des connexions actives : je pense qu'il est très dangereux de conseiller de faire des copies comme cela. Il y a un risque que l'intégrité de ta base soit endommagé.

  17. #17
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par VLDG Voir le message
    tu le fais souvent ?
    Non car mon PC sous windows avec du MySQL n'est qu'un PC de test.
    Et que je fais des images ghost du PC tous les jours à midi et que le seul avec du MYSQL qui tourne vraiment est sur un serveur dédié avec tout le nécessaire que fournisse les hébergeurs ^^

    Citation Envoyé par VLDG Voir le message
    Pour ma part, sur une base qui possède des connexions actives : je pense qu'il est très dangereux de conseiller de faire des copies comme cela. Il y a un risque que l'intégrité de ta base soit endommagé.
    En quoi cela endommagerai l'intégrité de la table, vu que l'on n'écrit rien sur les tables et que l'on fait juste une copie de ces dernières à un instant T.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Points : 218
    Points
    218
    Par défaut
    +1 pour VLDG

    il ne faut pas faire de copie de base alors que des connections sont actives
    si le risque d'endommager la base de données initiale est assez faible le risque que le backup ne soit pas une base valide est important

    (si plusieurs fichiers doivent être mis a jour sur le disque il est possible que l'un soit déjà écrit et pas encore l'autre)

    ta sauvegarde risque d'être inutilisable et le jour ou tu auras besoin de restaurer le backup ...

    la base FIREBIRD est un vrai SGBDR qui gère correctement les clés étrangères, les triggers, les procédures stockées, la deletion suppression mise a jour d'enregistrement en cascade permet de faire des backup a chaud avec l'utilitaire GBACK

    firebird est gratuit, gère le SQL standard, est le descendant direct d'interbase (la base de borland qui à créée delphi)

    alors que par exemple pour mysql les clés étrangères cela donne général des magouilles assez horribles sur les triggers

    les seuls manques de FIREBIRD sont selon moi

    la recherche FULL TEXT (il suffit de faire une copie du champ en majuscule)
    la réplication des bases (il suffit de faire un gback et restaurer la sauvegarde)
    la distribution sur plusieurs serveurs (la faut déjà vraiment en avoir besoin)

    mysql c'est plutôt répandu comme base pour des serveurs web (hébergeur linux=>gratuit) mais pas vraiment pour des applications standard "non web"
    @+

  19. #19
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 50
    Points : 39
    Points
    39
    Par défaut
    Voilà une réponse complète et intéressante, merci WolffN.

    Donc il me reste plus qu'à me mettre à Firebird à vous entendre.
    Je me permettrai juste de vous demander encore si il y a un client pour Firebird qui permet d'avoir une interface graphique minimum, j'ai entendu dire IB Expert, mais impossible de trouver une version téléchargeable, tous les liens de téléchargements que j'ai trouvé sont hors service.
    Y en a-t-il d'autres ?

  20. #20
    GO
    GO est déconnecté
    Membre régulier Avatar de GO
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    Rien ne t'empêche d'utiliser les bases de données du BDE comme Paradox par exemple qui est très utilisé pour les bases locales. Mais peut l'être aussi pour une base distante en utilisant des Alias.
    La licence Delphi te permet de publier une base paradox avec ton appli et à moindre coût (prix d'une licence Delphi).
    Pour l'administration - restreinte dans ce cas - tu peux toujours utiliser le Module de bases de données et l'administrateur BDE.
    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Choix d'un SGBD pour application métier (Web)
    Par Neilime05 dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 14/11/2011, 18h42
  2. Choix SGBD pour gérer des fichiers Excel et des images ?
    Par benoit69 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 01/03/2007, 12h02
  3. Choix SGBD pour l'envoi d'e-mails ?
    Par toto14 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/02/2007, 10h43
  4. Choix SGBD pour un intranet
    Par Balbuzar dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 03/06/2005, 17h04
  5. Choix port pour application client-serveur
    Par Tiaps dans le forum Développement
    Réponses: 7
    Dernier message: 15/03/2004, 09h49

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