Введение

Система управления реляционными базами данных

InterBase — это система управления реляционными базами данных (RDBMS), в настоящее время разрабатываемая и распространяемая компанией Embarcadero Technologies. InterBase отличается от других RDBMS небольшим объемом, практически отсутствующими требованиями к администрированию и многопоколенной архитектурой. InterBase работает в операционных системах Microsoft Windows, macOS, Linux и Solaris, а также iOS и Android.

Технология

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

Небольшой отпечаток

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

Встроенный или серверный

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

Встроенное шифрование, удобное для контроллера данных

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

Контроль за одновременной валютой

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

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

InterBase также использует многопоколенные записи для реализации отката транзакций, а не журналы транзакций.

Недостатки

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

Контроль параллельности многоверсий до InterBase

Контроль параллельности многоверсий подробно описан в разделах 4.3 и 5.5 статьи 1981 года "Контроль параллельности в распределенных системах баз данных" Филиппа Бернштейна и Натана Гудмана, в то время работавших в Computer Corporation of America. В статье Бернштейна и Гудмана ссылаются на диссертацию Д. П. Рида 1978 года, в которой MVCC описывается весьма четко и заявляется как оригинальная разработка.

Ранние годы

Джим Старки работал в DEC над продуктом DATATRIEVE 4GL, когда у него возникла идея системы для управления одновременными изменениями множества пользователей. Эта идея значительно упростила существующие проблемы блокировок, которые становились серьезной проблемой для новых реляционных систем управления базами данных, разрабатываемых в то время. Однако эта идея пришла к Старки после того, как он передал свой первоначальный проект реляционной базы данных другой группе, что привело к борьбе за сферы влияния. Старки покинул компанию после выпуска первой версии продукта Rdb/ELN. Хотя реализация InterBase гораздо больше похожа на систему, описанную Ридом в его диссертации в MIT, чем любая другая база данных, существовавшая на тот момент, и Старки знал Бернштейна по предыдущей работе в Computer Corporation of America, а затем в DEC, Старки утверждает, что пришел к идее многоверсионного управления параллельным доступом независимо. В том же комментарии Старки говорит:

Вдохновением для многопоколенного управления параллельным доступом послужила система баз данных, разработанная компанией Prime, которая поддерживала снимки на уровне страниц. Целью этой функции было предоставление читателю согласованного представления базы данных без блокировки записи. Эта идея показалась мне очень полезной характеристикой системы баз данных. Он узнал, что местный производитель рабочих станций Apollo Computer искал предложение по базе данных для своих машин Unix, и они согласились финансировать разработку. С их поддержкой он основал Groton Database Systems (названную в честь города Гротон, штат Массачусетс, где они находились) в День труда 1984 года и начал работу над тем, что в конечном итоге было выпущено как InterBase. В 1986 году компания Apollo пережила корпоративную реструктуризацию и решила выйти из бизнеса по производству программного обеспечения, но к тому времени продукт уже приносил прибыль.

Дорога в Борланд

В период с 1986 по 1991 год продукт постепенно продавался компании Ashton Tate, создателям знаменитой dBASE, которая в то время скупала различные компании, занимающиеся базами данных, чтобы расширить свой ассортимент. Вскоре компания столкнулась с трудностями, и в 1991 году Borland приобрела Ashton Tate, вместе с которой и InterBase.

Открытый исходный код

В начале 2000 года Borland объявила о планах выпустить InterBase под открытым исходным кодом и начала переговоры о выделении продукта в отдельную компанию для управления им. Когда люди, которым предстояло руководить новой компанией, и Borland не смогли согласовать условия разделения, InterBase остался продуктом Borland, а исходный код InterBase версии 6 был опубликован под модифицированной лицензией Mozilla Public License в середине 2000 года. С приходом нового руководства в подразделение InterBase в Borland, компания выпустила проприетарную версию InterBase 6 и затем 6.5. Borland выпустила несколько обновлений для кода с открытым исходным кодом, прежде чем объявить о прекращении активной разработки этого проекта. Однако Firebird, ответвление с открытым исходным кодом от InterBase 6, продолжает активно развиваться. В 2001 году в программном обеспечении была обнаружена (и устранена) уязвимость, известная как "бэкдор", которая присутствовала во всех версиях, начиная с 1994 года.

Кодгеер

8 февраля 2006 года Borland объявила о намерении продать свою линейку продуктов для разработки, включая InterBase, Delphi, JBuilder и другие инструменты, но вместо продажи этих подразделений Borland выделила их в отдельную дочернюю компанию 14 ноября 2006 года. InterBase, а также IDE, такие как Delphi и JBuilder, вошли в продуктовую линейку новой компании. Затем, 7 мая 2008 года, Borland и Embarcadero Technologies объявили, что Embarcadero подписала окончательное соглашение о приобретении активов CodeGear. Сделка, оцененная примерно в 24,5 миллиона долларов, была завершена 30 июня 2008 года.

Последние релизы

В конце 2002 года Borland выпустила InterBase версии 7 с поддержкой SMP и расширенной поддержкой мониторинга и контроля сервера администраторами. Borland выпустила InterBase 7.1 в июне 2003 года, 7.5 в декабре 2004 года и 7.5.1 1 июня 2005 года. В сентябре 2006 года Borland объявила о доступности InterBase 2007. Новые функции включают восстановление на определенный момент времени с помощью журналирования (которое также позволяет восстанавливаться без снижения производительности из-за синхронной записи), инкрементное резервное копирование, пакетную обработку операторов, новые кодировки символов Unicode и новый драйвер ODBC. В сентябре 2008 года Embarcadero объявила о доступности InterBase 2009. Новые функции включают полное шифрование базы данных, выборочное шифрование данных на уровне столбцов и шифрование канала связи, обеспечивающее безопасную TCP/IP-коммуникацию через Secure Sockets Layer (SSL). В сентябре 2010 года Embarcadero объявила о доступности InterBase XE. Новые функции включают 64-битный клиент и сервер, улучшенную безопасность, улучшенную масштабируемость, поддержку динамического SQL в хранимых процедурах и оптимизированную производительность больших объектов с использованием потоковых методов. В 2013/2014 годах Embarcadero добавила iOS, а затем Android в список поддерживаемых платформ InterBase XE3. Кроме того, была выпущена InterBase IBLite – редакция InterBase, не требующая лицензионных отчислений за время выполнения, поддерживающая Windows, macOS, iOS и Android. В декабре 2014 года Embarcadero выпустила InterBase XE7, предлагающую новую, запатентованную технологию отслеживания изменений под названием "Change Views". Ubuntu была добавлена в список сертифицированных платформ Linux, а также добавлена поддержка 64-битных Linux-систем. Были введены дополнительные 64-битные идентификаторы транзакций и новые специализированные дампы данных, обеспечивающие быстрое обновление копий основной базы данных, доступных только для чтения. В марте 2017 года Embarcadero выпустила InterBase 2017. InterBase 2017 включает InterBase ToGo для Linux, поддержку мониторинга всего сервера для InterBase Server, ряд улучшений языка (включая производные таблицы и общие табличные выражения, команду TRUNCATE TABLE для более быстрого удаления данных), улучшения в Change Views для расширения подписки с областью действия на всю таблицу, новые уровни изоляции транзакций и управление временем ожидания транзакций. В ноябре 2019 года Embarcadero выпустила InterBase 2020, а затем Update 1 в мае 2020 года. Выпуск InterBase 2020 добавляет ряд новых функций, включая поддержку табличных пространств для InterBase, что позволяет повысить производительность на серверах с несколькими вариантами хранения данных.