Встроенная база данных специализируется на данных небольшого размера и почти не записывает? - PullRequest
1 голос
/ 29 марта 2012

Я ищу облегченную встроенную базу данных для хранения (и редко изменяю) нескольких килобайт данных (от 5 до 100 КБ) в приложениях Java (в основном для Android, но также и для других платформ).

Ожидаемые характеристики:

  • быстрое при чтении, но не обязательно быстрое при записи
  • почти не требует служебных данных размера (используется килобайт, даже если нет данных), но не обязательно очень компактно (используется килобайт на килобайтфактические данные)
  • очень маленький размер JAR-файла клиентской библиотеки базы данных
  • с открытым исходным кодом

ВОПРОС: Существует ли формат базы данных, специально предназначенный для этихкрошечные случаи?
Текстовые решения также приемлемы.

Если уместно: это будут данные такого типа .

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Заполните его в объект и сериализовать в файл. Запишите новый файл при сохранении, переименуйте его поверх старого, чтобы «зафиксировать» его, чтобы вам не пришлось беспокоиться о его повреждении в случае сбоя записи. Нет БД, нет ничего. Простой.

0 голосов
/ 29 марта 2012

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

Я не знаю об этой Java и том статическом инициализаторе, но для меня это звучит как ограничение размера кода, а не данные? Почему данные времени выполнения влияют на байт-код?

Не могу предложить конкретные библиотеки. Может быть, есть какая-нибудь библиотека стилей Berkeley DB, DSV или xBase.

...