Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2006, 12h47   #1
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 132
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 132
Points : 1 190
Points : 1 190
Par défaut Quel SGBDR pour une utilisation totalement déconnectée ?

Une application va devoir manipuler des données (références d'articles, bons de commande, clients...) de manière totalement déconnectée.

En effet, cette application est destinée, entre autre, à être utilisée à partir d'ordinateurs portables ne disposant d'aucune connexion réseau, pour la simple raison que ces ordinateurs portables sont destinés à être utilisés en dehors de l'entreprise : chez le client, par exemple.

Certaines données seront créées à partir de ces ordinateurs portables (comme les bons de commande), alors que d'autres seront créées sur un serveur de données.
Les données créées sur le serveur de données servent, entre autre, à fournir une base de travail pour les ordinateurs portables.
Il doit être possible de rappatrier les données créées à partir des ordinateurs portables, sur le serveur de données.

Bref, en résumé, j'ai une base de donnée centrale qui fournit les données aux ordinateurs portables, leur permettant de travailler.
Cependant ces ordinateurs portables doivent fonctionner sans la base de donnée centrale, ce qui signifie que ces ordinateurs portables doivent disposer d'une copie locale, partielle, de la base de donnée centrale.

Une fois les travaux effectués sur un ordinateur portable, les données générées par celui-ci doivent être rappatriés sur la base de donnée centrale.

Sachant que j'aimerais éviter, évidemment, d'avoir à installer un serveur SQL sur chaque portable, et que lors du rappatriement des données portable --> serveur, l'unicité des données et les diverses contraintes doivent être respectées....

Exemple...
J'ai mon serveur de donnée, dans ce dernier, j'y stocke tous les articles, leurs références etc... Les clients, les bons de commandes créés par le passé...
J'importe partiellement ces données (en fait les articles, leurs références, et certains clients) sur une copie locale sur un ordinateur portable.
Avec l'ordinateur portable, je vais chez un client, je lui fais son bon de commande, et une fois ce travail fait, je reviens près du serveur de données, et je rappatrie les données nouvellement créées (le bon de commande) sur le serveur de donnée.

Le problème qui va se poser lors de l'opération de rappatriement est que je risque d'avoir deux bons de commandes avec le même identifiant, par exemple. Ce que j'aimerais également éviter autant que possible.

Quel SGBDR me conseillez-vous pour le serveur de données et les ordinateurs portables ?
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2006, 20h53   #2
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Il y'à une petite précision que tu ne donnes pas.
L'application utilise t'elle une interface de ton cru, ou utilisera t'elle un navigateur ?

J'imagine que ce sera la première.
Dans ce cas la pourquoi ne pas utiliser access ou SQLite ?
Sinon tu peux jeter un oeil à cette page http://fr.wikipedia.org/wiki/SGBD, je n'ai pas tout regarder, mais je pourrai citer hyperfile qui fait du monoposte aussi apparemment.
Après il faut voir quel langage sera utilisé pour savoir si des drivers sont dispos.

Sinon pour l'identifiant de bdc, parles tu de l'identifiant automatique de la bdd, ou de la référence du BDC ?
Dans le cas de la référence si tu n'as pas de restrictions particulières à ce sujet.
Pourquoi ne pas ajouter l'identifiant du commercial dans la référence du bdc ?
Avec un information tels que l'année+mois+jour+un random sa devrait le faire.

Si tu est restreint au niveau du format de la référence, le souci qui vas se poser est que le commercial ne pourra pas émettre le BDC, puisque la référence changeras peut être lors de l'importation dans la bdd principale.
En effet si lors de l'import tu trouves une référence en double, tu en régénérera une nouvelle pour ce bdc.
Hors si jamais le commercial à émis le BDC, le système se vautre en beauté.
Donc la souci... :/

Si tu parlais de l'id généré par la bdd.. J'ai envie de dire que la synchro entre les postes de commerciaux et la bdd principale devrait se faire sur la référence de BDC, en effet celle-ci sont unique.

Enfin voila, en espérant t'aider un peu

bbye
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2006, 22h52   #3
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 132
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 132
Points : 1 190
Points : 1 190
En fait, il s'agira d'une interface de mon cru, en utilisant le langage c# avec le framework .NET 2.0.

Sinon, j'ai réglé nombre de problèmes vis à vis des contraintes d'unicité etc, du rappatriement des données. En effet, j'ai rediscuté avec mon client, et on a réglé tous ces problèmes là.

Cependant, je retiens l'idée de la clef primaire timestamp+random, très bonne idée, merci

Il me reste donc une seule et unique question : quel SGBDR fichier utiliser ?
En effet, un SGBDR client/serveur ne fera pas du tout l'affaire, il est vraiment nécessaire d'utiliser un SGBDR fichier, genre access....

En revanche, j'ai pas de très bons souvenirs d'access. Je dis pas que c'est MÂÂÂAAL , mais de ce que je me souviens de l'époque où je l'utilisais, c'était relativement lent et ça gérait encore moins de choses que MySQL 3. Ca a peut-être changé depuis ?

Sinon, j'ai entendu dire que firebird fournissait à la fois un SGBDR client/serveur et un autre SGBDR fichier ?
J'ai également entendu parlé d'une comparaison access/sql server... sql server fournirait-il une gestion de base de données fichiers, malgré son nom ?
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2006, 23h52   #4
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
J'avoue ne pas trop utiliser access donc je ne sais pas :s

Sinon en fouinant un peu
http://www.developpez.net/forums/arc...p/t-14343.html
http://fadace.developpez.com/sgbdcmp/#Description

FireBird à l'air sympa selon le comparatif trouvé sur DVP, puisque l'utilisation se ferait via une dll. Donc pas d'odbc machin truc.

Sinon en terme de performance, je suis bien incapable de ton conseiller. Je n'ai strictement aucune connaissance à ce niveau la.

:/

bbye
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2006, 21h25   #5
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
Je te conseille tout serveur savant gérer des fichiers plats.

Par exemple, mysql et la commande LOAD INTO FILE te permet d'insérer très rapidement dans la base de données un volume plutôt conséquent de données. Il existe des notions similaires en Oracle et sans aucun doute sur d'autres SGBDR.

Autre piste, as-tu pensé à la réplication de données, via des serveurs sgbd esclaves sur chaque poste client qui se synchronise à leur retour sur le serveur maître ?

Enfin, pour le timestamp+random en clef primaire, je te le déconseille. Il est préférable d'utiliser une colonne unique TIMESTAMP + RANDOM (très bonne idée qui évite très facilement les doublons), mais je conserverais tout de même une clef primaire qui s'autoincrémente seule au moment de l'import de tes données sur le serveur. En effet, après sur le serveur les comparaisons sur une chaîne de caractère de type timestamp+random sera toujours plus longue/lente qu'une comparaison de deux entiers !
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2006, 22h28   #6
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
Bonjour,

si la volumétrie le permet, pourquoi ne pas envisager l'emploi de XML pour stocker les données sur les portables ? Les performances ne seront évidemment pas les mêmes qu'avec un SGBDR (c'est pour cela que je parle de volumétrie), mais les fonctionnalités apportées par XPath et XQuery valent, je pense, que tu étudies la question...

XML est supporté en format d'importation/exportation par beaucoup de SGBDR, et s'il faut faire un peu de conversion XSLT est là pour ça.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 10h04   #7
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
je vous conceille de vous orienter vers un SGBDR qui sait gérer de la réplication. Par exemple pour cela vous pouvez utiliser un serveur MS SQL Server 2005 en base centrale et des run time SQL Server Express (gratuit). Vous ne modifiez rien de vos tables et activez une réplication (il existe 5 modes différents de réplications dans SQL Server).

Ce sera plus propre et garantit !

Que se passe t-il si votre serveur central tombe en panne au milieu d'une session de rélication ?

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 14h04   #8
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 132
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 132
Points : 1 190
Points : 1 190
En fait j'aimerais autant que possible éviter d'avoir un système demandant une grosse maintenance, particulièrement pour les portables.

J'aimerais, par exemple, éviter d'avoir à installer un SGBDR sur chaque portable.

Concernant les fichiers XML, j'y avais pensé, mais la volumétrie sera sûrement trop importante (10 à 50 000 lignes pour certaines tables, ça commence à faire beaucoup quand même).

Toujours dans le même esprit "d'absence de maintenance autant que possible", l'idée d'un SGBDR fichier me parait appropriée, dans la mesure où, les utilisateurs finaux n'ont que peu (voir pas) de compétences dans ce genre de domaine.
Répliquer une base de donnée, faire des sauvegardes à partir d'un SGBDR client/serveur, tout ça... leur paraîtra sûrement beaucoup plus compliqué que de copier un simple fichier.
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 14h18   #9
Directeur Marketing
 
Avatar de Marc Lussac
 
Homme Marc Lussac
Responsable marketing opérationnel
Inscription : mars 2002
Messages : 26 358
Détails du profil
Informations personnelles :
Nom : Homme Marc Lussac
Localisation : Canada

Informations professionnelles :
Activité : Responsable marketing opérationnel
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2002
Messages : 26 358
Points : 23 184
Points : 23 184
Tu te complique pour rien

Il existe des SGBD qui prennent peu de ressources, qui sont faciles à installer et ne demandent aucune maintenance, et qui peuvent fonctionner en base répartie : base locale / base distante.

Exemple : FirebirdSQL (ex interbase)
__________________
-> Ne pas me contacter pour le forum et je ne répondrai à aucune question technique -> Comment nous contacter
-> Pour partenariat ou publicité : Mon Email
Marc Lussac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 16h38   #10
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
1) une réplication une fois installée et à condition que les bases soient proprement modélisée => aucune intervention
2) les SGBDR à base de fichiers sont les plus vulnérables à la fois aux problèmes de corruption OS et aux erreurs des utilisateurs (effacement par erreur d'un fichier). Dans ce cas l'erreur est généralement irrécupérable.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 19h42   #11
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 132
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 132
Points : 1 190
Points : 1 190
Merci, j'ai trouvé mon bonheur
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 20h27   #12
Directeur Marketing
 
Avatar de Marc Lussac
 
Homme Marc Lussac
Responsable marketing opérationnel
Inscription : mars 2002
Messages : 26 358
Détails du profil
Informations personnelles :
Nom : Homme Marc Lussac
Localisation : Canada

Informations professionnelles :
Activité : Responsable marketing opérationnel
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2002
Messages : 26 358
Points : 23 184
Points : 23 184
C'est à dire ?
__________________
-> Ne pas me contacter pour le forum et je ne répondrai à aucune question technique -> Comment nous contacter
-> Pour partenariat ou publicité : Mon Email
Marc Lussac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 12h16   #13
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 132
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 132
Points : 1 190
Points : 1 190
En fait je me suis dirigé vers SQL Server 2005 Express, néanmoins je continue de m'intéresser d'assez près à firebird.
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h15.


 
 
 
 
Partenaires

Hébergement Web