Подтвердить что ты не робот

Postgres vs Firebird

Я хочу использовать Firebird или Postgres в своем следующем проекте разработки... во многом потому, что оба доступны под лицензией BSD.

Я нашел отличное сравнение двух баз данных на http://web.archive.org/web/20100305134128/http://www.amsoftwaredesign.com/pg_vs_fb

Но это сравнение неплохое 4+ лет, и с тех пор обе базы данных прошли долгий путь.

Кто-нибудь может обновить таблицу сравнения, чтобы иметь отношение к текущим версиям как Firebird, так и Postgres... или иметь ссылку на сайт, который делает хорошее недавнее сравнение между двумя базами данных?

4b9b3361

Ответ 1

Вам нужно выбрать технологию, например, RDBMS (только), при сравнении списка функций, но при ответе на такие вопросы:

  • достаточно ли он достаточно для ваших нужд?
  • подходит ли он для всех ваших потребностей?
  • что такое перспективы/поддержка/разработка/документация?

Для меня FB - не лучший выбор. Я могу указать две истории:

  • Я написал ограничение на таблицу. Пользователи добавляют некоторые строки в таблицу. Через некоторое время пользователь пытается добавить еще одну строку, но FB жалуется на ограничение. Что не так? Эта новая строка, несомненно, находится под ограничением. Проблема заключается в последней строке, которая была добавлена ​​перед ней! Эта строка была добавлена ​​некоторое время назад, это было неправильно, и до сих пор это в БД, и кто знает, сколько неверных данных теперь находится в БД. Очень плохо. FB неправильно использует ограничения.
  • Я написал хранимую процедуру (SP). FB хранит его в БД, FB может запускать его, и он работает - выберите данные, как ожидалось. Никто не предупреждает. Затем резервное копирование выполняется без ошибок. И только при восстановлении FB жалуется, что что-то не так с SP и... что... у вас нет восстановимой резервной копии сейчас.

Я могу указать еще два или три, но мне достаточно сказать: нет, FB не мой выбор, это не RDBMS, это игрушка.

И у них плохая документация. На самом деле нет фактических ссылок с каждой версией. Когда люди спрашивают на форумах: что представляет собой полный список функций в выпуске XX? Стандартный ответ: взять список из последней официальной версии Interbase и добавить (удалить) из всех последующих выпусков "примечания к выпуску".

И у них есть странная стратегия поддержки/развития. Они работают над тем, что им интересно, по глубоким техническим вопросам, а не по тому, что действительно важно или раздражает пользователей.

Ответ 2

Я работаю с Firebird в течение длительного времени и рекомендую НЕ использовать его каким-либо образом. У них много фундаментальных проблем, которых нет у Postgres. Не сказать много, просто скажите, что у них еще нет команды "изменить вид". Чтобы изменить представление, вы должны отбросить и воссоздать его и все представления в зависимости от него. Это одна из многих недостатков FB. Неправильно сравнивать эти БД Двигатели вообще. У меня было много случаев, когда база данных Firebird была повреждена даже без потери мощности, с обычными рабочими нагрузками и т.д. Если вы все еще решаете, не используйте Firebird! Если вы уже выбрали FB, вы запомните мои слова через некоторое время:)

Ответ 3

Я могу прокомментировать Firebird. После первого сравнения изменилось следующее:

Доступна многопоточная архитектура? Да (суперсервер)

На самом деле, Classic Server является предпочтительным типом сервера для масштабируемости. Начиная с Firebird 2.5 существует также архитектура под названием SuperClassic. Я написал небольшую заметку о различиях: SuperServer, ClassicServer или SuperClassic?

Сохраняет информацию о транзакциях в том же файл как данные? Да (красным)

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

Временные таблицы? Нет

Доступно в Firebird 2.1. Примечания к выпуску

Богатые встроенные функции? Нет

Firebird 2.1 также улучшил это. Примечания к выпуску

Несколько методов аутентификации (т.е. LDAP) Нет

Несмотря на отсутствие поддержки LDAP, Firebird 2.1 допускает проверку подлинности Windows. Примечания к выпуску

Создать определенные пользователем типы? Нет

Я не уверен, что здесь означает автор, но Firebird имеет домены навсегда.

Требовать резервное копирование/восстановление в компактное? да (красным)

спорно. База данных используется повторно. Мне трудно представить себе необходимость сокращения базы данных в процессе производства.

Использовать регулярные выражения POSIX в запросах? Нет

Firebird 2.5 поддерживает регулярные выражения. Примечания к выпуску

Мониторинг базы данных? Нет

Да, Firebird 2.1 поддерживает мониторинг базы данных через системные таблицы. Firebird 2.5 добавляет поддержку средств отслеживания.
Я знаю, по крайней мере, один отличный инструмент мониторинга базы данных для Firebird.;)

Возможность запрашивать базы данных на других локальных или удаленных серверах. Нет

Firebird 2.5 может запрашивать удаленные базы данных. Примечания к выпуску

Ответ 5

AFAIK, каждый No в столбце Postgres страницы, которую вы указали, по-прежнему является No, хотя базы данных только для чтения могут быть эффективно реализованы, предоставляя только разрешения выбора для всех таблиц в базе данных. Тем не менее, есть много новых функций с 8.2. Некоторые от 8.4:

  • Функции окна
  • Общие выражения таблиц и рекурсивные запросы
  • Параметры по умолчанию и переменные для функций
  • Параллельное восстановление
  • Разрешения столбцов
  • Настройки локальной базы данных

... и некоторые из 8.3:

  • Полнотекстовый поиск интегрирован в базовую систему баз данных.
  • Поддержка стандарта SQL/XML, включая новые операторы и тип данных XML
  • Перечислимые типы данных (ENUM)
  • Массивы составных типов
  • Тип данных универсального уникального идентификатора (UUID)
  • Добавить контроль над тем, будут ли NULL сортировать первый или последний
  • Обновляемые курсоры
  • Параметры конфигурации сервера теперь могут быть установлены на основе каждой функции.
  • Пользовательские типы теперь могут иметь модификаторы типов

... есть ли у Firebird это, я не знаю.

Ответ 6

Резервные копии на основе файловой системы

  Да (Postmaster должен быть остановлен)

неверно. начиная с 8.1 (если я правильно помню), можно активировать WAL-архивирование, а затем создавать резервные копии на основе файловой системы, не закрывая ничего. Ищите PITR (восстановление по времени) в документах для получения дополнительной информации

Ответ 7

Одна важная вещь - развертывание:

  • Firebird не работает с ext3 в Linux, вы должны использовать XFS или что-то подобное.
  • Насколько я знаю, PostgreSQL по-прежнему не работает на серверах Windows.

Ответ 8

Для тех, кто использует Firebird, я бы предложил прочитать Заметки о выпуске Firebird 2.1, чтобы понять проблему с повреждением базы данных по сравнению с более старыми версиями Firebird работает на Linux.

Короче говоря, это связано с ошибкой в ​​Linux. Для более старых Firebird, обходной путь заключается в монтировании затронутой файловой системы с опцией синхронизации. Проблема исправлена ​​в FB2.1.