NDS versus RDBMS

NDS versus RDBMS - Divers - Programmation

Marsh Posté le 25-11-2003 à 11:00:44    

Ceci n'est pas un topikatroll.
 
Je m'interroge sur l'intérêt des naming and directory services, face à la traditionnelle base de données relationnelle.
 
LDAP par exemple : ça sert à faire persister de l'info, ça va vite en lecture, pas en écriture. Pour l'instant je ne vois pas la foutue différence qui en fait un concept à part, comparé à une RDB.


---------------
Le site de ma maman
Reply

Marsh Posté le 25-11-2003 à 11:00:44   

Reply

Marsh Posté le 25-11-2003 à 15:30:45    

Up !


---------------
Le site de ma maman
Reply

Marsh Posté le 25-11-2003 à 15:32:38    

tiens, je l'avais pas vu ce topic. J'ai un ami qui a fait un mémoire sur les LDAP, je vais voir si j'y trouve un élément de réponse.

Reply

Marsh Posté le 25-11-2003 à 15:48:54    

Pour faire plus simple, j'ai été interroger le mec à la source. Voila le copier/coller de la discussion:

Citation :

Olivier - ICQ: 57391732 dit : (15:38:04)
   Qu'est-ce qui fait qu'on les différencie des RDBMS?
 
Whyjack dit : (15:38:18)
   il n'y a pas de relations
 
Whyjack dit : (15:38:24)
   de concepts de table
 
Whyjack dit : (15:38:32)
   c juste une hiérarchie en arbre
 
Whyjack dit : (15:38:40)
   ds laquelle tu peut mettre ce que tu veux
 
Whyjack dit : (15:38:48)
   mais en définissant les records avt
 
Olivier - ICQ: 57391732 dit : (15:38:49)
   une sorte d'immense B-Tree?
 
Whyjack dit : (15:38:59)
   pas vraiment
 
Whyjack dit : (15:39:06)
   ca n'est pas pondéré
 
Whyjack dit : (15:39:12)
   il peut y avoir plusieurs racine
 
Whyjack dit : (15:39:24)
   et ds chaque branche des informations différentes
 
Whyjack dit : (15:39:30)
   par leur nature
 
Olivier - ICQ: 57391732 dit : (15:39:43)
   et deux racines ne peuvent jamais avoir de même fils?
 
Whyjack dit : (15:39:59)
   non, mais on peux faire des liens symboliques
 
Whyjack dit : (15:40:07)
   donc d'une certaine facon tu peux referencé
 
Whyjack dit : (15:40:15)
   un fils d'une autre racine
 
Whyjack dit : (15:40:28)
   mais il portera 2 noms différents
 
Whyjack dit : (15:40:37)
   un peu comme sur unix avec les link
 
Olivier - ICQ: 57391732 dit : (15:41:53)
   ok. Et tous les fils d'une racine sont de même type et les champs doivent-ils être tous remplis? ou c'est une sorte d'arbre de dictionnaire fini dont on remplirai uniquement les champs désirés?
 
Whyjack dit : (15:42:21)
   au niveau des informations
 
Whyjack dit : (15:42:30)
   tu commence par définir ce que tu veux mettre dedans
 
Whyjack dit : (15:42:48)
   ensuite le ldap va lire les informations que tu as défini et attendre que tu remplisse ces champs
 
Whyjack dit : (15:42:54)
   un peu comme ds un form
 
Whyjack dit : (15:43:16)
   c qd tu va vouloir créer les informations que le ldap va dire si il accepte ou non tes données
 
Whyjack dit : (15:43:27)
   il va en fait regardé les champs obligatoires
 
Whyjack dit : (15:43:38)
   qui sont un sous ensemble de tous les champs
 
Whyjack dit : (15:43:45)
   ils peuvent etre tous obligatoire
 
Whyjack dit : (15:43:50)
   ou tous aoptionnels
 
Whyjack dit : (15:44:02)
   en fait, je crois que tu dois avoir un champ obligatoire
 
Whyjack dit : (15:44:08)
   pour référencé le record
 
Whyjack dit : (15:44:14)
   et le reste pe optionnel
 
Whyjack dit : (15:44:24)
   ensuite il regarde le type des données
 
Whyjack dit : (15:44:28)
   et il stocke le tout en format textuel
 
Whyjack dit : (15:44:49)
   mais 2 entrées (ou record) peuvent avoir des infos différentes
 
Whyjack dit : (15:45:01)
   en fait, tu peux ouvrir des sous arbres ds la racines
 
Whyjack dit : (15:45:20)
   le support "theorique" est le mm ds les deux cas
 
Whyjack dit : (15:45:32)
   que ce soit sur ton sous arbre que ds la définition des feuilles
 
Whyjack dit : (15:45:35)
   tjs en texte
 
Whyjack dit : (15:45:48)
   en fait on parle d'entrée (entry)
 
Whyjack dit : (15:46:04)
   c un concept générique a tout ce que tu trouves ds le ldap
 
Whyjack dit : (15:46:42)
   seulement, certains annuaires adapte leurs propres idées au ldap  
 
Whyjack dit : (15:46:42)
   ce qui peut donné des différences entre ldap
 
Whyjack dit : (15:46:43)
   notemment d'un pt de vue securité
 
Olivier - ICQ: 57391732 dit : (15:47:03)
   ok, c'est un peu plus clair maintenant
 
Whyjack dit : (15:47:16)
   tu veux faire quoi avec ?
 
Olivier - ICQ: 57391732 dit : (15:47:39)
   pour le moment, rien, c'est par curiosité.
 
Whyjack dit : (15:47:48)
   ok
 
Olivier - ICQ: 57391732 dit : (15:47:54)
   merci.
 
Whyjack dit : (15:48:03)
   de rien
 
Whyjack dit : (15:48:17)
   si tu veux, va sur www.openldap.org
 
Whyjack dit : (15:48:24)
   comme tu aime le standard ...
 
Whyjack dit : (15:48:33)
   c basé sur les rfc publiés
 
Whyjack dit : (15:48:40)
   pas d'ecart
 
Whyjack dit : (15:48:45)
   c ce qu'il y a de plus standard sur le marché
 
Olivier - ICQ: 57391732 dit : (15:50:12)
   ok parfait.

Reply

Marsh Posté le 25-11-2003 à 16:00:26    

[:blueflag]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 25-11-2003 à 16:09:08    

Merci pour ce ICQ snippet ! :jap:
Il y a un truc que je me demande, ayant lu l'explication de Whyjack, c'est le stockage au format textuel. ça veut dire quoi, texte au sens de quel encodage. Et j'ai lu que l'on pouvait sérialiser des objets Java dans des annuaires LDAP... Quid du format texte, donc ?


---------------
Le site de ma maman
Reply

Marsh Posté le 25-11-2003 à 16:10:21    

d'apres ce qu'il me semble tu peux avoir des types dans un ldap
 
au fait l'abbreviation NDS tu la sors d'ou? jms vu ça moi


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 25-11-2003 à 16:18:45    

je pense que quand il parle de format textuel, il parle d'un format non compressé ou crypté.

Reply

Marsh Posté le 25-11-2003 à 16:39:19    


jms c'est Java Messaging Service (je crois)
[:dehors]
 
Dans un bouquin sur Java côté serveur. Un passage sur JNDI.


---------------
Le site de ma maman
Reply

Marsh Posté le 25-11-2003 à 16:45:58    

j'arrive pas à retrouver l'accronyme qui me semble etre le "bon"..


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 25-11-2003 à 16:45:58   

Reply

Marsh Posté le 25-11-2003 à 17:52:12    

Le problème c'est que NDS, c'est le Novell Directory Server. Donc mon acronyme est pourri. Reflexion faite, c'est dans le tutorial de Sun sur JNDI, ils parlent de Naming and Directory Servers, j'en ai fait l'acronyme NDS, benoitement (benou-staïle quoi :D)


Message édité par Cherrytree le 25-11-2003 à 17:52:47

---------------
Le site de ma maman
Reply

Marsh Posté le 25-11-2003 à 19:18:13    

the real moins moins a écrit :

j'arrive pas à retrouver l'accronyme qui me semble etre le "bon"..


 
JNDI

Reply

Marsh Posté le 25-11-2003 à 19:20:51    

euh ben oui en fait
c pas vraiment que je cherchais mais c'est qd meme une bonne réponse :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 25-11-2003 à 20:00:14    


Oui, mais non.


---------------
Le site de ma maman
Reply

Marsh Posté le 25-11-2003 à 21:00:14    

Cherrytree a écrit :


Oui, mais non.


 
ce n'est pas à toi que je parle. Je sais très bien que ce n'est pas le terme adéquat (c'est le terme dans le monde Java).
 
Je répondais à greg en étant presque sur que c'était à ce terme là qu'il pensait.

Reply

Marsh Posté le 26-11-2003 à 07:18:43    

Sinon, qu'est ce qui fait qu'une entreprise ayant une license Oracle ou DB2 ou autre, achètera une license Domino ou autre pour se mettre un annuaire LDAP. Pourquoi ne créerait-elle pas plutôt une base dans son RDBMS et intégrerait celle-ci dans son SI ?


---------------
Le site de ma maman
Reply

Marsh Posté le 26-11-2003 à 08:04:34    

l'accessibilité à l'information n'est pas la même (de même que la standardisation des domaines)
 
J'ai l'impression que tu vois LDAP comme un machin qui permet de persister des données en base mais c'est faux. Derrière ce stockage d'info (des users par exemple) tu as tout un tas d'interfaces qui te sont offertes pour y accéder à l'info.
 
Alors ajouter une base dans ton SGBD c'est bien beau mais après tu dois écrire la logique qui permet d'y accéder, de filtrer l'info, etc.
 
Je ne comprends pas vraiment ta question en fait :o


Message édité par darklord le 26-11-2003 à 08:04:53
Reply

Marsh Posté le 26-11-2003 à 08:05:36    

Cherrytree a écrit :

LDAP par exemple : ça sert à faire persister de l'info


 
ah bin effectivement c'était pas qu'une impression.

Reply

Marsh Posté le 26-11-2003 à 08:06:48    

Cherrytree a écrit :

Sinon, qu'est ce qui fait qu'une entreprise ayant une license Oracle ou DB2 ou autre, achètera une license Domino ou autre pour se mettre un annuaire LDAP. Pourquoi ne créerait-elle pas plutôt une base dans son RDBMS et intégrerait celle-ci dans son SI ?


 
vu les termes que tu utilises t'es un futur dirigeant toi, y a pas de doute :D

Reply

Marsh Posté le 26-11-2003 à 08:11:30    

DarkLord a écrit :


 
vu les termes que tu utilises t'es un futur dirigeant toi, y a pas de doute :D


J'envisage sérieusement de monter ma boite dans une dizaine d'années, ouais. :D


---------------
Le site de ma maman
Reply

Marsh Posté le 26-11-2003 à 10:16:01    

Cherrytree a écrit :


J'envisage sérieusement de monter ma boite dans une dizaine d'années, ouais. :D  


 
:/


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-11-2003 à 10:23:06    


Ben quoi, tu veux que je t'embauche ? :D


---------------
Le site de ma maman
Reply

Marsh Posté le 26-11-2003 à 10:27:39    

Cherrytree a écrit :


Ben quoi, tu veux que je t'embauche ? :D  


 
Certainement pas.
 
Blague à part, des remarques concernant ce que j'ai écris pour SGBD vs Naming directory?


Message édité par darklord le 26-11-2003 à 10:29:32

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-11-2003 à 11:31:26    

Pas pour l'instant. J'avais pas vu, en fait. [:joce]


---------------
Le site de ma maman
Reply

Marsh Posté le 26-11-2003 à 13:49:29    

DarkLord a écrit :

l'accessibilité à l'information n'est pas la même (de même que la standardisation des domaines)
[...]
tu as tout un tas d'interfaces qui te sont offertes pour y accéder à l'info.


Tu as des exemples ?


---------------
Le site de ma maman
Reply

Marsh Posté le 27-11-2003 à 21:27:47    

DarkLord a écrit :

l'accessibilité à l'information n'est pas la même (de même que la standardisation des domaines)
 
J'ai l'impression que tu vois LDAP comme un machin qui permet de persister des données en base mais c'est faux. Derrière ce stockage d'info (des users par exemple) tu as tout un tas d'interfaces qui te sont offertes pour y accéder à l'info.
 
Alors ajouter une base dans ton SGBD c'est bien beau mais après tu dois écrire la logique qui permet d'y accéder, de filtrer l'info, etc.
 
Je ne comprends pas vraiment ta question en fait :o


Ben dans mon bouquin, programmation Java côté Serveur, j'ai ça :
 

Citation :

JNDI peut également servir à effectuer des opérations de stockage et d'extraction d'objets Java dans le serveur LDAP. Dans notre exemple, la servlet va extraire un objet Java. Passons en revue les étapes du stockage d'un objet Java sérialisé dans le serveur LDAP.


 
C'est là que je ne perçois plus la différence entre LDAP et une base de données. Pour exemple, IBM développe un annuaire LDAP appelé IBM Tivoli Directory Trucmuche, et dans le zip, tu trouves : DB2 et WebSphere.


---------------
Le site de ma maman
Reply

Marsh Posté le 27-11-2003 à 21:38:25    

tiens j'avais un truc à dire ici.
tout à l'heure. uppes le topic d'ici 1h ou 2 , que j'y repense.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-11-2003 à 22:43:33    

J'y connais rien en LDAP, mais juste pour voir si j'ai bien suivi :
 
En gros LDAP n'est pas un système de stockage (persistance), c'est plus un protocol d'accès à l'info. En très gros, c'est plus proche d'un language comme SQL.
 
En fait rien n'interdit d'utiliser un SGBD pour gérer la persistance d'un LDAP. C'est juste la manière de lui causer qui change.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 27-11-2003 à 22:44:14    

d'ailleurs c'est ce que font certains serveurs ldap


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-11-2003 à 22:55:17    

bon oui, ce que je voulais dire..
sous réserve hein, je me plante peut etre completement.
 
avec un ldap, tu n'es pas limité par un "datamodel" fixe, tu peux avoir des attributs "dynamiques". exemple:
 
j'ai un ldap/une db qui recense les employés de ma boite; attributs classiques style nom prénom adresse n° compte banquaire email telephone.
tout ça est tres bien.
en amont j'ai une petite appli qui me permet de faire des recherches sur ces champs.
 
bon, le "problème" intervient le jour ou je me dis que merde, il faudrait que je garde un trace du n° de badge d'accès au batiment de chacun.
* scenario de merde: j'ai une db. chiotte, je dois: mettre à jour mon script d'init-db dans la procedure d'install de mon appli; mettre à jour la db de prod (alter table...); mettre à jour mon appli elle meme pour qu'elle prenne le nouveau champ en compte.
* scenario pèpère: j'ai un ldap. je met mon appli a jour, et hop.
 
en effet, il existe un "champ" dans les ldap, notamment sur les "schema" de base style celui pour recenser les personnes, qui ne prend pas UNE valeur, mais une serie de paires clé-valeurs. et on peut simplement faire des requetes sur ce champ pour une clé donnée.
 
Désolé pour le manque de précision du vocabulaire, et, je le répète, cette info est à vérifier, mais je pense que je suis pas *trop* loin d'une vérité qui serait donc un bon avantage par rapport a un rdbms dans certains cas.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-11-2003 à 23:08:57    

Un peut dans le style "base de registres" alors ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 27-11-2003 à 23:17:17    

je n'sais pas


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 28-11-2003 à 06:09:16    

Oui effectivement, LDAP supporte bien l'ajout de multiples attributs et surtout de multiples valeurs pour ces attributs.


---------------
Le site de ma maman
Reply

Marsh Posté le 28-11-2003 à 08:16:22    

le seul interet que je vois, c'est la standardisation pour l'acces aux données. utile pour l'intégration de progiciels & cie...

Reply

Marsh Posté le 28-11-2003 à 10:28:10    

Cherrytree a écrit :

Citation :

JNDI peut également servir à effectuer des opérations de stockage et d'extraction d'objets Java dans le serveur LDAP. Dans notre exemple, la servlet va extraire un objet Java. Passons en revue les étapes du stockage d'un objet Java sérialisé dans le serveur LDAP.


 
C'est là que je ne perçois plus la différence entre LDAP et une base de données.  


 
Le fait est que tu prends un exemple qui n'est pas du tout représentatif de ce que LDAP fournit comme fonctionnalité (désolé de ne pas avoir répondu à ton autre post j'ai oublié).
 
Avant de te casse la tête et de le comparer à une base de donnés ([:kiki]) essaie peut etre de te baser sur un exemple vraiment représentatif de ldap.
 
Exemple1: un annuaire du personnel. Le personnel est classé en différents départements, chaque membre a des attributs bien spécifiques, des droits d'accès sur les machines de production, d'intégration, etc. Avec un login unique les accès d'un utilisation sont stockés à un seul endroit
 
Exemple2: l'utilisation en J2EE pour stocker les références vers proxy et autre session pools
 
Maintenant prends ces exemples, essaie de les traduire en des implémentation utilisant une BD (avec rien au dessus) et tu la verras la différence. J'ai vraiment l'impression que tu vois tout ca comme "j'ai un objet truchmuch avec telles et tellles propriétés et je stocke ca qqaprt".
 
Et l'accès à l'information?
 
En ce qui concerne Tivoli, est ce que tu sais ce que c'est au moins? Si après, dans leur implémentation propre à eux, ils mettent un DB2 derrière pour stocker les données c'est leur problème. C'est pas pour ca que tu dois confondre le concept global et l'implémentation.
 
On peut ouvrir un topic c'est quoi la différence entre un entity bean et une table d'une base de données si tu veux. C'est du même niveau.
 
(Et je ne suis pas un fan de LDAP hein au cas où certains se poseraient la question, c'est la comparaison avec une BD qui a l'air de durer dans le temps que je trouve dingue)


Message édité par darklord le 28-11-2003 à 10:30:10

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 28-11-2003 à 21:51:23    

l'arbre à cerise est pas passé :/

Reply

Marsh Posté le 28-11-2003 à 23:23:30    

Me voilà. Je suis venu, j'ai lu, et j'ai comprus.
 
1) L'accès à l'information. Je peux pas trop juger, je n'ai ni utilisé JNDI ni quelque autre API LDAP que ce soit (style Netscape, c'est celle qu'on a la boite). En revanche, je pense savoir ce que c'est que de vérifier si un user existe et à suffisamment de privilèges, avec une base de données. Je me dis que ça ne peut pas être beaucoup plus léger que ma petite requête SQL ; mais j'ai sans doute tort.
 
2) l'utilisation de J2EE... là, je ne peux vraiment rien dire. Je n'ai aucun point de comparaison. :jap:
 
Le truc qui m'effraie avec Tivoli, c'est ma vision PME. ça me parait lourd de faire gérer l'annuaire à une webapp. Alors que (c'est ma croyance du moment, hein, ne te fâche pas) une petite requête SQL et hop ! Bon si tu t'en sers pour stocker tes références vers proxy toussa, je dis plus rien. :D


---------------
Le site de ma maman
Reply

Marsh Posté le 29-11-2003 à 09:49:59    

mais t'as vraiment rien compris putain.
 

Cherrytree a écrit :


1) L'accès à l'information. Je peux pas trop juger, je n'ai ni utilisé JNDI ni quelque autre API LDAP que ce soit (style Netscape, c'est celle qu'on a la boite). En revanche, je pense savoir ce que c'est que de vérifier si un user existe et à suffisamment de privilèges, avec une base de données. Je me dis que ça ne peut pas être beaucoup plus léger que ma petite requête SQL ; mais j'ai sans doute tort.


 
dans un domaine relativement simple et stable, probablement.
 
Que dans ton cas de PME à toi, une requête SQL soit plus simple que l'utilisation de LDAP ou autre c'est parfait, mais c'est pas une raison pour le comparer à une base de données.  
 
Est ce que tu réalises que ca n'a pas de sens? Enfin, je veux dire est ce que tu réalises en quoi tu généralise un concept à ton cas qui n'est pas représentatif?
 
C'est un peu comme le mec qui n'a pas besoin de plus qu'excel pour stocker ses données et qu'il ouvre un thread "c'est quoi la différence entre excel et mySQL"
 
Quand à l'utilisation de Tivoli en PME ... C'est bien ce que je disais, un futur dirigeant :/


Message édité par darklord le 29-11-2003 à 09:52:34
Reply

Marsh Posté le 29-11-2003 à 19:17:04    

Il se trouve que j'ai eu Qcslapd et OpenLDAP sous la main, et ni l'un ni l'autre ne me vont. Le premier causait des problèmes à l'application que nous développons, le second a commencé à montrer des signes de fatigue la semaine passée. Pour nos tests, et vu la situation financière de la boite, je cherche une autre implémentation de LDAP gratuite. C'est là que je suis tombé sur le serveur LDAP de Tivoli. Quand j'ai eu dézippé l'archive, je me suis demandé : "au fond, pourquoi on s'enquiquine avec LDAP". Ni plus ni moins.
 
Je n'ai pas cherché à généraliser. J'ai une expérience avec LDAP, qui ne m'a pas convaincu de l'utilité du truc par rapport à une base relationnelle. Bon, je demande. Pas la peine de le prendre comme ça... Tu te rends compte au moins, que tu t'irrites de la pauvreté intellectuelle des gens parce que tu as compris avant eux un concept informatique ? Avec moi tu n'as pas fini ! :D


---------------
Le site de ma maman
Reply

Marsh Posté le 29-11-2003 à 22:33:29    

[:ula]  
 
:hello:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed