@@ -21,9 +21,9 @@ slapd\-mdb \- механизм манипуляции данными для slap
21
21
.B @SYSCONFDIR@/slapd.conf
22
22
23
23
.SH ОПИСАНИЕ
24
- Механизм манипуляции данными для
24
+ В ReOpenLDAP механизм манипуляции данными для
25
25
.BR slapd (8)
26
- \fBmdb\fP использует для хранения данных библиотеку ReOpenLDAP reliable Lightning Memory-Mapped DB (MDBX ).
26
+ \fBmdb\fP использует для хранения данных библиотеку Extended Lightning Memory-Mapped Data Base (\fBlibmdbx\fP ).
27
27
Библиотека не имеет собственных механизмов кэширования, полагаясь на средства
28
28
управления виртуальной памятью операционной системы, в которой она работает.
29
29
\fBmdb\fP является рекомендуемым первичным механизмом для работы с базами данных.
@@ -77,7 +77,7 @@ slapd\-mdb \- механизм манипуляции данными для slap
77
77
.BI checkpoint \ <kbyte>\ <min>
78
78
Указывает частоту синхронизации образа базы данных в оперативной памяти
79
79
с записанным на диске. Эта установка полезна при использовании директивы
80
- \fBdbnosync\fP, либо флагов \fBnosync\fR, \fBnometasync\fR, \fBmapasync\fR
80
+ \fBdbnosync\fP, либо флагов \fBnosync\fR, \fBlazysync\fR, \ fBnometasync\fR, \fBmapasync\fR
81
81
в директиве \fBenvflags\fR. Иначе синхронизация выполняется
82
82
при завершении каждой операции (транзакции) записи и дополнительное
83
83
формирование контрольных точек теряет смысл.
@@ -91,15 +91,21 @@ slapd\-mdb \- механизм манипуляции данными для slap
91
91
\fIПримечание 1:\fP
92
92
В ReOpenLDAP гарантируется консистентность данных на диске в каждой
93
93
контрольной точке, вне зависимости от режима заданного флагами директивы \fBnosync\fR.
94
- Исходный проект OpenLDAP в некоторых сценариях допускает вероятность разрушения
94
+ Оригинальный OpenLDAP в некоторых сценариях допускает полное разрушение
95
95
базы данных при комбинировании \fBwritemap\fR с \fBnosync\fR, \fBnometasync\fR
96
96
и \fBmapasync\fR.
97
+ Однако, ОБРАТИТЕ ВНИМАНИЕ, в режимах \fBnosync\fR,
98
+ \fBlazysync\fR и \fBnometasync\fR после нештатно (аварийного)
99
+ завершения опорный движок хранения \fBlibmdbx\fP откатит все
100
+ изменения до последней контрольной точки фиксации на диске,
101
+ сформированной в соответствии с параметрами опции \fBcheckpoint\fR.
102
+ Соответственно, если \fBcheckpoint\fR не используется, то могут быть потеряны
103
+ все изменения в DIT после последнего штатного (не аварийного) завершения \fBslapd\fR.
97
104
.LP
98
105
\fIПримечание 2:\fP
99
106
В ReOpenLDAP реализована поддержка установки \fI<kbyte>\fP. При этом под объемом
100
107
данных подразумевается суммарный размер измененных страниц внутри \fBmdb\fP.
101
- Однако в исходном проекте OpenLDAP в настоящее время эта установка
102
- по-прежнему не обслуживается.
108
+ В оригинальном OpenLDAP эта опция по-прежнему не обслуживается.
103
109
.LP
104
110
\fIПримечание 3:\fP
105
111
В ReOpenLDAP интерпретация значения \fI<min>\fP зависит от режима задаваемого
@@ -110,20 +116,23 @@ slapd\-mdb \- механизм манипуляции данными для slap
110
116
.RE
111
117
.TP
112
118
.B dbnosync
113
- Указывает, что содержимое базы данных на диске не должно немедленно синхронизироваться
114
- при изменении содержимого базы данных в памяти. Включение этой опции может повысить
115
- производительность за счёт увеличения риска потери данных. В частности, если до синхронизации
116
- изменений произойдёт крах операционной системы, некоторое количество транзакций может быть потеряно.
117
- По умолчанию при фиксации каждой транзакции выполняется полная синхронизация данных.
119
+ Указывает, что содержимое базы данных на диске не должно
120
+ немедленно синхронизироваться при изменении содержимого базы
121
+ данных в памяти. Включение этой опции может повысить
122
+ производительность за счёт увеличения риска потери данных. В
123
+ частности, если до синхронизации изменений произойдёт крах
124
+ операционной системы, существенное количество транзакций
125
+ (изменений) может быть потеряно. По умолчанию при фиксации
126
+ каждой транзакции выполняется полная синхронизация данных.
118
127
.TP
119
128
.BI directory \ <directory>
120
- Указывает директорию, где находятся LMDB -файлы, содержащие эту базу данных
129
+ Указывает директорию, где находятся MDBX -файлы, содержащие эту базу данных
121
130
и ассоциированные с ней индексы. Для каждой базы данных должна быть определена
122
131
отдельная директория. По умолчанию -
123
132
.BR @LOCALSTATEDIR@/reopenldap\-data .
124
133
.TP
125
134
.BI dreamcatcher \ <lag>\ <percentage>
126
- Управляет механизмом перезапуска долгих операций чтения, которые в LMDB
135
+ Управляет механизмом перезапуска долгих операций чтения, которые в \fBlibmdbx\fP
127
136
останавливают освобождение и повторное использование страниц, использованных
128
137
в старых версиях-снимках базы данных (результатов прошлых транзакций записи),
129
138
что при интенсивном потоке изменений приводит к полному заполнению базы и отказу.
@@ -178,8 +187,8 @@ slapd\-mdb \- механизм манипуляции данными для slap
178
187
.RE
179
188
.TP
180
189
.TP
181
- .BI envflags \ [nosync]\ [nometasync]\ [writemap]\ [mapasync]\ [nordahead]\ [lifo]\ [coalesce]
182
- Указывает флаги для более детального контроля работы библиотеки LMDB .
190
+ .BI envflags \ [nosync]\ [lazysync]\ [ nometasync]\ [writemap]\ [mapasync]\ [nordahead]\ [lifo]\ [coalesce]
191
+ Указывает флаги для более детального контроля работы опорного движка \fBlibmdbx\fP .
183
192
\fIПримечание:\fP в slapd.conf перечисленные флаги для \fBenvflags\fR необходимо
184
193
задавать без скобок и запятых, разделяя пробелами или символами табуляции.
185
194
.RS
@@ -190,10 +199,15 @@ slapd\-mdb \- механизм манипуляции данными для slap
190
199
.RE
191
200
.RS
192
201
.TP
202
+ .B lazysync
203
+ Опция будет документирована позже.
204
+ .RE
205
+ .RS
206
+ .TP
193
207
.B nometasync
194
208
При фиксации транзакции данные синхронизируются, а синхронизация метастраницы пропускается.
195
209
Этот метод несколько быстрее, чем выполнение полной синхронизации, но существует вероятность потери
196
- последних зафиксированных транзакций при крахе операционной системы. Если выставлены оба флага
210
+ последней транзакций при крахе операционной системы. Если выставлены оба флага
197
211
.I nometasync
198
212
и
199
213
.IR nosync ,
@@ -223,30 +237,27 @@ slapd\-mdb \- механизм манипуляции данными для slap
223
237
Отключает упреждающее чтение файла. Обычно операционная система выполняет упреждающее чтение при каждом запросе на чтение.
224
238
Как правило, это повышает производительность операций чтения, но может ухудшить производительность при чтении
225
239
с произвольным доступом, если системная память заполнена и размер базы данных больше чем объём RAM.
226
- Эта опция не реализована на Windows.
227
240
.RE
228
241
.RS
229
242
.TP
230
243
.B lifo
231
- Включает LIFO (обратный) порядок переработки внутри \fBmdb\fP записей FreeDB,
232
- в которых указываются страницы освобождающиеся при переработке старых версий
233
- базы данных (результатов прошлых транзакций записи).
244
+ Включает LIFO (обратный) порядок переработки внутри сборщикам мусора \fBlibmdbx\fP.
234
245
Вследствие чего, с большой вероятностью, от транзакции к транзакции используется
235
246
повторяющийся набор страниц. Это, в свою очередь, позволяет подсистеме хранения
236
247
эффективно использовать внутренние механизмы кеширования и обратной записи,
237
248
объединяя такие повторные операции. В результате может существенно увеличиться
238
249
общая производительность одновременно со снижением реальной нагрузки
239
250
на подсистему хранения (диски).
240
- Режим \fIlifo\fP доступен только в ReOpenLDAP и отсутствует в исходном OpenLDAP .
251
+ Режим \fIlifo\fP доступен только в ReOpenLDAP.
241
252
.RE
242
253
.RS
243
254
.TP
244
255
.B coalesce
245
- Включает коагуляцию записей FreeDB внутри \fBmdb \fP (объединение списков
256
+ Включает коагуляцию записей сборщика мусора внутри \fBlibmdbx \fP (объединение списков
246
257
свободных страниц), что уменьшает объем внутренних индексов и количество
247
258
обновляемых страниц при любых изменениях. В результате в большинстве
248
259
сценариев несколько уменьшается нагрузка на подсистему хранения.
249
- Режим \fIcoalesce\fP доступен только в ReOpenLDAP и отсутствует в исходном OpenLDAP .
260
+ Режим \fIcoalesce\fP доступен только в ReOpenLDAP.
250
261
.RE
251
262
.TP
252
263
\fBindex \fR{\fI<attrlist>\fR|\fBdefault\fR} [\fBpres\fR,\fBeq\fR,\fBapprox\fR,\fBsub\fR,\fI<special>\fR]
@@ -281,7 +292,7 @@ slapd\-mdb \- механизм манипуляции данными для slap
281
292
.BI maxreaders \ <integer>
282
293
Указывает максимальное количество потоков, которые могут параллельно получать доступ на чтение к базе данных.
283
294
Работа таких инструментов, как slapcat, считается за один поток в дополнение к потокам
284
- в любых активных процессах slapd. Значение по умолчанию - 126 .
295
+ в любых активных процессах slapd. Значение по умолчанию - 61 .
285
296
.TP
286
297
.BI maxsize \ <bytes>
287
298
Указывает максимальный размер базы данных в байтах. При запуске под отображение базы данных в памяти
@@ -329,6 +340,7 @@ slapd\-mdb \- механизм манипуляции данными для slap
329
340
.B slapd
330
341
по умолчанию.
331
342
.SH СМОТРИТЕ ТАКЖЕ
343
+ .BR libmdbx (https://github.com/leo-yuriev/libmdbx/README-RU.md),
332
344
.BR slapd.conf (5),
333
345
.BR slapd\-config (5),
334
346
.BR slapd (8),
0 commit comments