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

Décisions SGBD Discussion :

[Création d'un moteur] Petite question d'architecture technologique


Sujet :

Décisions SGBD

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 117
    Points : 80
    Points
    80
    Par défaut [Création d'un moteur] Petite question d'architecture technologique
    Bonsoir,

    Voila je dois concevoir un système utilisant une base de données.

    Ma première contrainte est de concevoir un système complètement autonome.

    C'est à dire ayant le moins de dépandances possible vis a vis de l'environnement. Autrement dit, une base de données ultra portable.

    Ma seconde contrainte est que cette base soit le plus sécurisé possible. Que les données ne soient pas lisibles, ainsi que la structure de la base de données.(Exemple le schèma mySql ultra lisible)

    Au départ je m'étais orienté vers access mais le problème est, que pour pouvoir utiliser les données dans ma base de données acces il est indispensable d'installer access.

    Mon deuxieme choix était MySql. Mais le déploiement n'est pas tres léger. Etant donné qu'il faille installer un server mysql. Et que les tables soient représentées en claire (structures, données, etc).

    Donc ma première hypothèses est d'utiliser un fichier XML en le cryptant de décryptant à la volé dans le programme destiner a utiliser ces données. Et de créer une classe permettant de gérer mes requetes (mini moteur de BDD).

    Et maintenant je me tourne vers ce merveilleux forum pour avoir votre avis sur les techno possibles, pouvant répondres à mes contraintes.

    (Sachant que le programme utilisant cette bases de données sera développer en C#)

    Bonne soiré à tous.

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Afin d'éviter de recréer la roue, je vous conseille plutôt qqch du type SQLLite
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    Merci de la réponse. Mais cela ne répond pas à mes contrainte. Car la strucutre de la base de données est visible en claire.

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Faudrait alors aller taper dans l'API en C! C'est pas à la portée de tous !
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Si tu veux faire ton propre moteur de Bdd c'est complexe ; il faut mettre en oeuvre des arbres binaire de recherche etc... le format des données sur disque , un interpréteur de commandes SQL ; est-ce le but désiré ?

    Citation Envoyé par ludovic85
    Ma première contrainte est de concevoir un système complètement autonome.
    C'est à dire ayant le moins de dépandances possible vis a vis de l'environnement. Autrement dit, une base de données ultra portable.
    BOn apparemment c'est ce que j'ai compris : si tu veux une bdd "ultra-portable" ( ce qui ne veut rien dire c'est soit portable ou rien du tout ) eh bien il faut non seulement développer le moteur de bdd et en plus développer des drivers ODBC qui est la norme dans le monde des bdd pour que ta base de données soit lue sur tous les systèmes.
    A moins de proposer des API en natifs mais cela ne sera pas forcément portable....
    bref le boulot dont seul des équipes de R et D de chez IBM sont capables

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    votre demande est tout à fait irréaliste et révèle votre parfaite méconnaissance de ce qu'est un SGBDR...

    Alors allons y critiquons votre prose :

    Bonsoir,

    Voila je dois concevoir un système utilisant une base de données.

    Ma première contrainte est de concevoir un système complètement autonome.

    C'est à dire ayant le moins de dépandances possible vis a vis de l'environnement. Autrement dit, une base de données ultra portable.
    Cela ne veut rien dire. Autonome en quoi ? Pas d'OS ?? Pas de licence ???

    Ma seconde contrainte est que cette base soit le plus sécurisé possible.
    Tous les SGBDR digne de ce nom reposent sur le langage SQL qui prévoit EXPLICITEMENT les mécanisme de sécurisation tels que authentification / connexion / utilisateurs SQL / roles / privilèges...

    Que les données ne soient pas lisibles
    Soyons sérieux, si vos données ne sont pas lisible qu'en ferez vous ? Juste alimenter votre base ???

    ainsi que la structure de la base de données.(Exemple le schèma mySql ultra lisible)
    Par définition c'est impossible. Imaginez un seul instant que je vous dise : "trouvez moi les clients habitant paris" dans un système de fichier du genre Cobol et que je ne vous donne pas le nom du fichier. Allez vous commencer par chercher dans les 5419785431842494234587245 fichiers que contient votre système d'information quel est le bon ???

    Au départ je m'étais orienté vers access mais le problème est, que pour pouvoir utiliser les données dans ma base de données acces il est indispensable d'installer access.
    Ce sera le cas de TOUS les SGBDR sans aucune exception !

    Mon deuxieme choix était MySql. Mais le déploiement n'est pas tres léger. Etant donné qu'il faille installer un server mysql. Et que les tables soient représentées en claire (structures, données, etc).
    Comme pour tout les SGBDR, c'est indispensable !

    Donc ma première hypothèses est d'utiliser un fichier XML en le cryptant de décryptant à la volé dans le programme destiner a utiliser ces données. Et de créer une classe permettant de gérer mes requetes (mini moteur de BDD).
    Totalement irréaliste... Sachez qu'une base de données comme SQL Server par exemple c'est environ 5000 années homme en développement et test. Les SGBDR sont les programmes les plus comlexes et les plus lourds en terme de développement. La plupart des éditeurs de SGBDR sont morts car il n'ont pas été capable de suivre le rythme de R&D qu'imposait le marché...
    De plus encapsuler du XML crypté dans un SGBDR sera épouvantablement contre performant. Autant faire cela en fichier Cobol, ce sera au moins rapide !

    Et maintenant je me tourne vers ce merveilleux forum pour avoir votre avis sur les techno possibles, pouvant répondres à mes contraintes.
    Soyons sérieux, des centaines de milliers de programmes sont développés avec des SGBDR modernes, avec des données ultra sensible (défense, médical, transports...) et ceci en toute sécurité. Il suffit d'e savoir ce qu'est un SGBDR et comment il fonctionne, autrement dit se former et apprendre afin que les questions que vous vous posez n'aient plus de fondement !

    (Sachant que le programme utilisant cette bases de données sera développer en C#)
    Libre à vous de redévelopper la roue. Tentez au moins de le finir avant votre retraite !!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Si la contrainte est de cacher le modèle, je vois mal comment il va être utilisable.

    Ce qu'il est possible de faire, est d'utiliser un moteur classique ( par exemple PostGreSQL ) et de faire un modèle avec des noms de tables et de champs totalement illisibles.

    De mettre un utilisateur sécurisé pour accéder à cette base, et de mettre un mot de passe très compliqué ( avec beaucoup de caractère ) et d'en changer toutes les deux semaines.

    Le système de fichier utilisé par PostGreSQL est plutôt illisible de toutes manières sans la base de données.

    Tout ceci.. Dans la mesure ou votre souhait est d'avoir un modèle illisible et difficilement exploitable, mais comme il vous a été dit auparavant, inventer un nouveau SGBDR sera totalement inutile.

    A+
    K

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par SQLpro
    Tous les SGBDR digne de ce nom reposent sur le langage SQL qui prévoit EXPLICITEMENT les mécnaisme de sécuration tels que authentification / connexion / utilisateurs SQL / roles / privilèges...
    En fait oui et non ; j'ai réfléchi après coup.
    Il veut peut-être simplement faire un format de fichier et ne pas gérer la manip des données en SQL.
    C'est faisable mais son format de fichier doit être compatible ODBC donc écrire les gestionnaires nécessaires/utiliser les API ODBC
    Les données du fichier seront lues au moyen de curseurs ou "recordsets", c'est au moteur de BDD comme par exemple ADO sous environnement Microsoft de gérer les requêtes SQL.
    Mais c'est vrai que c'est un peu réinventer la roue

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 218
    Points : 311
    Points
    311
    Par défaut
    Je suppose que si vous avez penser à utiliser un fichier XML c'est que cette application est destinée à une application mono utilisateur. Dans ce cas pour répondre à vos besoins, il n' y a peut-être pas besoin de bases de données et je vous orienterais plus vers l'étude d'articles sur la persistence des données entre autres sur une librairie de Java, il me semble la JPersistentUnit, ou un truc dans ce genre là, certains pros de java connaissent peut-être et vous fourniront peut-être plus de renseignements que moi.

    Ceci dit pour du multi utilisateur les bases de données y a pas grand chose de mieux et côté sécurisation une base postgress c'est pas mal et bien plus performant qu'access ou mysql...

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 117
    Points : 80
    Points
    80
    Par défaut
    Bon voila j'ai trouvé.

    Pour répondre SQLpro,

    J'avais juste besoin d'une base de données pour pouvoir stocker un référenciel de requetes SQL.

    Mon besoin était de parfaitement sécuriser mon référenciel de requetes étant données que ces requetes sont le coeur de mon application, la GRANDE valeure ajoutée(Requetes ayant demandées plusieurs années de mise au point).

    DLe référenciel sera donc utilisé en local. C'est pourquoi j'avais pensé a Access.

    Etant donné que le seul moyen (à ma connaissance qui est LIMITE comme le précise si bien SQLpro) de protéger l'acces aux données dans access, est un simple mot de passe.

    J'ai donc créé une DLL ayant tout ce dont j'avais besoin.

    Une petite question, quelqu'un sait comment s'appel l'outil permettant de visualiser les fonctions contenu dans une dll.

    De mémoire je sais qu'il existe un tool se nommant Walkhack un truc du genre.

Discussions similaires

  1. Petite question d'architecture
    Par cereal dans le forum GWT et Vaadin
    Réponses: 7
    Dernier message: 18/11/2011, 09h02
  2. [MySQL] question sur la création d'un moteur de recherche avec sélection
    Par senouss dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/12/2010, 19h26
  3. Petite question sur l'architecture d'une application
    Par Mozofeuk dans le forum Architecture
    Réponses: 1
    Dernier message: 01/09/2010, 18h55
  4. Réponses: 15
    Dernier message: 03/08/2009, 23h08
  5. Petite question création de composantes
    Par EricL dans le forum Débuter
    Réponses: 1
    Dernier message: 15/12/2008, 17h40

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