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 :

base de données distribuée avec delphi7 et Interbase


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut base de données distribuée avec delphi7 et Interbase
    Bonjour,

    SVP. comment je peux réaliser une base de données distribuée avec delphi7 en utilisant Interbase??


    et merci

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    "distribué" lol, c'est bien une terminologie scolaire ça !

    Souvent très mal utilisé !
    C'est bien au sens "répartie" ou "clusterisation" et non pas juste le fait de mettre la DB à disposition sur un réseau !

    Si Clusterisation ou Répartition des Charges (dans le cas où le terme "distribué" aurait le sens de "distributed")
    Déjà tu dois maîtriser une simple connexion Clients\Serveur pour ton Interbase avec un serveur dédié (tu as déjà eu du mal, je crois)

    Ensuite, il faut que tu explores la notion de replication (via IB-Replicator) permettant d'avoir sur plusieurs serveurs la même base de données dupliquées puis réparties !
    Enfin, tout dépend l'architecture que tu souhaite par la suite !
    Avec Interbase, ce genre de solution sera payante !

    Pour résumé, ce n'est pas à la portée d'un Étudiant qui débute !
    Même pour un professionnel, ce n'est pas non plus quelque chose d'aisé, c'est plus le métier d'administrateur de base de données de fournir un frontal et un répartiteur transparent pour les clients (le programme du développeur)
    Par exemple, mon ancien employeur a fait monter ce type d'architecture (Frontal Apache + MySQL Cluster) par l'Hébergeur lui-même tout en engageant un admin linux en interne !

    Une DB distribué ou répartie, c'est pour des mastodontes comme Google (BigTable), FaceBook (Cassandra + MySQL) ...

    D'ailleurs BigTable est utilisable !


    Si juste ... ton cas à mon avis,
    C'est le mode par défaut de fonctionnement d'Interbase, un serveur installé, IBExperts te facilitera sa configuration, et des clients ...
    le client sera plus ou moins facile à installer selon si tu utilises IBX, DBExpress, UIB ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    Désolée !!!!

    pas une base distribuée

    je veux réaliser une application delphi pour la gestion d'une base de données distribuée en 2 sites par exemple où la base est crée sous Interbase

    qu'est ce je fais??

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Tu as donc 1 ou 2 Serveur InterBase ?
    Je parlais de Serveur physique et logique, un ordinateur pour chaque serveur IB ! par exemple un à Lyon, l'autre à Paris ...

    Tes deux "sites" devront-ils :
    - avoir les mêmes données copiées sur plusieurs machines, c'est bien une base de donnée répartie ou distribuée !
    - avoir les mêmes données dans un même système, là c'est juste deux clients sur le même serveur
    - avoir leurs propres données bien distinctes, là c'est juste deux installations, tu veux peut-être mettre en place un système d'import\export avec consolidation ?
    - avoir leurs propres données dans un même système, là c'est juste deux clients sur le même serveur hébergeant deux bases de données !

    Pour la Base de données répartie, tu n'as théoriquement pas de programmation Delphi à faire, le client n'a pas à savoir comme fonctionne son SGBD, c'est l'architecture de load-balancing qui dirige le client vers un des deux serveurs !
    J'ignore ce que propose InterBase, un article pour commencer : Bidirectional replication for InterBase® and Firebird
    Après cela peut être au niveau de l'OS pour la gestion du Cluster mais cela doit être très cher !

    Tu veux peut-être écrire ton propre répartiteur de charge comme dans ce sujet Delphi 5 et threads en nombre
    C'est à dire, un serveur en Delphi qui reçoit les requêtes depuis des Clients TCP\IP Interbase et les dispatchent vers 2 serveurs IB ?

    Cela me semble fort complexe ton histoire !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    Merci pour votre réponse Mr.ShaiLeTroll

    vraiment, je crois que moi meme j'ai pas bien compris


    mais voilà ce site que je trouve et je veux réaliser le projet donné avec delphi et interbase

    http://www.cs.purdue.edu/homes/clift...roject1.sxhtml

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    C'est bien de la base de donnée distribuée, je suis nul en anglais, si je comprend bien le "set up three communicating database servers"

    En fait, chaque serveur héberge une table, et donc il faut être capable de générer les requêtes qui seront executés sur chaque serveur, d'en récupérer les valeurs et d'en fournir le résultat tout en conservant les transactions (oh ! ça c'est chaud devoir gérer des transactions sur deux serveurs !!!)
    le SQL est un template, il y a juste un transfert de séries de valeur, cela simplifie, pas de parsage, juste une série d'action prédéfnie

    C'est une vision simpliste, c'est un raccourci pour faciliter la réalisation de l'exercice
    Semble, que l'étape 2 soit les jointures (ça doit être drôle ça)

    Cet exercice permet de mettre en place des mécansimes proche d'un SGBD réparti, mais la forte orientation modèle fausse la réflexion, c'est bien plus complexe que cela !


    l'article, il conseille l'utilisation de "java RMI" en Delphi le plus proche serait soir le DCOM de Microsoft ou
    DataSnap et même les Remote Objects en Delphi Prism

    java RMI, ça doit être pour gérer les connexions entre le frontal et les serveurs !

    Je suppose que tu as Delphi 7 Perso !
    DataSnap c'est uniquement la version Entreprise !
    DataSnap permet d'exposer des objets métiers dans une architecture multi-tiers qui pourrait "fédérer" des SGBD ou source de données hétérogène au sein d'un même système !

    Ce TP est une couche plus "système" que DataSnap, c'est du sérieux comme projet, je pense que les élèves ont eu les cours nécessaires !
    C'est bien supérieur au cours et TP que j'ai eu !
    C'est le genre d'école qui t'apprend à coder ton propre SGBD au lieu d'utiliser un déjà existant !

    Cela conseille aussi la lecture d'un bouquin de 666 pages : "Principles of Distributed Database Systems (2nd Edition)"

    Voilà, tu as de la lecture !
    C'est un sacré boulot !
    Tu devrais faire valider par ton professeur les "défis" que tu te lances, tu vises peut-être un peu trop haut !
    Commence par le Client\Server classique, les transactions et les accès concurrentiel !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    ok,

    voilà la traduction en français

    Le but de ce projet est de concevoir une base de données distribuée. On va implémenter des composants et des protocoles présentés en cours. La première partie de ce projet sera tout simplement d’installer trois serveurs de base de données. Chaque serveur doit être capable de répondre aux requêtes client. Ces requêtes seront incluses dans une transaction. Une transaction peut utiliser plusieurs tables situant dans de multiples sites.

    c'est quoi DataSnap???

    j'avais delphi 7 entreprise

    pour le livre, merci , je l'ai eu

    j'essaie de le faire mais il est complexe à réaliser

  8. #8
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    pouvez vous me donner un exemple client/serveur gérant une base de données locale réalisé sous délphi 7 ??

    ou bien client/serveur classique??

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Lorsqu'un mot un souligné, c'est un lien comme DataSnap, tu peux cliquer dessus et avoir ta réponse !

    Je te confirme, c'est un projet complexe, tu dois avoir une parfaite maitrise des transactions, des accès concurrentiels et des éventuelles réconciliations en Client\Serveur !
    Donc Plusieurs Clients sur un SEUL serveur !

    Une fois cela bien acquis ces mécanismes , tu pourras passer à la création de ton répartiteur de charge qui distribuera les SQL vers le serveur approprié qui devra gérer Plusieurs Clients sur PLUSIEURS Serveurs !

    Il y a un algo de Routage, en fonction du nom de la table, tu auras le nom du serveur, c'est très simpliste !
    Le Parsage se limitant à 5 SQL types (tu dois être à l'aise avec la manipulation de Chaine, TStringList, fonction type Explode)
    La partie sportive c'est la gestion des Transactions débuter sur une Table A par le INSERT, continuer sur une Table B dans le UPDATE !
    Sachant que Table A et Table B sont sur deux serveurs différents, c'est bien ton programme qui va devoir faire le ROLLBACK ou COMMIT sur tous les serveurs ayant débuter une transaction !

    Pour les Tutoriels, tu as une page dédiée Interbase/Firebird, tu n'as que l’embarras du choix !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  10. #10
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Points : 50
    Points
    50
    Par défaut
    D'accord

    je vous remercie beaucoup pour vos efforts

Discussions similaires

  1. Mise en place de base de données distribuées avec mysql
    Par jsfdebutant dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 27/02/2008, 13h32
  2. attaquer une base de données Oracle avec du code C
    Par lecyberax dans le forum Oracle
    Réponses: 3
    Dernier message: 18/04/2006, 13h24
  3. Peut on lier une base de donnée Mysql avec MS Project
    Par casper24 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/04/2006, 22h21
  4. [ Base de données documentaires ] avec sql server
    Par kakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/02/2006, 20h43
  5. exploiter une base de données excel avec delphi
    Par budylove dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2005, 19h37

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