Как эффективно запросить большой файл LDIF? - PullRequest
0 голосов
/ 09 июня 2018

У меня есть файл LDIF.Я хочу извлечь из него информацию, например, вернуть все объекты, где определенный атрибут имеет определенное значение, или вернуть значение определенного атрибута всех объектов.Я хочу, чтобы это было эффективно, даже если размер файла LDIF составляет гигабайт.

Очевидным было бы импортировать его в OpenLDAP, однако мне кажется, что мне не хватает некоторой информации о схеме.Мои навыки работы с LDAP ограничены, но я всегда получаю эту ошибку:

$ slapadd -n 0 -F /etc/ldap/slapd.d -l config.ldif
5b1b9f46 PROXIED attributeDescription "DC" inserted.
5b1b9f46 <= str2entry: str2ad(instanceType): attribute type undefined
slapadd: could not parse entry (line=1)
_                       0.06% eta   none elapsed            none spd   7.1 M/s
Closing DB...

Мои исследования показывают, что импортировать этот файл LDIF с помощью OpenLDAP нетривиально.

Другая идея состоит в том, чтобыкак-то импортировать его в SQL.Очевидно, существует несколько способов хранения иерархических данных, но ни один из них, похоже, не дает дешевых запросов.У меня есть такая роскошь, что он по сути предназначен только для чтения, поэтому мне все равно, будут ли вставки дорогими.

Я использую Linux и предпочел бы решения на python.

Любыеидеи?

1 Ответ

0 голосов
/ 16 июля 2018

Поскольку я являюсь автором синтаксического анализатора LDIF в python-ldap, я бы сказал, что он слишком медленный и потребляет слишком много памяти для таких больших данных.

Я бы рекомендовал изучить необходимую схему изагрузить данные в OpenLDAP с помощью slapadd .Это, вероятно, немного работы, но определенно не ракетостроение.

...