Сравнение встроенных баз данных Java [закрывается]

97
задан charles ross 1 January 2019 в 21:32
поделиться

15 ответов

Любой

  • HSQLDB - Используемый OpenOffice, протестированным и стабильным. Это просто в использовании. Если Вы хотите отредактировать свои данные дб, можно просто открыть файл и отредактировать операторы вставки.

или

  • второе полугодие - Сказало, чтобы быть быстрее (разработчиком, который первоначально разработал hsqldb, также)

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

разработчик H2 поднял хорошую оценку результатов деятельности:
http://www.h2database.com/html/performance.html

57
ответ дан Sven Lilienthal 24 November 2019 в 05:24
поделиться

Я понимаю, что Вы упомянули просмотр SQL, но все остальное в Вашем вопросе заставляет меня хотеть предложить, чтобы Вы также рассмотрели DB4O, который является большой, простой объект DB .

2
ответ дан Fabian Steeg 24 November 2019 в 05:24
поделиться

Я лично одобряю HSQLDB, но главным образом потому что это было первым, я попробовал.

H2, как говорят, быстрее и обеспечивает более хороший GUI frontend (который универсален и работает с любым драйвером JDBC, между прочим).

, По крайней мере, HSQLDB, H2 и Derby обеспечивают режимы сервера, который является большим для разработки, потому что можно получить доступ к DB с приложением и некоторым инструментом одновременно (который встроил режим, обычно не позволяет).

3
ответ дан Joachim Sauer 24 November 2019 в 05:24
поделиться

Я использовал Derby, и я действительно ненавижу, это - функции преобразования типа данных, особенно функции даты/времени. (Тип числа) <-> преобразование Varchar это - боль.

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

Последние преобразования типа данных Версии Derby

3
ответ дан Telcontar 24 November 2019 в 05:24
поделиться

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

лучшее я услышал (не собственный опыт однако), berkleyDB. Но если Вы открытый исходный код это, это не будет стоить Вам, рука и участок для использования из-за лицензирования... видят этот http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html для деталей.

PS berkleyDB не является реляционной базой данных в случае, если Вы не знали.

4
ответ дан Chii 24 November 2019 в 05:24
поделиться

Большинство вещей уже было сказано, но я могу просто добавить, что использовал HSQL, Derby и DB Berkely в нескольких моих любимых проектов, и они все работали просто великолепно. Таким образом, я не думаю, что действительно имеет значение очень быть честным. Одна вещь, которую стоит упомянуть, состоит в том, что HSQL сохраняет себя как текстовый файл с SQL-операторами, который довольно хорош. Делает его действительно легким для того, когда Вы разрабатываете, чтобы сделать тесты и данные установки быстро. Может также сделать быстрые редактирования в случае необходимости. Угадайте, что Вы могли легко передать все это любой базе данных, если когда-нибудь необходимо изменяться также:)

4
ответ дан willcodejavaforfood 24 November 2019 в 05:24
поделиться

Я - большой поклонник DB4O и для.Net и для Java.

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

4
ответ дан Kilhoffer 24 November 2019 в 05:24
поделиться

Какие критерии Вы будете использовать для оценки их? Если Вы еще не знаете, то Вы не должны решать прямо сейчас. Попытайтесь подать свою заявку как агностика реализации базы данных, как Вы можете - обеспечение соответствующих оберток, объекты доступа к данным и т.д., и принимать это решение, когда у Вас есть все факты для вручения, и необходимо решить.

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

я столкнулся с той же проблемой некоторое время назад. Я не знал, для какой базы данных пойти, таким образом, мое первое решение использовало Derby (или HSQLDB?), и я позже смог переключиться на HSQLDB (или Derby? Не может помнить, какое решение работало), как только я определил, где у меня были проблемы (касающийся производительности) и какое решение будет действительно работать на меня.

4
ответ дан Brian Agnew 24 November 2019 в 05:24
поделиться

neo4j:

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

, у меня не было шанса попробовать их все же - но это выглядит очень перспективным. Обратите внимание, что это не база данных SQL - Ваш граф объектов сохраняется для Вас - таким образом, это не могло бы подходить для Вашего существующего приложения.

7
ответ дан devstopfix 24 November 2019 в 05:24
поделиться

Мы используем HSQLDB в производстве как опция "без конфигураций" для нашего приложения. Это позволяет людям испытывать без стычки установки реальной базы данных.

Однако мы делаем не поддержка это для нормальной эксплуатации. Причины - несколько:

  1. Замедляется пропорционально к размеру данных.
  2. Трудный к доступу за пределами нашего приложения (например, для пользовательских отчетов).
  3. Транзакции / в дисковой синхронизации трудно разобраться, таким образом, легко потерять данные.

Для (по крайней мере 2) и (3), существуют пути вокруг этого, но это трудно; намного легче, например, MySQL установки.

7
ответ дан Jason Cohen 24 November 2019 в 05:24
поделиться

Java DB (распределение Sun Derby Apache) теперь поставлется в JDK 6!

я требовался, чтобы сделать что-то как Jason Cohen и думал, что это похоже на самый легкий способ находиться в дистрибутиве JDK (какая из прошлой недели является теперь требованием для моего приложения). Или возможно я просто ленив тот путь.

12
ответ дан Dan Halbert 24 November 2019 в 05:24
поделиться

HSQLDB является хорошим кандидатом (то, что он используется в OpenOffice, может, убедил некоторых из Вас), но для такого маленького персонального приложения, почему не использование объектной базы данных (вместо классической реляционной базы данных)?

я использовал DB4O в одном из моих проектов, и я очень удовлетворен им. Будучи объектно-ориентированными, Вы не нуждаетесь в целом уровне Hibernate и можете непосредственно вставить/обновить/удалить/запросить объекты! Кроме того, Вы не должны волноваться о схеме, Вы непосредственно работаете с объектами, и DB4O делает остальных!

я соглашаюсь, что это может занять время, чтобы привыкнуть к этому новому типу базы данных, но проверить учебное руководство DB40, чтобы видеть, как легкий это делает работу с DB!

РЕДАКТИРОВАНИЕ: Как сказано в комментариях, DB4O обрабатывает автоматически более новые версии классов. Кроме того, инструмент для просмотра и обновления базы данных за пределами приложения доступен здесь: http://code.google.com/p/db4o-om/

14
ответ дан Wookai 24 November 2019 в 05:24
поделиться

Я пошел бы с H2, производительность предназначена к намного лучше, чем Derby. Читайте http://www.h2database.com/html/performance.html для большего количества информации

21
ответ дан K2J 24 November 2019 в 05:24
поделиться

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

я раньше использовал HSQLDB и Сверхзвуковой приблизительно 3 года назад. Это имеет некоторые главные проблемы производительности в то время, и я переключаюсь на Derby от него из-за тех проблем. Derby был тверд, даже когда это было в инкубаторе в Apache.

34
ответ дан Chris Dail 24 November 2019 в 05:24
поделиться

Думаю, я немного опоздал (сильно опоздал ;-)) на этот пост, но я хотел бы добавить Perst, объектно-ориентированную встроенную базу данных с открытым исходным кодом для Java. &.СЕТЬ. на ваше рассмотрение. Perst - это встроенная база данных с открытым исходным кодом / двойной лицензией для Java. Дистрибутив совместим с платформой Google Android, а также включает Perst Lite для Java ME. Мы даже создали тестовый тест Android и подготовили технический документ по этому вопросу ... вы можете посмотреть здесь: http://www.mcobject.com/index.cfm?fuseaction=download&pageid=581§ionid=133

Всего наилучшего, Крис

3
ответ дан 24 November 2019 в 05:24
поделиться
Другие вопросы по тегам:

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