Interbase

Материал из Википедии — свободной энциклопедии
(перенаправлено с «InterBase»)
Перейти к навигации Перейти к поиску
InterBase
Тип СУБД
Разработчик Embarcadero Technologies
Операционная система Cross-platform
Последняя версия InterBase 2020 (декабрь 2019; 5 лет назад (2019-12))
Лицензия Proprietary
Сайт embarcadero.com/products/interbase

Interbase — реляционная система управления базами данных, разрабатывающаяся компанией Embarcadero[1], появилась в середине 1980-х годов, принадлежала самостоятельной одноимённой компании, Ashton-Tate, Borland. InterBase отличается от ряда других СУБД небольшими размерами, почти нулевыми требованиями к администрированию и архитектурой, поддерживающей управление параллельным доступом посредством многоверсионности[1]. InterBase работает в операционных системах Microsoft Windows, macOS, Linux, Solaris, а также iOS и Android[1].

Код Interbase стал основой свободно распространяемой системы управления базами данных Firebird.

Технология

[править | править код]

InterBase — это реляционная база данных, совместимая с SQL-92 и поддерживающая стандартные интерфейсы, такие как JDBC, ODBC и ADO.NET.

Минимальные требования к ресурсам

[править | править код]

Для полной установки сервера InterBase требуется около 40 МБ на диске. Минимальная установка клиента InterBase требует около 400 КБ дискового пространства.

Встроенная или серверная

[править | править код]

InterBase может работать как встроенная база данных или как обычный сервер.

Встроенное шифрование

[править | править код]

Начиная с InterBase XE, InterBase включает 256-битное шифрование AES, которое обеспечивает полное шифрование данных базы данных, таблицы или столбца. Разделение шифрования также позволяет разработчикам просто разрабатывать приложение, а не беспокоиться о данных, видимых при входе в систему определенного пользователя.

Управление параллельным доступом посредством многоверсионности

[править | править код]

Чтобы избежать блокировок во время обновлений, Interbase использует многоверсионный контроль вместо блокировок. Каждая транзакция будет создавать версию записи. На этапе записи обновление не будет изначально заблокировано. InterBase также использует вместо журналов транзакций записи с несколькими поколениями для реализации откатов.

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

Основой Interbase стал личный проект сотрудника DEC Джима Старки (Jim Starkey), работавшего в то время над системой реляционных запросов Dataretrive, позволявшей выполнять запросы к данным в сетевой СУБД DBMS-32 и плоских файлах[2]. Параллельно Джим Старки, мечтавший разрабатывать полноценную реляционную СУБД и недовольный низкой скоростью разработки проекта Rdb, который делался другой группой разработчиков, начал делать свой проект[2]. Первая версия проекта создана в 1984 году, он получил название JRD (англ. Jim’s relational database). В результате проект Старки стал конкурировать с Rdb, в разработке которой Старки в DEC не участвовал[2]. Одной из ключевых идей, повлиявших на развитие проекта, стала концепция управления параллельным доступом посредством многоверсионности (MVCC). Она резко упростила существующие проблемы блокировки, которые оказались серьезной проблемой для новых систем реляционных баз данных, разрабатывавшихся в то время. Хотя реализация InterBase гораздо больше похожа на систему, описанную Ридом в его диссертации в Массачусетском технологическом институте (1978 г), чем на любую другую базу данных, существовавшую в то время, и Старки знал Бернштейна, упоминавшего аналогичный подход в статье 1981 года, по его предыдущей должности в Computer Corporation of America, а затем в DEC, Старки заявил, что они независимо друг от друга пришли к идее управления многоверсионным параллелизмом[3]. В том же комментарии Старки говорит:

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

После того, как выбор руководства DEC в пользу развития Rdb стал очевиден, Старки ушёл из компании и 1985 году Старки, его жена Анн Харрисон и Дон Депальма (Don Depalma) основали компанию Groton Database Systems (файлы базы данных Interbase долгое время сохраняли традиционное расширение gdb — от Groton Database)[2].

Впоследствии наименование компании было изменено на Interbase Software Corporation[2].

После ряда перепродаж в 1986 году был выпущен InterBase 2. Система использовалась в основном во встраиваемых системах военного и специального назначения[4].

В 1988 году компания Ashton-Tate приобретает 51 % акций Interbase, а в 1991 году Borland покупает Ashton-Tate.В том же году выходит InterBase 3.

Большую популярность Interbase приобрёл с выходом версии 4 в 1994 году, для того времени это была очень мощная СУБД, конкурировавшая по возможностям и производительности с MS SQL (6.5) и Sybase ASE (5)[источник не указан 4250 дней]. К началу 1991 года Intrbase обладала хорошими возможностями для работы в сети, которые позволяли определить её как распределённую СУБД (что противпоставлялось стандартной модели клиент-сервер)[5].

В 1997 году выходит Interbase 5, а в 1998 году Interbase 5.1.1 был включён в дистрибутив Delphi 4, что в значительной мере предопределило его популярность среди разработчиков на Delphi и C Builder.

В конце 1999 года 3 ключевых сотрудника Interbase - Билл Карвин (Bill Karwin), Пол Бич (Paul Beach) и Уэйн Остигай (Wayne Ostiguy) увольняются из Borland, в интернет-конференциях начинаются волнения, австралийская активистка Хелен Борри (Helen Borrie) создает список рассылки под названием «Спасём Interbase» с целью не допустить закрытия проекта, позднее образуется инициативная группа IBDI (англ. Interbase developer’s initiative) для защиты разработчиков-пользователей Interbase, основатели — Хелен Борри, Джейсон Уортон (Jason Wharton) и Дэлтон Кэлфорд (Dalton Calford).

В 2000 году Borland выпустила версию InterBase 6.0 в открытых кодах — InterBase 6 Open Source Edition - под специальной Interbase Public License (IPL). К релизу не было выпущено ни документации, ни системы тестирования, ни системы сборки проекта, некоторые исходные коды не компилировались. Фактически Borland в тот момент отказался от дальнейшего развития системы.

31 июля 2000 года инициативная группа, отчаявшись добиться от Borland поддержки или хотя бы внятной позиции, скопировала исходные коды Interbase 6 и образовала проект Firebird — свободный проект, основанный на кодах Interbase 6 Open Source, активно развивающийся независимо: начиная с версии Interbase 7.5 (2007) и Firebird 1.5 СУБД далеки от полной совместимости. В 2001 году благодаря открытию исходных кодов в СУБД был обнаружен бэкдор, позволявший получить доступ к любому экземпляру СУБД, существовавший с 1994 года.

В 2001 году Borland вновь решила развивать InterBase, директором подразделения был назначен Джон Артур (John Arthur), а ведущим разработчиком — Чарли Каро (Charlie Caro), были выпущены проприетарные версии 6.0 и 6.5, а несколько позже официально полностью была прекращена поддержка Interbase Open Source Edition.

В 2006 году Borland выделила подразделения по созданию средства разработки и Interbase в дочернюю фирму CodeGear, разработка которую продала Embarcadero в 2008 году. В 2009 году вышла версия Interbase 2009, в которой появилась поддержка Юникода и шифрование AES/DES.

Примечания

[править | править код]
  1. 1 2 3 Todd, Bill. InterBase: What Sets It Apart. The Database Group, Inc. publications. Дата обращения: 21 сентября 2005. Архивировано 7 июля 2020 года.
  2. 1 2 3 4 5 Firebird: Ann Harrison's Reminiscences on InterBase's Beginnings. web.archive.org (26 февраля 2021). Дата обращения: 21 июля 2022. Архивировано 26 февраля 2021 года.
  3. Craig Stuntz’s Weblog » Blog Archive » Multiversion Concurrency Control Before InterBase. web.archive.org (23 октября 2007). Дата обращения: 24 июля 2022. Архивировано 23 октября 2007 года.
  4. History of InterBase. Scriptcase Blog - Development, Web Design, Sales and Digital Marketing. Дата обращения: 22 июля 2022.
  5. GEORGE SCHUSSEL. Distributed DBMS decisions // ComputerWorld. — 1991. — 6 мая.