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

C# Discussion :

Quelle base de données ?


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Points : 84
    Points
    84
    Par défaut Quelle base de données ?
    Bonjour

    je souhaite réaliser une application à but commercial qui utiliserait une base de données.

    cette base aurait 2-3 tables, dont une avec plus de 300 000 lignes ! (suivi production)

    quelle serait d'après vous la base la plus appropriée ? Access, SQL Server, Sql Compact, MySql, ou une autre post.... ?

    j'ai entendu dire que l'utilisation d'access est sans licence pour des applications commerciales, mais n'est-elle pas limitée dans la taille/le nombre de lignes ?

    merci

    @++

    KaloOopS

  2. #2
    Membre régulier Avatar de Anklor
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 76
    Points : 120
    Points
    120
    Par défaut
    Que l'on me corrige si j'ai faux, mais tu vendra un logiciel qui utilise la gestion d'une base de donnée. Cela sera donc à ton client de payer s'il le doit, une License.

    Maintenant, il y a des bases de données qui sont gratuite comme MySQL.

    il faut voir aussi si ton futur client à besoin d'une solution distante ou local, s'il possède un serveur, etc ...

    Le mieux reste encore que ton logiciel sache gérer plusieurs BD (MySQL, SQL Server,...) local et distante, si tu ne connais pas son choix.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Points : 84
    Points
    84
    Par défaut
    Bonsoir,

    ben disons que d'avoir une licence gratuite permet de ne pas l'intégrer dans l'offre de prix

    Citation Envoyé par Anklor Voir le message
    Maintenant, il y a des bases de données qui sont gratuite comme MySQL.
    il me semble que MySQL a une licence pour les versions commerciales (qui ne sont en pas sous GPL)

    source : http://www.mysql.com/about/legal/licensing/oem/
    The commercial license allows OEMs, ISVs and VARs to distribute commercial binaries of MySQL software with their own commercial software without subjecting that software to the GPL and its requirement to distribute source code.

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Clairement une base capable d'absorber de gros volumes (SQL Server, Oracle)

  5. #5
    Membre régulier Avatar de Anklor
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 76
    Points : 120
    Points
    120
    Par défaut
    d'après le texte, c'est simplement si tu distribues les données binaires de MySQL avec ton application. Je pense que rien ne t'empêche de le distribuer sans, et d'expliquer dans la notice d'utilisation de ton application, comment installer un serveur MySQL. A voir avec un spécialiste des licences GPL.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    300000 lignes, ce n'est pas un très gros volume... je ne connais aucun SGBD (à part peut-être Access) qui serait dépassé par si peu. A condition que la table soit bien indexée, tu peux en avoir encore beaucoup plus...

    Cela dit, ça commence quand même suffisamment gros pour que les SGBD très légers comme SQLite ou SQL Server Compact soient un peu sous-dimensionnés. Donc à mon avis le mieux est de s'orienter vers un SGBD serveur gratuit, comme MySQL ou PostgreSQL

  7. #7
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Citation Envoyé par tomlev Voir le message
    300000 lignes, ce n'est pas un très gros volume...
    Je chipote mais tout dépend de la ligne
    300000 blobs de quelques ko ca peut faire mal!

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Je chipote mais tout dépend de la ligne
    300000 blobs de quelques ko ca peut faire mal!
    ben la taille de la ligne a pas tellement d'importance en fait, sauf si tu veux charger toutes les lignes... mais dans ce cas c'est ton appli qui aura du mal, plutôt que la base

  9. #9
    Membre régulier Avatar de Anklor
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 76
    Points : 120
    Points
    120
    Par défaut
    Je sais pas si cela pourra t'aider davantage
    http://fadace.developpez.com/sgbdcmp/

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par Anklor Voir le message
    Je sais pas si cela pourra t'aider davantage
    http://fadace.developpez.com/sgbdcmp/
    ah sympa ce lien, vais mieux le regarder ...

    donc sinon pour résumer : 300-400000 lignes de 10 colonnes (essentiellement des double) ne posera aucun problème sur des bases non lite ?

    autre question : quelle est pour vous la base la plus facile à utiliser juste pour faire des insert et select ? sachant que j'ai déjà développé un bout d'appli en SQL Compact

    merci

    @++

    KaloOopS

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par KaloOopS Voir le message
    donc sinon pour résumer : 300-400000 lignes de 10 colonnes (essentiellement des double) ne posera aucun problème sur des bases non lite ?
    Ca ne poserait probablement pas de problème non plus sur des bases "lite", mais c'est sans doute plus sûr de prendre une base serveur, ne serait-ce que pour des raisons de scalabilité à long terme

    Citation Envoyé par KaloOopS Voir le message
    autre question : quelle est pour vous la base la plus facile à utiliser juste pour faire des insert et select ? sachant que j'ai déjà développé un bout d'appli en SQL Compact
    Bof, c'est un peu du pareil au même d'une base à l'autre... ça reste du SQL, qui est à peu près standardisé. Après chaque base a des instructions et fonctionnalités spécifiques, mais en général t'es pas trop dépaysé en changeant de SGBD

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par tomlev Voir le message
    scalabilité à long terme
    heu qu'est-ce que ca veut dire ???

    merci

    @++

    KaloOopS

  13. #13
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Citation Envoyé par KaloOopS Voir le message
    heu qu'est-ce que ca veut dire ???

    merci

    @++

    KaloOopS
    Etre capable d'absorber des plus gros volumes/etre plus sollicité

  14. #14
    Membre habitué Avatar de LeCygne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2010
    Messages : 91
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par tomlev Voir le message
    300000 lignes, ce n'est pas un très gros volume... je ne connais aucun SGBD (à part peut-être Access) qui serait dépassé par si peu. A condition que la table soit bien indexée, tu peux en avoir encore beaucoup plus...
    Pour information, une requête d'analyse croisée sous Access 2003 sur une table de plus de 600.000 lignes avec deux triples jointures sur des tables de petite taille se fait en moins d'une seconde (Les références sont des entiers longs).

  15. #15
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par LeCygne Voir le message
    Pour information, une requête d'analyse croisée sous Access 2003 sur une table de plus de 600.000 lignes avec deux triples jointures sur des tables de petite taille se fait en moins d'une seconde (Les références sont des entiers longs).
    Comme quoi, j'ai été médisant... je suis impressionné. La requête doit être sacrément bien optimisée

  16. #16
    Membre habitué Avatar de LeCygne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2010
    Messages : 91
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Comme quoi, j'ai été médisant... je suis impressionné. La requête doit être sacrément bien optimisée
    Merci je fais du mieu que je peux...

    Mais avec le problème de licence et d'installation sur le poste, ca n'est pas celui que je choisirais. Je pense que KaloOopS devrait serieusement se pencher sur MSDE http://dotnet.developpez.com/articles/msde/.

  17. #17
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par LeCygne Voir le message
    Je pense que KaloOopS devrait serieusement se pencher sur MSDE http://dotnet.developpez.com/articles/msde/.
    MSDE, c'est l'ancêtre de SQL Server Express, non ? En tous cas je ne crois pas que ça existe encore sous ce nom

  18. #18
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Clairement une base capable d'absorber de gros volumes (SQL Server, Oracle)
    300000 lignes est tout sauf un gros volumes c'est même très petit.

    Access suffira largement à gérer celà.

    qui est à peu près standardisé
    SQL est un langage extrêmement normalisé les différents SGBDR respecte plus ou moins la norme...

    ben la taille de la ligne a pas tellement d'importance en fait, sauf si tu veux charger toutes les lignes... mais dans ce cas c'est ton appli qui aura du mal, plutôt que la base
    Nathanaël voulait parler des risques liées à mauvaise modélisation (90% des cas lorsque celle-ci est laissée aux personnes dont ce n'est pas le métier).

    Le volume des lignes est au contraire important puisqu'il conditionne le nombre de pages que le moteur est obligé de lire lors du scan de table ou lors du parcours d'index...

    MSDE, c'est l'ancêtre de SQL Server Express, non
    En effet, et SQL SERVER EXPRESS 2008 est désormais nettement moins limité en volume (10 GIGA)
    En revanche SQL SERVER EXPRESS 2008 ne peux utiliser que 1 GIGA de RAM
    et ne tire pas partir du multicoeur mais vu les volumes ciblés ce n'est pas une contrainte.
    Je vous conseil ce lien:
    http://www.microsoft.com/sqlserver/2...s-compare.aspx
    Pensez tout de même à prévoir la volumétrie future (à horizon 3/5 ans) pour éviter les surprise et dimensionner le Server en conséquence.

  19. #19
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    (Les références sont des entiers longs)
    Des entiers longs pour 600000 lignes?

    Les INT permettent de gérer plusieurs milliards de ligne... et prennent 4 octets au lieu de 8.

    Avez vous fait ce choix en prévision de tels volumes ou pour coller à votre CPU 64 bits?

  20. #20
    Membre habitué Avatar de LeCygne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2010
    Messages : 91
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par iberserk Voir le message
    Des entiers longs pour 600000 lignes?

    Les INT permettent de gérer plusieurs milliards de ligne... et prennent 4 octets au lieu de 8.

    Avez vous fait ce choix en prévision de tels volumes ou pour coller à votre CPU 64 bits?
    J'ai fais ce choix parce que les "numéros auto" sont des entiers long, donc mes clefs primaires, qui sont toutes en "numéros auto" sont des entiers long.

    De plus, en allant voire l'aide (d'access 2003) je vois :

    Paramètre: Entier
    Description: Stocke les nombres compris entre –32 768 et 32 767 (pas de fractions).
    Taille: 2 octets

    Paramètre: Entier long (Valeur par défaut).
    Description: Stocke les nombres compris entre –2 147 483 648 et 2 147 483 647 (pas de fractions).
    Taille: 4 octets
    PS: Desolé KaloOopS pour le flood.

Discussions similaires

  1. Quelle base de données utilisez-vous?
    Par PierreDelcroix dans le forum Décisions SGBD
    Réponses: 122
    Dernier message: 15/10/2009, 23h18
  2. Quelle Base de Données pour gérer des documents multimédia ?
    Par Doudy dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 21/01/2007, 20h52
  3. Quelle base de données pour un emploi du temps
    Par edouard21 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/10/2005, 22h48
  4. Quelle base de donnée utiliser?
    Par VTwin dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 01/07/2005, 12h34
  5. Création de logiciel, oui, mais quelle base de donnée ?
    Par Acti dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 17/02/2005, 12h41

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