slapd-ndb - механизм манипуляции данными для slapd MySQL NDB
/usr/local/etc/openldap/slapd.conf
Механизм манипуляции данными для slapd(8) ndb использует для хранения данных пакет MySQL Cluster через его API NDB. Он обеспечивает отказоустойчивость с максимальной масштабируемостью, а также возможность совместимости с SQL.
Этот механизм разработан для хранения информации LDAP с использованием таблиц, также видимых из SQL. Для создания этих таблиц в нём используется высокоуровневое API SQL, а для хранения и извлечения данных из этих таблиц используется низкоуровневое API NDB. Движок NDB Cluster позволяет разделять данные между несколькими узлами данных, а этот механизм манипуляции данными позволяет нескольким экземплярам slapd одновременно совместно работать с указанной базой данных.
Общий подход заключается в использовании отдельных таблиц для каждого объектного класса LDAP. Данные записей, состоящих из нескольких объектных классов, будут распределены по нескольким таблицам. В таблицах с данными в качестве первичного ключа используется 64-битный entryID. Иерархия DIT хранится в отдельной таблице, в которой DN записей отображаются в entryID этих записей.
Этот механизм манипуляции данными является экспериментальным. Хотя этот механизм позиционируется как механизм манипуляции данными общего назначения, в настоящее время в нём отсутствует ряд общепринятых функций LDAP. Подробнее смотрите в файле TODO дерева исходных кодов OpenLDAP.
Приведённые ниже директивы slapd.conf применяются к базам данных механизма манипуляции данными ndb. То есть, они должны следовать за строкой "database ndb" и находиться до последующих строк "backend" или "database". Другие относящиеся к базам данных директивы описаны в man-странице slapd.conf(5).
Имя или IP-адрес хоста, на котором запущен сервер MySQL. Значение по умолчанию - "localhost". На системах Unix соединение с локальным сервером осуществляется с использованием сокета домена Unix, путь к которому указывается в директиве dbsocket.
Идентификатор учётной записи MySQL, который будет использоваться при соединении с сервером MySQL. У выбранного пользователя должно быть достаточно привилегий для манипулирования SQL-таблицами в целевой базе данных.
Пароль для пользователя dbuser.
Имя базы данных MySQL, которая будет использоваться.
Номер порта, который будет использоваться для TCP-соединения с сервером MySQL.
Сокет, который будет использоваться для соединения с локальным сервером MySQL.
Клиентские флаги для сессии MySQL. Подробности смотрите в документации MySQL.
Имя или IP-адрес хоста, на котором запущен управляющий сервер кластера. Значение по умолчанию - "localhost".
Количество кластерных соединений, которые будут установлены. Использование вплоть до 4 соединений может повысить производительность при более высокой нагрузке. Значение по умолчанию - 1.
Определяет, какой размер столбца использовать для хранения значений конкретного атрибута. Атрибуты LDAP хранятся в отдельных столбцах SQL-таблиц. Максимальный размер каждого столбца должен быть определён при создании таких таблиц. Если в определении схемы данных LDAP указано ограничение на размер значения атрибута, то эта величина будет использоваться как значение по умолчанию. Если такого ограничения нет, то по умолчанию будет использоваться размер в 128 байт. Максимально допустимое значение на текущий момент составляет 1024 байта.
Определяет список атрибутов, для которых необходимо поддерживать индексирование. В настоящее время не реализована поддержка индексирования по подстрокам. Единая структура индексов обеспечивает индексирование наличия атрибута, эквивалентности и неэквивалентности значений для указанных атрибутов.
Определяет список атрибутов, которые следует рассматривать как набор атрибутов. Данная директива создаёт таблицу с именем имя_набора, в которой будут содержаться все перечисленные атрибуты. Обычно атрибут располагается в таблице, названной по имени объектного класса, в котором он используется. Однако, атрибуты с одним именем разрешено хранить только в одной таблице. При наследовании объектных классов повторяющиеся атрибуты сохраняются только в таблице вышестоящего объектного класса. Наборы атрибутов должны быть определены для любых атрибутов, используемых в нескольких несвязанных друг с другом объектных классах, то есть классах, которые не связаны простой цепочкой наследования.
Механизм манипуляции данными ndb соблюдает большинство семантик контроля доступа, указанных в man-странице slapd.access(5).
конфигурационный файл slapd по умолчанию.
slapd.conf(5), slapd-config(5), slapd(8), slapadd(8), slapcat(8), slapindex(8), документацию кластера MySQL.
Howard Chu, при содействии Johan Andersson и других людей из MySQL.
OpenLDAP 2.4.47 | SLAPD-NDB(5) | 2018/12/19 |