Коллекции Java и производительность базы данных в памяти - PullRequest
8 голосов
/ 14 февраля 2012

Я не уверен, использовать ли Коллекции Java или какую-либо БД в памяти (H2 или HSQLDB - они, вероятно, самые быстрые).Мне нужны хорошие результаты производительности - будут сотни объектов / строк, JOIN или более сложные запросы не будут выполняться.

Я действительно рассматриваю БД в памяти из-за ограниченного размера кучи Java - объекты, с которыми я работаю, могут быть довольно большими, а также их будет много (сотни, как я упоминал)

Как вы думаете, это хорошая идея использовать базу данных в памяти для большого количества данных?

Ответы [ 3 ]

3 голосов
/ 14 февраля 2012

Сотни объектов по 10 КБ - это всего лишь несколько МБ.Проще говоря, это мое предложение.Сотни тысяч объектов размером 1 КБ по-прежнему легко помещаются в 32-разрядную JVM.

Я бы не использовал базу данных в памяти, пока вы не попадете в ГБ данных.Если у вас есть сотни ГБ, единственным вариантом является использование какой-либо базы данных.

Отказ от ответственности: я использую в базах данных памяти и даже написал одну или две.

3 голосов
/ 14 февраля 2012

Попробуйте сделать это с коллекциями. Если вы тогда понимаете проблему, вы все равно можете это сделать. Все дело в абстрагировании реализации, чтобы ваши алгоритмы не ожидали того или другого. (Еще одна «ранняя оптимизация - это зло»)

2 голосов
/ 14 февраля 2012

Как уже говорили другие, "сотни" - это на самом деле не много, и теперь кажется, что вы даже говорите потенциально меньше, чем сотни. И если размер кучи является проблемой, вы можете увеличить размер кучи JVM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...