Какая встроенная база данных имеет максимальное соответствие SQL и поддержку параллелизма?

StackOverflow https://stackoverflow.com/questions/1438817

Вопрос

Мое приложение в настоящее время использует Microsoft Access, но теперь может быть размещено на коробках Linux.Кроме того, при доступе с нескольких компьютеров один из них может обновлять записи (когда его читают другие пользователи).

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

Я пытался SQLite - файл, но многие из существующих запросов завершаются ошибкой или нуждаются в исправлении (например, в простом запросе с использованием внутреннего соединения скобок после FROM было неприемлемо для SQLite, и его пришлось удалить).Правое соединение тоже не поддерживается.

Я пришел, чтобы узнать о Дерби Апачей и H2, но сначала предпочел бы ваше ценное мнение.

Редактировать:

Я забыл упомянуть, что мое приложение полностью написано на Java.

Редактировать:

При предварительной настройке я использую mdb Microsoft Access, размещенный на сетевом диске, устанавливая соединение без DSN с удаленных компьютеров.

Обновить

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

Надеюсь, сервер Advantage тоже будет хорош, но не смог выкроить время для его просмотра.После ознакомления / использования Firebird не испытывайте никакой необходимости пробовать что-либо еще.

Это было полезно?

Решение

Я думаю, что это Жар - птица.

Даже Cte's поддерживаются в Firebird 2.1 !

Firebird работает на Windows, Linux, Mac OS...

Сойка - птичка драйвер для Java.

Есть несколько хороших инструментов миграции из Access в Firebird:

Другие советы

Я бы взглянул на сервер базы данных Advantage (sybase.com).Он работает на Windows, Linux и Сетевое программное обеспечение.У нас есть приложение для коммерческого учета / управления проектами для строительной отрасли, и мы перешли на Advantage 6-7 лет назад.Мы были чрезвычайно довольны выступлением и поддержкой.Клиенты тоже очень довольны.

Вы можете найти довольно подробное описание соответствия Derby стандартам SQL здесь: http://wiki.apache.org/db-derby/SQLvsDerbyFeatures

Наша компания также использует Преимущества.Мы пришли к этому из xBase - база данных предыстория, но с тех пор приняли его SQL-природу.Он работает на множестве платформ (Windows, Linux, NetWare) и имеет множество драйверов (PHP, ADO, JDBC, ODBC, Crystal), так что он работает практически в любой среде, в которой вы можете программировать.

Это может быть полезно в вашем исследовании: Сравнение систем управления реляционными базами данных.

Лично я бы посоветовал серьезно взглянуть на Firebird.Он кроссплатформенный, имеет встроенную Поставщик .NET и поддерживает объединения, о которых вы упомянули.

Жар - птица является наиболее "совместимой с SQL" встроенной базой данных.Движок встроенной версии такой же, как и серверной версии.

Обратите внимание, что с Firebird embedded только один клиент одновременно может подключаться к базе данных, поэтому вы можете использовать несколько подключений из одного процесса, но не подключаться из разных процессов.Эта проблема исправлена в Firebird 2.5 и выше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top