Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Хранение данных без СУБД


Автор: goodday1941 5.9.2008, 13:18
есть ли какието либы реализующие это? просто нужно хранить инфу но при этом не использовать базу данных..
тоесть теоретически данные должны хранится в файлах(скорее всего XML) проекта, ну и нужно что бы к ним можно было жостучатся с помощью чегото по подобию напоминающего SQL )

смотрел в сторону lucene но там либа под другие вещи заточена... так же есть такая СУБД дерби(походу хранит данные как раз в XML файлах), но она на сколько я понял тоже не подходит так как там нужно устанавливать сервер

Автор: powerOn 5.9.2008, 13:22
Для дерби сервер не обязательно устанавливать. Просто подключаешь либы и Embedded DB уже в твоей программе.

Автор: goodday1941 5.9.2008, 13:28
тоесть я смогу просто прописать путь где у меня будут хранится файлы БД? и дальше там создавать таблицы базы данных?

Автор: goodday1941 5.9.2008, 13:57
вроде как можно... ладно когда разгребусь с этим вопросом выложу соображения по этому поводу...

Автор: powerOn 5.9.2008, 15:00
Цитата(goodday1941 @  5.9.2008,  14:28 Найти цитируемый пост)
тоесть я смогу просто прописать путь где у меня будут хранится файлы БД? и дальше там создавать таблицы базы данных? 

совершенно верно. указываешь путь на диске, он там создаст базу. все внутри твоего Java процесса.

Автор: Platon 5.9.2008, 15:10
Уважаемый, вот еще пища для размышления - http://forum.vingrad.ru/forum/topic-223140.html

Добавлено через 1 минуту и 33 секунды
А вот http://forum.vingrad.ru/forum/topic-223358.html

Автор: COVD 6.9.2008, 18:57
Мы тоже хотели бы на клиентском приложении некоторые данные, получаемые с сервера, сохранять на локальный диск. Данные, которые потенциально могут быть повторно использованы. Чтобы не загружать каждый раз. Хранить их на диске, чтобы освободить память клиента. Но с использованием встроенной базы данных есть некоторое сомнение. База данных может тоже хранить что-то в памяти. Может ли она какие-то данные для производительности оставлять в памяти? Ведь это надо уметь контролировать ( если вообще возможно ). А при использовании обычных файлов все прозрачно - записали в файл (неважно, удачно или не удачно) и ссылку на данные обнуляем.  

Автор: powerOn 6.9.2008, 22:48
Цитата(COVD @  6.9.2008,  19:57 Найти цитируемый пост)
Может ли она какие-то данные для производительности оставлять в памяти?

Может, это называется кэширование. Но грамотное кэширование является плюсом, а не минусом. ИМХО, не стоит об этом беспокоиться, пока конкретных проблем не возникло. Предварительная оптимизация - это известный антипаттерн. smile 

Автор: COVD 7.9.2008, 06:21
Мне нужно кеширование на диск с той же целью, что и в браузерах. Приложение-то клиентское. Но браузеры сохраняют отдельные файлы. Не похоже, что используют базу данных. Почему?

Автор: Platon 7.9.2008, 09:59
Цитата(COVD @  7.9.2008,  07:21 Найти цитируемый пост)
Не похоже, что используют базу данных. Почему?

а куда им БД?

Автор: powerOn 7.9.2008, 12:35
Цитата(COVD @  7.9.2008,  07:21 Найти цитируемый пост)
Мне нужно кеширование на диск с той же целью, что и в браузерах. Приложение-то клиентское. Но браузеры сохраняют отдельные файлы. Не похоже, что используют базу данных. Почему? 


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

Автор: COVD 7.9.2008, 16:47
Цитата

а куда им БД?


Значит, выходит, и мне ни к чему. Но готовые решения для кеширования, которые я видел, как правило используют БД.

Цитата

... а если кэшировать реляционные данные, то нет смысла ...


О! Просветление! Ключевое слово "реляционные". В браузере и у меня кандидаты на кеширование - нереляционные данные. Это независимые порции  информации, полученные из сети. Это файлы и кешировать их на диске естественно в виде отдельных файлов.

"Будем искать" (С)

Автор: goodday1941 7.9.2008, 20:47
такс в общем со всем разобрался сам.. все придельно просто....

хотелось сказать сразу о минусах....
отсутствует нормальный админский гуи... скачал специальнор для этого воркбенч... но он убогий... в результате решил юзать ЖПА и Хибернейт что б не гемороится с администрированием базы (база походу и так неважно работает (плюс там убогая поддержка SQL по сравнению с тем же постгресом который я постоянно юзаю) а хибернейт еще все дело затормозит(конечно подключил эхкеш, но в планах восновном будет инсерт инфы)... а перформенс в моем случвае важная штука будет)....

в общем пока так будет... если все будет плохо буду переводить на H2(в ссылке которую Платон сбросил пишут что перформенс в несколько раз выше)... а если и так не будет плюсов то ЖДБС.. брр

Если кому интерестно что и как получилось могу закинуть части кода...

Добавлено @ 20:58
Цитата(COVD @  7.9.2008,  16:47 Найти цитируемый пост)
Значит, выходит, и мне ни к чему. Но готовые решения для кеширования, которые я видел, как правило используют БД.

да ладно тот же ЭХКЕШ кеширует результаты методов(будь то даошки или что либо другое) и сохраняет на диске(но там много подводных камней связанных с сериализацией вылазит).... с другими не сталкивался в плотную, но походу то же делают...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)