Подключение другой реляционной БД к OpenDS

В настоящее время я работаю над проектом с opends. Мне нужно загрузить более 200 тыс. записей в OpenDS. Но, к сожалению, он дает сбой в случайные моменты времени, когда лимит файла превышает 10–15 КБ.

Когда я ищу в Google эту конкретную ошибку (идентификатор предупреждения 9896233: среда базы данных JE, соответствующая идентификатору бэкэнда userRoot, повреждена. Перезапустите сервер каталогов, чтобы снова открыть среду), кажется, что бэкэнд-база данных openDS [BerklyDB] не так надежна при добавлении большого количества записи. Как я могу подключить новую коммерческую или надежную реляционную БД с открытым исходным кодом [Oracle/H2] к openDS. любая конфигурация? или мне нужно изменить код openDS?


person Asanka123    schedule 22.08.2012    source источник


Ответы (1)


Во-первых, вы должны знать, что Oracle отключил проект OpenDS, и теперь он полностью остановлен. Разработка продолжается как проект OpenDJ с открытым исходным кодом: http://opendj.forgerock.org.

Это сказало, я полагаю, что есть проблема с Вашей окружающей средой. Когда я еще работал над OpenDS, нашим основным стресс-тестом был импорт и очень высокая нагрузка против 10 миллионов пользователей. 200 тыс. записей — это не массовое число. Мои ежедневные тесты OpenDJ на моем ноутбуке выполняются с использованием от 100 000 до 1 000 000 записей. У нас есть клиенты, работающие с OpenDJ, с более чем 20 миллионами записей, которые растут на 40% каждые 6 месяцев!

Доказано, что Berkeley DB очень масштабируема и надежна. Вещи, которые вы, возможно, захотите проверить: какое максимальное количество файлов может быть открыто одним процессом на вашем компьютере? В Linux по умолчанию установлено значение 1024, и это ограничение может быть легко достигнуто с помощью OpenDS или OpenDJ. Вы используете локальную файловую систему? Berkeley DB не поддерживается в сетевых FS, таких как NFS или другие NAS.

Наконец, проверьте файл журналов/ошибок и системный журнал. Скорее всего, в одном из них будет сообщение, содержащее основную причину проблемы (скорее всего, логи/ошибки).

С уважением,

Людовик Пуату

ForgeRock — менеджер по продукту для OpenDJ

person Ludovic Poitou    schedule 22.08.2012
comment
Большое спасибо за ваш бесценный быстрый ответ. Я попробую с OpenDJ сегодня в течение дня и сообщу вам о статусе. - person Asanka123; 23.08.2012
comment
Спасибо еще раз. В журнале server.out были обнаружены следующие исключения. ‹DaemonThread name=Cleaner-2/› пойманное исключение: com.sleepycat.je.log.DbChecksumException: (JE 3.3.82) Расположение 0xb37/0x18529a ожидаемое 230608380 получено 3064670493 com.sleepycat.je.log.DbChecksumException: (JE 3.3. 82) Местоположение 0xb37/0x18529a ожидаемое 230608380 получено 3064670493 на com.sleepycat.je.log.ChecksumValidator.validate(ChecksumValidator.java:96) .. Выход - person Asanka123; 23.08.2012
comment
‹DaemonThread name=Checkpointer/› пойманное исключение: среда недействительна из-за предыдущего исключения: com.sleepycat.je.log.DbChecksumException: (JE 3.3.82) местоположение 0xb37/0x18529a ожидаемое 230608380 получено 3064670493 среда недействительна из-за предыдущего исключения: com. sleepycat.je.log.DbChecksumException: (JE 3.3.82) Местоположение 0xb37/0x18529a ожидаемое 230608380 получено 3064670493 в com.sleepycat.je.log.ChecksumValidator.validate(ChecksumValidator.java:96) ... Выход - person Asanka123; 23.08.2012