FireBird

Firebird – это реляционная база данных на основе клиент-серверной архитектуры. Основана на исходном коде базы данных InterBase.Она предоставляет высокую надежность и производительность при работе с большими объемами данных.
Основные особенности Firebird:
1. Многооперационность: Firebird поддерживает работу на различных операционных системах, включая Windows, Linux и Mac OS.
2. Масштабируемость: База данных Firebird может масштабироваться от одного пользователя до сотен или тысяч пользователей одновременно.
3. Поддержка SQL: Firebird поддерживает стандарт языка SQL и предоставляет мощные возможности для выполнения различных операций с данными.
4. Транзакционность: Firebird обеспечивает поддержку транзакций, что позволяет гарантировать целостность данных и обеспечивать откат изменений при необходимости.
5. Встроенные процедуры и триггеры: Firebird позволяет создавать пользовательские процедуры и триггеры, которые выполняются на стороне сервера и обеспечивают более эффективную обработку данных.
6. Резервное копирование и восстановление: Firebird предоставляет механизмы резервного копирования и восстановления данных, что позволяет восстановить базу данных после сбоя или ошибки.
7. Распределенная база данных: Firebird позволяет создавать распределенные базы данных, что позволяет работать с данными, распределенными на различных серверах.
База данных Firebird может быть использована в различных областях, включая корпоративные приложения, веб-приложения, мобильные приложения и другие. Она является бесплатной и открытой для использования, что делает ее доступной для широкого круга разработчиков и организаций.

Как и Interbase, использует MVCC, поддерживает хранимые процедуры на языке PSQL, триггеры, транзакционно-независимые 64-битные генераторы последовательностей. Имеется возможность работать с базами данных только для чтения (что позволяет использовать базы данных, например, на CD-ROM и удобно в комбинации со встраиваемой версией сервера Firebird Embedded). Реализовано несколько уровней изолированности транзакций, обеспечивается резервное копирование без останова сервера. Реализована поддержка Юникода.

Внешние функции (UDF) могут быть написаны на любом языке и легко подключены к серверу в виде разделяемых библиотек, позволяя расширять возможности сервера «изнутри». Поддерживается SQL-92 Entry Level 1, реализована большая часть стандарта SQL-99, существует ряд дополнений стандартного синтаксиса.

Работает на аппаратных платформах x86, x64 и PowerPC, SPARC, выпускались версии для Windows, Linux, macOS, HP-UXFreeBSD, Solaris и ряда других операционных систем, впоследствии сборка стала вестись только для 32- и 64-разрядных версий Windows, Linux и macOS.

Для доступа к серверу сторонними разработчиками выпускаются собственные наборы компонент для Си и C++, Delphi, классы для ADO, драйверы ODBC и JDBC. Имеются драйверы для PythonPHP, драйвер OLE DB, dbExpress, провайдер данных .NET и прямой доступ с использованием клиентской библиотеки сервера (fbclient.dll или GDS32.dll).

Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы, теоретический предел — 64 TБ для одного файла базы данных.

Существует четыре архитектуры сервера:

  • ClassicServer — один процесс на одно соединение, поддержка многопроцессорных машин;
  • SuperServer — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии (до 3.0 — только для однопроцессорных);
  • SuperClassic Server — один процесс, но свой поток на каждое соединение, начиная с версии 2.5;
  • Embedded — система содержится в одной библиотеке с именем клиентской библиотеки сервера, подходит для однопользовательских систем и не требует инсталляции в Windows.

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

Обсуждение закрыто.