Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите выбрать встроенную БД на Java 
V
    Опции темы
CSharpProgrammer
Дата 29.4.2010, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Доброго всем времени суток!

Помогите выбрать встроенную бд на Java типа ключ\значение.
Задача состоит в следующем.

есть 2 структуры (число = набор чисел)

Код

1) Long = Set<Long>
2) Long = Set<Long>
...
n) Long = Set<Long>


и (число = обьект)

Код

1) Long = Object
2) Long = Object
...
n) Long = Object


класс Object состовной

Код

class Object
{
    long id;
    List<OtherObject> list;
}

class OtherObject
{
    long id;
    int index;
}


необходимые операции это:

Код

// Для второй стрктуктуры
void db.add(Long id, Object o); 
void db.update(Long id, Object newO); 
Object db.get(Long id);

// Для первой стрктуктуры
void db.add(Long id, Set<Long> set); 
void db.update(Long id, Set<Long> newSet); 
Set<Long> db.get(Long id);


Работа с большим количеством данных, главное скорость, гибкость не нужна.
Любым примерам буду рад.

Спасибо.

З.Ы. т.е. мне нужно что-то на подобии  Map<Long, Set<Long>> и Map<Long, Object>.

Это сообщение отредактировал(а) CSharpProgrammer - 29.4.2010, 18:56
PM MAIL   Вверх
Ares4322
Дата 29.4.2010, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 25.9.2007
Где: Россия, Москва

Репутация: 1
Всего: 3



А нужна in-memory БД или все-таки нет?
PM MAIL   Вверх
COVD
Дата 29.4.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Может вам база данных и не нужна? Возможно, вам достаточно Map'а c сериализацией на диск. Это кэш-система. Например, http://ehcache.org/ или полный список Open Source Cache Solutions in Java
PM MAIL   Вверх
CSharpProgrammer
Дата 29.4.2010, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Изначально всё так и было, были просто Map'ы и они сериализовались, но сейчас объем данных превышает 1 Гб и в дальнейшем будет только расти, оперативной памяти уже не хватает и соответственно возникла потребность в переносе всей структуры на диск.   

По поводу кэш-систем спасибо, посмотрю. 

Это сообщение отредактировал(а) CSharpProgrammer - 29.4.2010, 20:25
PM MAIL   Вверх
Ares4322
Дата 29.4.2010, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 25.9.2007
Где: Россия, Москва

Репутация: 1
Всего: 3



Есть файловые бд.  Погугли про NoSQL. Там как раз есть ключ-значение
PM MAIL   Вверх
CSharpProgrammer
Дата 29.4.2010, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Цитата(Ares4322 @ 29.4.2010,  20:22)
Есть файловые бд.  Погугли про NoSQL. Там как раз есть ключ-значение

Из NoSQL вроде как подходит Berkeley DB Java Edition, но я не совсем разобрался с сохранением "вложенных" объектов. Если у кого есть пару примерчиков близких к моей задаче был бы весьма благодарен.
PM MAIL   Вверх
COVD
Дата 29.4.2010, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Цитата

сейчас объем данных превышает 1 Гб и в дальнейшем будет только расти, оперативной памяти уже не хватает 

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

ЗЫ Кстати, возможно кэш может служить альтернативой Hibernate.

Это сообщение отредактировал(а) COVD - 29.4.2010, 20:51
PM MAIL   Вверх
CSharpProgrammer
Дата 29.4.2010, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Цитата(COVD @ 29.4.2010,  20:49)
Цитата

сейчас объем данных превышает 1 Гб и в дальнейшем будет только расти, оперативной памяти уже не хватает 

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

Благодарю! Сейчас буду копать в этом направлении.
PM MAIL   Вверх
Ares4322
Дата 29.4.2010, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 25.9.2007
Где: Россия, Москва

Репутация: 1
Всего: 3



Многие современный NoSQL БД сохраняют данные в JSON. А сериализовать/десериализовать java-объекты в JSON очень просто с помощью готовых библиотек
PM MAIL   Вверх
CSharpProgrammer
Дата 29.4.2010, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Цитата(Ares4322 @ 29.4.2010,  20:51)
Многие современный NoSQL БД сохраняют данные в JSON. А сериализовать/десериализовать java-объекты в JSON очень просто с помощью готовых библиотек

Спасибо за информацию! Со временем обязательно буду с этим разбираться,  а пока мне нужно максимальное быстрое и простое решение.  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.