Открыть сервис

InterBase

InterBase — это реляционная система управления базами данных (СУБД), разработанная компанией Embarcadero Technologies (ранее — Borland Software Corporation). Относится к классу встраиваемых и серверных СУБД, поддерживающих многопользовательский доступ, транзакции по стандарту ACID (атомарность, согласованность, изолированность, долговечность) и язык SQL. Характерной особенностью InterBase является малый размер дистрибутива (менее 10 МБ), низкие требования к аппаратным ресурсам и возможность работы как на серверах, так и на мобильных устройствах.

История

Создание и ранние годы (1980-е — 1990-е)

Первая версия InterBase была выпущена в 1985 году компанией InterBase Software Corporation, основанной Джимом Старки (Jim Starkey) — одним из разработчиков ранних версий СУБД Rdb компании Digital Equipment Corporation (DEC). Старки заложил в InterBase идеи многоверсионной архитектуры (MVCC — Multi-Version Concurrency Control), которая позволяла читателям не блокировать писателей и наоборот, что было новаторским для того времени. В 1991 году компания Borland International приобрела InterBase Software Corporation, и СУБД стала частью продуктовой линейки Borland.

Эпоха Borland (1991—2008)

Под управлением Borland InterBase развивался как встраиваемая СУБД для приложений, написанных на Delphi, C++Builder и других инструментах Borland. В 1994 году вышла версия 4.0, которая впервые получила поддержку хранимых процедур и триггеров на языке SQL. Версия 5.0 (1997) добавила поддержку событий, а версия 6.0 (2001) — полноценную поддержку Unicode (UTF-8) и репликацию. В 2001 году Borland открыла исходный код InterBase 6.0 под лицензией, близкой к Mozilla Public License (MPL), что привело к появлению форка Firebird (см. ниже). Однако коммерческая версия InterBase оставалась проприетарной.

Приобретение Embarcadero (2008 — настоящее время)

В 2008 году компания Embarcadero Technologies приобрела подразделение Borland по разработке инструментов, включая InterBase. Embarcadero продолжила выпуск новых версий, ориентируясь на встраиваемые решения, мобильные платформы (iOS, Android) и облачные среды. В 2013 году вышла версия InterBase XE3, в 2016 — XE7, а в 2020 — InterBase 2020. В 2023 году была выпущена версия InterBase 2020 Update 4, которая добавила поддержку 64-битных целочисленных типов и улучшенную работу с JSON.

Архитектура и ключевые особенности

Многоверсионная архитектура (MVCC)

InterBase использует архитектуру многоверсионного управления параллельным доступом (MVCC). В отличие от большинства традиционных СУБД, которые блокируют строки при записи, InterBase хранит несколько версий одной записи. Это позволяет читающим транзакциям видеть «снимок» данных на момент начала транзакции, не блокируя пишущие транзакции. Пишущие транзакции, в свою очередь, не блокируют читателей. Это даёт высокую производительность при смешанной нагрузке (OLTP).

Малый размер и встраиваемость

Ядро InterBase имеет размер около 5–10 МБ, что позволяет встраивать его непосредственно в приложения без необходимости установки отдельного сервера. Поддерживаются режимы работы:

  • Серверный режим — многопользовательский доступ через TCP/IP.
  • Встраиваемый режим — библиотека, загружаемая в процесс приложения, без сетевого взаимодействия.
  • Мобильный режим — для iOS и Android, с синхронизацией через InterBase ToGo.

Поддержка SQL и расширений

InterBase поддерживает стандарт SQL-92, а также ряд расширений, включая:

  • Хранимые процедуры и триггеры на языке SQL (PSQL — Procedural SQL).
  • Генераторы (sequences) для автоинкремента.
  • События (events) — механизм уведомлений приложений об изменениях в базе данных.
  • Поддержка BLOB (Binary Large Object) для хранения изображений, документов и мультимедиа.
  • Поддержка JSON (с версии 2020) для работы с полуструктурированными данными.

Транзакции и изоляция

InterBase поддерживает четыре уровня изоляции транзакций по стандарту SQL: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ и SERIALIZABLE. Благодаря MVCC, уровень READ COMMITTED реализован без блокировок — читатель видит последнюю зафиксированную версию записи.

Версии и редакции

Коммерческие версии (Embarcadero)

  • InterBase Server — полная серверная версия для многопользовательского доступа.
  • InterBase ToGo — встраиваемая версия для мобильных и десктопных приложений, лицензируемая на одно устройство.
  • InterBase Developer Edition — бесплатная версия для разработки, с ограничением на количество пользователей (до 20) и размер базы (до 1 ГБ).
  • InterBase Cloud — версия для развёртывания в облачных средах (AWS, Azure, Google Cloud).

Открытый форк Firebird

В 2001 году, после открытия исходного кода InterBase 6.0, сообщество разработчиков создало форк Firebird. Firebird развивается как свободная СУБД под лицензией IPL (InterBase Public License) и MPL. Firebird сохранил совместимость с InterBase на уровне SQL и API, но имеет собственные расширения (например, поддержка оконных функций, рекурсивных запросов, внешних таблиц). Firebird не поддерживается компанией Embarcadero и распространяется независимо.

Применение

InterBase традиционно используется в следующих областях:

  • Встраиваемые системы — медицинское оборудование, POS-терминалы, промышленные контроллеры.
  • Мобильные приложения — базы данных на устройствах под управлением iOS и Android с синхронизацией через InterBase ToGo.
  • Настольные приложения — программы на Delphi и C++Builder, требующие локальной базы данных.
  • Серверные решения — небольшие и средние веб-приложения, где важна компактность и низкое потребление ресурсов.

Критика и ограничения

Несмотря на достоинства, InterBase имеет ряд ограничений:

  • Отсутствие полнотекстового поиска — встроенные средства поиска по тексту ограничены (до версии 2020 не было поддержки FTS).
  • Ограниченная поддержка современных стандартов SQL — не поддерживаются оконные функции, рекурсивные CTE (Common Table Expressions) и некоторые другие возможности SQL:2003/2008.
  • Закрытый исходный код — коммерческая версия является проприетарной, что ограничивает возможности аудита и модификации.
  • Меньшая популярность по сравнению с PostgreSQL, MySQL или SQLite — меньшее сообщество, меньше сторонних инструментов и библиотек.

Интересные факты

  • InterBase является одной из старейших коммерческих СУБД, непрерывно развивающихся с 1985 года.
  • Архитектура MVCC, реализованная в InterBase, была одной из первых в индустрии и повлияла на разработку таких СУБД, как Oracle (с версии 9i) и PostgreSQL.
  • В 2000-х годах InterBase использовался в качестве встроенной СУБД в ряде продуктов компании Borland, включая Delphi и C++Builder.
  • Форк Firebird, созданный на основе открытого кода InterBase 6.0, стал одной из самых популярных свободных СУБД в России и странах СНГ.

Источники

  • Embarcadero Technologies. «InterBase 2020 Product Overview». Документация Embarcadero, 2020.
  • Jim Starkey. «The Design of InterBase». Доклад на конференции, 1990.
  • Borland International. «InterBase 6.0 Release Notes». 2001.
  • Firebird Foundation. «Firebird 3.0 Release Notes». 2016.
  • «InterBase — история и архитектура». Статья в журнале «Системы управления базами данных», № 4, 2005.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →