Какая из следующих баз данных лучше всего подходит для большого настольного приложения: Firebird, JavaDB, hsqldb? Мне нужна производительность, простота использования и бесплатная лицензия.Какая лучшая база данных для настольного приложения Java
ответ
Если вы ищете встраиваемой базы данных, моя рекомендация будет H2 (расшифровывается Hypersonic 2, (вос) написана автором HSQLDB). См. detailed comparison of features и performances.
Использование базы данных Java на 100% позволило бы запустить ее в том же процессе и упростить работу с ИМО.
H2 выглядит очень хорошо. – BalusC
@BalusC Я отказался от hsqldb и javadb в пользу H2, мне просто нравится. И его [режим совместимости] (http://www.h2database.com/html/features.html#compatibility) (он может «вести себя», как, например, Oracle, DB2 и т. Д.) Отлично подходит для тестирования. –
Эй, это хорошо. Должен признаться, что я не знал, что это означает Hypersonic 2. Это будет новая игрушка, чтобы играть рано или поздно :) – BalusC
В зависимости от требований и объема данных. Мой последний выбор был MySQL, и это было очень удобно (качели приложение)
Позвольте мне порекомендовать вам на Postgres (http://www.postgresql.org/ ), который является одним из лучших бесплатных децибел я знаю.
У меня был опыт работы с этой БД в моем предыдущем проекте, в котором мы провели ~ 20 таблиц в схеме, у самой большой таблицы было ~ 100 000 строк, а сумма общих данных была не такой большой.
Этот проект работает в производстве более 2 лет, и особых проблем с ним не возникало.
Шей
Если он отправляет настольное приложение, вероятно, выгодно не устанавливать пользователям отдельное приложение базы данных, поэтому ОП дала предложение JavaDB и hsqldb, оба из которых могут быть встроены в Java-приложения. Я не уверен, как Firebird вписывается в это. Разумеется, это никоим образом не копается в Postgres, что, на мой взгляд, является очевидным выбором всякий раз, когда требуется база данных: Desktop или Server. – Geoff
Я думаю, вам будет лучше с встраиваемой базой данных для этого. HSQLDB или H2 будут работать, как и SQLite. SQLite довольно популярен вне Java-мира (например, он используется проектом Mozilla). Я не знаком с JavaDB, поэтому я не могу говорить о его возможностях.
Известно, что SQLite довольно быстро.
Я бы выбрал СУБД, которая является не Java-specific. Возможно, вам захочется поделиться вашими данными с помощью приложения C++ или .NET. Если не нужно, чтобы клиент/сервер рассматривал SQLite или H2. Если это так, рассмотрите Postgres. Все они имеют драйверы ODBC и/или драйверы для определенных языков, отличных от Java.
Firebird очень хорошая база, особенно для настольных приложений
Существует хороший водитель Java.
Специально для «больших настольных приложений». Firebird масштабируется до сотен гигабайт и более. –
Моя рекомендация H2. Недавно я перенесла db (с сервера MS SQL), в том числе 2 больших табличных хостинга> 2 миллиона строк в каждой. Сначала я попробовал Derby и имел проблемы (не только производительность) - тогда я переключился на H2 и успешно перенес все.
Этот вопрос также имеет хорошие обсуждения: http://stackoverflow.com/questions/41233/java-and-sqlite –
Что вы хотите сохранить в базе данных? Объекты? XML? примитивные типы? – Catchwa
+1 для BalusC, удар вам нужно принять ответ, который вам нравится, на задаваемые вами вопросы, иначе люди больше не захотят вам отвечать. – dimo414