Hsqldb-How данные сохранятся при сбое - PullRequest
0 голосов
/ 06 сентября 2011

Я хочу, чтобы данные фиксировались в файле данных hsqldb во время сбоя процесса без входа в файл журнала.Я установил одну команду «SET FILES WRITE DELAY FALSE», но для сохранения данных необходимо, чтобы файл журнала был включен. Поскольку ведение журнала будет влиять на производительность, я этого не хочу.это влияние входа в приложение.

Заранее спасибо, Анил

1 Ответ

0 голосов
/ 06 сентября 2011

HSQLDB по умолчанию записывает данные в файл .log. Этот файл .log используется для восстановления в случае сбоя.

Если установлено значение SET FILES WRITE DELAY FALSE, механизм выполняет синхронизацию файла с файлом .log при каждой фиксации. Причиной снижения производительности является операция синхронизации файлов. Этот параметр полезен для тестов, когда многие изменения записываются быстро и процесс всегда существует. Во многих приложениях это необязательно, поскольку по умолчанию синхронизация файла .log выполняется каждые 0,5 секунды, если записаны новые записи. Это может быть уменьшено до 100 миллисекунд без большого влияния на производительность.

Вы можете отключить выход с помощью оператора SET FILES LOG FALSE и выполнить массовые вставки или обновления, но это не рекомендуется в качестве настройки по умолчанию.

В любое время, в том числе, когда ведение журнала отключено, вы можете выполнить явный CHECKPOINT, чтобы зафиксировать все данные в файлах .data и .script.

...