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 31/01/2007, 21h10   #1
Membre du Club
 
Inscription : septembre 2004
Messages : 116
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 116
Points : 46
Points : 46
Envoyer un message via MSN à ludovic85
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.
ludovic85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 11h07   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

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

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Afin d'éviter de recréer la roue, je vous conseille plutôt qqch du type SQLLite
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 15h13   #3
Membre du Club
 
Inscription : septembre 2004
Messages : 116
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 116
Points : 46
Points : 46
Envoyer un message via MSN à ludovic85
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.
ludovic85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 10h31   #4
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

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

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Faudrait alors aller taper dans l'API en C! C'est pas à la portée de tous !
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 22h21   #5
Expert Confirmé Sénior
 
Développeur informatique
Inscription : novembre 2006
Messages : 4 222
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 : 4 222
Points : 5 309
Points : 5 309
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
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 10h59   #6
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 793
Points : 17 793
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 :

Citation:
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 ???

Citation:
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...

Citation:
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 ???

Citation:
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 ???

Citation:
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 !

Citation:
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 !

Citation:
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 !

Citation:
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 !

Citation:
(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
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 05/02/2007, 11h13   #7
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
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
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 18h44   #8
Expert Confirmé Sénior
 
Développeur informatique
Inscription : novembre 2006
Messages : 4 222
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 : 4 222
Points : 5 309
Points : 5 309
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
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 01h50   #9
Membre confirmé
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2005
Messages : 180
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 : 180
Points : 231
Points : 231
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...
macumba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 18h00   #10
Membre du Club
 
Inscription : septembre 2004
Messages : 116
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 116
Points : 46
Points : 46
Envoyer un message via MSN à ludovic85
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.
ludovic85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h34.


 
 
 
 
Partenaires

Hébergement Web