Какую проблему решает LDAP в мире Интернета?

Я понимаю, что LDAP — это протокол, который используется для связи с системой Active Directory, такой как OpenLDAP.
Я также понимаю, что OpenLDAP — это своего рода база данных, которая хранит объекты в дереве.
Мой вопрос: когда и для чего следует Я использую (если вообще использую) LDAP вместо реляционной БД.


person Itay Moav -Malimovka    schedule 02.01.2010    source источник


Ответы (5)


Реляционная база данных и база данных на основе LDAP решают разные задачи. LDAP сильно ориентирован на быстрое чтение и медленную запись, он иерархичен, распределен и основан на полномочиях (например, DNS). Если ваши данные не соответствуют этому предположению, LDAP не является правильным выбором.

LDAP хорошо подходит для описания иерархии объектов, например адресной книги компании. В то время как реляционная база данных требует, чтобы каждый отдел имел доступ к большой глобальной таблице со всеми адресами, решение LDAP позволяет распределить ответственность за адресную книгу каждого отдела между самим отделом, оставляя ее доступной для запросов всем остальным в компании.

LDAP позволяет хранить любую информацию. Адресная книга является наиболее типичным примером, но все, что может быть задумано как иерархический, ориентированный на полномочия набор данных, может храниться в LDAP. Другой пример: предположим, что библиотека является частью консорциума библиотек, и они хотят хранить данные о книгах, которые у них есть. База данных иерархична (каждая библиотека является авторитетной в пределах своих границ), и каждая библиотека независима от других. Внутри схемы можно хранить данные о книгах, такие как автор, год издания, название, isbn и так далее.

Для хранения данных вы представляете их в специальном формате файлов LDIF, но существуют и API. LDIF, однако, является наиболее простым способом просмотра информации. это просто текстовый файл. Пример из википедии

 dn: cn=John Doe,dc=example,dc=com
 cn: John Doe
 givenName: John
 sn: Doe
 telephoneNumber: +1 888 555 6789
 telephoneNumber: +1 888 555 1232
 mail: [email protected]
 manager: cn=Barbara Doe,dc=example,dc=com
 objectClass: inetOrgPerson
 objectClass: organizationalPerson
 objectClass: person
 objectClass: top

Это описывает информацию о парне по имени Джон Доу. Он находится в «области» dc=example, dc=com и имеет кучу другой информации, связанной с ним (подумайте, как строка таблицы). Обратите внимание, что иерархия может быть (очевидно) связана с интернет-доменами, как в этом случае, но на самом деле описание иерархии очень гибкое. Вы можете организовать иерархию на основе национальных границ или отделов компании или чего угодно, как вам больше нравится.

Вы должны использовать LDAP, когда вам нужно управлять доменом данных, в котором у вас есть

  1. потребность в гибкой схеме с уменьшенными требованиями к хранилищу.
  2. сниженная потребность в записи, высокая потребность в чтении
  3. сильный иерархический характер управления и организации информации
  4. полномочия и делегирование полномочий
person Stefano Borini    schedule 02.01.2010

Этот краткий и приятный пост содержит очень полезную информацию, касающуюся этого сценария.

Если вам интересно, вы можете углубиться здесь, что является продолжением приведенная выше ссылка.

person Mahesh Velaga    schedule 02.01.2010

LDAP хорош для данных, которые часто считываются и редко записываются. Например, LDAP часто используется для хранения информации о логине или пароле пользователя.

person Erich Douglass    schedule 02.01.2010

LDAP — это централизованная система управления пользователями и учетными записями, которая также может хранить некоторые поля данных.

person Ritesh M Nayak    schedule 02.01.2010

Вы также можете использовать LDAP в качестве механизма поиска-адресации для получения ресурсов, например соединений с базой данных или удаленных служб.

Что мне нравится в LDAP, так это то, что вы можете получать информацию в стиле каталога/URL. Это сильно отличается от СУБД, где вы должны использовать специальный язык запросов. Это часто имеет смысл и интуитивно понятно, если все организовано иерархически.

person manuel aldana    schedule 02.01.2010