Что еще следует хранить в службах каталогов, кроме информации о пользователе/авторизации?

Этот отличный ответ объясняет преимущества LDAP/Directories над RDBMS при правильных обстоятельствах, но только упоминает учетную запись пользователя и информацию, ориентированную на аутентификацию, как типы данных для хранения в каталоге.

Ответ в основном приписывает каталогу следующие преимущества:

  • Настроен на сверхбыстрое чтение, типичное для системы аутентификации.
  • Масштабируемость
  • Возможности репликации из коробки, которые нелегко реализовать в большинстве СУБД.
  • Совместимость

Мне интересно, какие другие варианты использования могут потребовать хранения данных в каталоге. Если производительность чтения является основным преимуществом, то я думаю, что любое хранилище OLAP может быть достойным кандидатом, например, хранилище данных или система генерации отчетов.

Но у меня был такой ограниченный опыт работы с LDAP и каталогами, что мне сложно увидеть «лес за деревьями»; Я видел только пользовательские данные, хранящиеся в каталоге, например:

DC=пример, DC=org, OU=служба поддержки клиентов, CN=John Smith

Я не совсем уверен, как это приведет к хранению/запросу непользовательских данных.

Может ли кто-нибудь подсказать мне, какие варианты использования, помимо систем пользователя/аутентификации, были бы первыми кандидатами на хранение в каталоге, и предоставить пример или два того, как запись будет выглядеть в каталоге , просто чтобы я мог понять, как хранить/организовывать непользовательские данные?


person smeeb    schedule 30.04.2015    source источник


Ответы (1)


Мой содержит:

  • пользователи
  • роли
  • политики паролей
  • записи для учетных записей электронной почты, используемых системой
  • записи для хостов серверов
  • записи для гостей ВМ, расположенные под их соответствующими хостами
  • записи для серверных программных модулей, например. Apache HTTPD, Tomcat, MySQL, сам OpenLDAP, SSH и т. д., а также их ведомые устройства репликации, где это применимо, с указанием общедоступных URL-адресов, организованных под соответствующими хостами или гостями.
  • Предыдущий пункт также включает наш почтовый сервер, который управляется извне интернет-провайдером, с URL-адресами для его портов SMTP и POP3, а также для интерфейса веб-почты, о чем слишком легко забыть.
  • записи для сетей и подсетей
  • записи для стран, в которых мы работаем, и подразделений, которые находятся в этих странах

Другими словами, помимо информации о пользователе/авторизации, есть много всего, а именно:

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

У меня также есть запись для самого сайта, содержащая его заголовок и т. д. для отображения на веб-страницах.

У меня также есть поддерево для продуктов, показывающее их взаимосвязь и спецификации материалов: в нашей системе нет каталога как такового, но он должен быть иерархически просматриваемым через веб-страницу. Эти продукты действительно documentSeries, имеют один или несколько documents, опять же с URL-адресами. Это на самом деле служит для организации сайта, без расстановки ссылок повсюду.

Я также использую его для инвентаризации определенного лабораторного оборудования, которое опять-таки не появится в базе данных.

И мне не пришлось писать ни одной схемы таблицы.

person user207421    schedule 04.05.2015
comment
Спасибо @EJP (+1) - это начинает проясняться, но у меня все еще есть несколько вопросов. (1) Можете ли вы объяснить мне, почему иерархические данные лучше подходят для службы каталогов, чем для РСУБД; Мне совершенно не хватает этого аргумента. Также мне трудно понять, сколько из ваших примеров иерархичны по своей природе. И (2) просто выбирая ваш последний пример (инвентаризация определенного лабораторного оборудования), вы подразумеваете, что никто никогда не будет хранить такую ​​​​информацию в БД - почему бы и нет? Я думаю, если вы можете объяснить это для меня я должен быть готов. Спасибо еще раз! - person smeeb; 04.05.2015
comment
Записи LDAP имеют дочерние элементы. Строки RDMS этого не делают, по крайней мере, по своей сути, хотя, конечно, вы можете организовать для этого схему, если вам это нужно. Кроме того, обозреватели LDAP показывают иерархию. Сервер может содержать гостевые виртуальные машины и службы, а гостевые виртуальные машины также могут содержать службы, а службы могут иметь URL-адреса. - person user207421; 04.05.2015
comment
Что касается лабораторного оборудования, то его покупают и продают, но на самом деле это не является частью бизнеса. Обычно он появляется в системе бухгалтерского учета только как товарно-материальные запасы или производственный актив, возможно, только по его себестоимости. Помещение его в LDAP показывает мне, где он находится как физически, так и логически (например, плагины в мэйнфреймах), дает мне возможность указать его серийный номер и т. д. - person user207421; 04.05.2015
comment
Еще раз спасибо - я не могу присудить награду еще 9 часов, но вы ее получили :-) - person smeeb; 04.05.2015
comment
@smeeb Это также зависит от размера и необходимой производительности. Чем больше ваши данные, тем быстрее будет ваша база данных по отношению к вашей службе каталогов при запросе к ней. Другим сравнением может быть файловая система (иерархическая) и РСУБД (реляционная), поскольку наивная реализация службы каталогов может быть смоделирована внутри файловой системы (каталоги = DC/OU, файлы = CN). - person user121391; 14.10.2016