Альтернатива хранения данных, кроме баз данных, таких как MySQL, SQL и т. Д. - PullRequest
2 голосов
/ 17 февраля 2010

Я выполнил свой проект Адресная книга в ядре Java, в котором мои данные хранятся в базе данных (MySql).

Я сталкиваюсь с проблемой, заключающейся в том, что при запуске моей программы на другом компьютере требуется повторное создание базы данных отверстий.

Поэтому, скажите, пожалуйста, какой-либо альтернативный способ хранения моих данных без использования программного обеспечения для баз данных, такого как mysql, sql и т. Д.

Ответы [ 8 ]

6 голосов
/ 17 февраля 2010

Вы можете использовать базу данных в памяти, такую ​​как HSQLDB , Derby (он же JavaDB ), H2 , ..

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

4 голосов
/ 17 февраля 2010

Я бы предложил использовать встраиваемую, легковесную базу данных, такую ​​как SQLite . Проверьте это. На странице функций (в разделе Предлагаемое использование для SQLite ):

Формат файла приложения. Вместо используя fopen () для написания XML или некоторых других собственный формат в дисковые файлы используется вашим приложением, используйте База данных SQLite вместо. Вы избежите необходимость писать и устранять неполадки парсер, ваши данные будут легче доступный и кроссплатформенный, и Ваши обновления будут транзакционными.

2 голосов
/ 17 февраля 2010

Весь смысл StackOverflow заключался в том, чтобы вам не приходилось посылать вопросы / ответы по электронной почте:)

Вы можете хранить данные в файловой системе, памяти (использовать сериализацию и т. Д.), Которые являются простыми альтернативами БД. Вы даже можете использовать HSQLDB, который может быть полностью запущен в памяти

0 голосов
/ 17 февраля 2010

Магазин, который я часто использую в эти дни, - Neo4j . Это графическая база данных, которая не только проста в использовании, но и полностью на Java и встроена. Я предпочитаю это альтернативе SQL.

0 голосов
/ 17 февраля 2010

Я предполагаю из вашего вопроса, что вы хотите какую-то форму постоянного хранилища для локальной файловой системы компьютера, на котором работает ваше приложение. В дополнение к этому вам необходимо решить, как будут использоваться данные в вашем приложении и каков их объем. Вам нужна база данных? Собираетесь ли вы искать данные в разных полях? Вам нужен язык запросов? Являются ли данные достаточно маленькими, чтобы вписаться в простую структуру данных в памяти? Насколько устойчивым это должно быть? Ответы на эти типы вопросов помогут привести к правильному выбору хранилища. Может быть, все, что вам нужно, это простой CSV-файл, XML или аналогичный. Существует множество облегченных баз данных, таких как SQLite, Berkelely DB, JavaDB и т. Д., Но требуется ли вам мощность базы данных в соответствии с вашими требованиями.

0 голосов
/ 17 февраля 2010

Просто используйте превайлер (.org). Быстрее и проще, чем использование базы данных.

0 голосов
/ 17 февраля 2010

Программное обеспечение базы данных, такое как mysql, sql и т. Д., Обеспечивает абстракцию с точки зрения усилий по реализации. Если вы хотите избежать использования того же самого, вы можете подумать о том, чтобы иметь свою собственную базу данных, такую ​​как XML или простые файлы. XML по-прежнему лучший выбор, так как доступны парсеры или обработчики XML. Размещение ваших данных в вашей настроенной базе данных / плоских файлах не будет управляемым в долгосрочной перспективе.

Почему бы вам не изучить sqlite? Он основан на файлах, значит вам не нужно устанавливать его отдельно, и все же у вас есть стандартный SQL для извлечения или взаимодействия с данными? Я думаю, что sqlite будет лучшим выбором.

0 голосов
/ 17 февраля 2010

Если ваши данные не так велики, вы можете использовать простой текстовый файл и хранить все в нем. Затем загрузите его в память. Но это приведет к изменению способа изменения / запроса данных.

...