2009-04-03 8 views
7

Estoy muy en sintonía con el modelado relacional, pero nuevo en el modelado LDAP y estoy buscando las mejores prácticas para diseñar esquemas LDAP. Me encantaría saber cuáles son los equivalentes de la tercera forma normal y otras prácticas en el mundo de LDAP?Mejores prácticas de LDAP Modeling

Los enlaces a libros blancos que amplíen este tema son muy apreciados.

+0

Se agradecen todos los enlaces a listas completamente exhaustivas de las mejores prácticas de modelado LDAP. – McGovernTheory

Respuesta

9

Escoja un esquema estándar, tales como core, cosine, inetOrgPerson, eduPerson, Java Objects, etc. apropiado para su propósito previsto. La mayoría de los servidores LDAP vienen con una colección de valores predeterminados.

Prefiera los elementos existentes, pero si necesita extend the schema, prefijo con comCompany (nombre de dominio de su empresa u otro identificador único) para evitar conflictos de futuros elementos estándar.

2

LDAP es inherentemente NOT compatible incluso con la primera forma normal - algunos de sus atributos pueden contener valores múltiples.

LDAP es un sistema diseñado para un rendimiento óptimo de lectura/búsqueda, p. es más apropiado en un escenario en el que leerá/buscará los datos mucho más que cambiarlo (-> directorios, el directorio telefónico de su empresa no cambiará docenas de veces al día).

LDAP no está diseñado o diseñado para reemplazar o competir con el sistema de base de datos relacional estándar que sobresalga en la entrada/transformación de datos, donde una gran cantidad de sus operaciones estarán insertando y/o actualizando datos. Para eso son perfectamente adecuados los RDBMS.

Por lo tanto, para terminar: LDAP vs. RDBMS es realmente un no arranque, y los dos mundos son bastante distintos y bastante diferentes en su estilo de trabajo. No recomendaría intentar aplicar ciegamente algo de un mundo al otro; será una mala combinación.

En cuanto a la inspiración para el diseño del esquema LDAP, definitivamente miraría Active Directory de Microsoft, eDirectory de Novell (o como se llame hoy en día) y posiblemente otros directorios LDAP, y aprenda de sus diseños.

Marc

+1

Utilicé 3NF como una analogía y simplemente estoy buscando una lista enumerada de mejores prácticas para modelar LDAP – McGovernTheory

+0

También los directorios LDAP no implementan ningún tipo de integridad referencial. – pjp

+0

1. Muchos servidores de directorios profesionales tienen complementos de integridad referencial. 2. La afirmación sobre "leer más que cambiar" ya no es válida para servidores modernos y de calidad. Los servidores más nuevos tienen una brecha mucho más estrecha entre los tiempos de búsqueda/comparación y actualización. –

4

Nuestra experiencia muestra el diseño del esquema y el DIT es muy dependiente de la finalidad de la del servidor LDAP.

Para el esquema, por lo general, es mejor seguir con la industria o el "estándar" del proveedor de servidores LDAP.

Para la estructura del DIT, a menos que sea para un servicio de archivo e impresión (es decir, Active Directory) o OES (Netware), generalmente una estructura "plana" se escala mejor.

Si se trata de una implementación grande (es decir,> 100k), se deben evitar los grupos, si es posible.

-Jim

3

Basado en mi experiencia Desnormalizar tanto como sea posible, ya que el objetivo, como se mencionó anteriormente, con LDAP es muy rápido de búsqueda, pero eso significa que la inserción de registros puede tomar más tiempo, después de un tiempo . También es importante asegurarse de que puede mantener copias de seguridad de ldap.

Es posible que desee considerar la creación de varias clases, como un usuario, pero también una clase para el usuario de autorización, si es necesario.

Mira lo que probablemente sea necesario. Por ejemplo, en la universidad en la que estuve nos dimos cuenta de que algunas personas que solo tienen una relación tangencial con la universidad tendrán una cuenta LDAP.

A medida que analiza qué tipos de usuarios o recursos estarán en el ldap, le ayudará a determinar cómo configurar a las personas. Por ejemplo, si tiene una clase que es solo un nombre de usuario o identificador y una contraseña, y tal vez un certificado, entonces sería útil para la flexibilidad.

Si va a permitir que las personas inicien sesión desde su cuenta de Unix, entonces hay ciertas clases que deben estar en el esquema.