Какова лучшая ценность объектной базы данных Java?

Какова лучшая ценность базы данных объектов Java, которая имеет:

  • Простота использования: одна строка кода для хранить любой объект.
  • Эффективное использование памяти: только загружает то, что нужно, не весь объект каждый раз (т.е. «Прозрачная активация»).
  • Автоматически изменять объекты, когда манипулировать (т.е. "Прозрачный Постоянство ").
  • Собственные запросы (нет необходимости в SQL, JDOQL и т. Д.)
  • Free

где кто-либо имеет опыт работы со следующим:

  • Neodatis
  • db4o
  • JODB
  • joafip
  • MyOODB

?

7 голосов | спросил Navigateur 29 WedEurope/Moscow2010-12-29T16:30:26+03:00Europe/Moscow12bEurope/MoscowWed, 29 Dec 2010 16:30:26 +0300 2010, 16:30:26

3 ответа


0

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

  • Простота использования. Я думаю, что db4o очень прост во многих сценариях. Вы добавляете банку db4o в проект, открываете базу данных и начать хранение и запрос объектов .
  • Эффективное использование памяти. Да, db4o может это сделать. Он поддерживает прозрачную активацию . В этом режиме db4o загружает только те объекты, которые вы на самом деле используете.
  • Автоматическое изменение объектов при манипуляциях: также поддерживается .
  • Собственные запросы: Да db4o поддерживает это. Нативные запросы отличные и мощные. Однако на практике сложные собственные запросы часто не могут быть оптимизированы и выполняются медленно. В таких случаях вам придется прибегнуть к менее элегантным запросам SODA.
  • Это бесплатно по лицензии GPL.

Еще одно преимущество db4o, в котором есть сообщество, которое может помочь и поделиться знаниями.

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

ответил Gamlor 24 Jpm1000000pmMon, 24 Jan 2011 15:46:02 +030011 2011, 15:46:02
0

Я недавно использовал HyperGraphDB , который удовлетворяет всем вашим требованиям. Я впечатлен этим: «HyperGraphDB - это универсальный механизм хранения данных с открытым исходным кодом, основанный на мощном формализме управления знаниями, называемом направленными гиперграфами. Хотя модель постоянной памяти разработана главным образом для управления знаниями, искусственного интеллекта и семантических веб-проектов, она может также использоваться как встроенная объектно-ориентированная база данных для проектов Java любого размера. Или графическая база данных. Или (не SQL) реляционная база данных. "

ответил John Mikic 2 Jpm1000000pmWed, 02 Jan 2013 19:17:48 +040013 2013, 19:17:48
0

Посмотрите на Redis:

http://redis.io/clients

У него есть клиенты Java, и, исходя из личного опыта, объекты Java лучше сопоставляются с базами данных на основе Key-Value, чем с реляционными базами данных, но с YMMV, в зависимости от ваших моделей использования и типов данных.

Примечание. Возможно, оно не соответствует всем вышеперечисленным требованиям, но вы, вероятно, можете добавить такие функции самостоятельно.

Обновление: https://github.com/xetorthio/johm

ответил Lior Cohen 29 WedEurope/Moscow2010-12-29T16:33:45+03:00Europe/Moscow12bEurope/MoscowWed, 29 Dec 2010 16:33:45 +0300 2010, 16:33:45

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132