У меня очень специфические требования к встроенной базе данных Java, поэтому было бы неплохо, если кто-то знает или имеет ответ на эти конкретные вопросы,
- Несколько секунд (или даже минут) потеритранзакции / вставки / удаление - это нормально во время сбоя питания.
- Но сама база данных повреждена, и приложение не может быть перезапущено, что-то, что мне не понравилось бы.
- Периодическийfsync был бы предпочтителен.
- Скорость записи от 4 до 5 вставок в секунду - это нормально.
- Приложение, вероятно, будет работать в течение очень длительного периода времени (возможно, более года), поэтому даже небольшоеутечки памяти в течение длительных периодов были бы плохой вещью (это низкий приоритет, так как я не ожидаю, что кто-то узнает об этом заранее).
Это предназначено для использования в качестве внутренней очереди, нос гораздо большим количеством параметров (с настраиваемыми повторными попытками и пакетной обработкой, недоступными в существующих встроенных Java-очередях).
Ожидается, что он будет в многопоточном окружении идиск будет SSD (будет работать на голом железе, без виртуализации).
Возможными кандидатами являются Derby, H2, HSQLDB, SQLite (менее предпочтительный из-за необходимости построения для нескольких архитектур)