close

InterBase

Перейти к навигации Перейти к поиску

Interbase — это система управления реляционными базами данных (RDBMS), разработанная и продаваемая Borland Software Corporation , а в настоящее время Embarcadero Technologies .

Interbase отличается от других СУБД низким потреблением ресурсов, почти нулевой потребностью в администрировании и архитектурой, поддерживающей несколько поколений. InterBase работает на платформах Linux , Microsoft Windows и Solaris .

Небольшой размер

Для полной установки InterBase Server 2009 требуется около 40 МБ на диске. Это значительно меньше, чем клиентская установка многих конкурирующих серверов баз данных. Сервер использует очень мало памяти, когда он простаивает. Минимальная установка клиента InterBase требует около 400 КБ дискового пространства.

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

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

Минимальное администрирование

Серверы InterBase обычно не требуют штатных администраторов баз данных.

управление параллелизмом

Рассмотрим простое банковское приложение, в котором два пользователя имеют доступ к средствам на определенном счете. Боб читает счет и обнаруживает, что на нем есть 1000 долларов, поэтому он снимает 500 долларов. Джейн использует тот же счет, но до того, как Боб применил изменения, она видит, что на счету 1000 долларов, и снимает 800 долларов. На счете должно быть 300 долларов. , однако (при условии, что у вас не может быть овердрафта), в зависимости от того, какая транзакция будет обработана первой, у вас будет либо 500, либо 200 долларов. Это создает серьезную проблему, на которую любая система баз данных с многопользовательским доступом должна реагировать, предлагая систему для управления этими ситуациями.

Методы, используемые для решения этой и связанных с ней проблем, известны как управление параллелизмом.

Традиционные продукты используют блокировки, когда определенная транзакция собирается изменить запись. После применения блокировки никто другой не может читать или изменять данные, пока блокировка не будет снята. Блокировку можно применить к отдельной записи, странице (группе записей, хранящихся вместе на диске) записей или ко всем записям, проверенным конкретной транзакцией, в зависимости от разрешения блокировки. Блокировка преобразователя — это компромисс между производительностью и точностью за счет применения блокировки обновления на уровне страницы. Некоторые записи будут заблокированы, несмотря на то, что они не конфликтуют с теми, которые будут обновляться транзакциями, однако производительность выше по сравнению с блокировкой на уровне записей.

Блокировка становится еще большей проблемой в сочетании с другой функцией, общей для всех этих систем, — изоляцией. Это потому, что они обычно связаны с операциями чтения и записи. В этом примере, чтобы прочитать значение квоты, а затем изменить его. Чтобы отобразить изолированное представление всех данных транзакции, включая записи, которые должны быть прочитаны, но не записаны, оно должно быть заблокировано на многих серверах баз данных.

В InterBase читатели не видят автора. Например, когда Боб и Джейн читают данные, им обоим будет показана «версия 1» со значением 1000 долларов. Когда Боб вносит изменения в учетную запись при выводе средств, данные не перезаписываются, а появляется новая «версия 2», на этот раз с 500 долларами. Попытка Джейн снять 800 долларов потерпит неудачу, если она обнаружит, что существует новая версия.

Такой подход к управлению параллелизмом называется многоверсионным управлением параллелизмом. Приложение управления многоверсионным параллелизмом InterBase обычно называет свою архитектуру с несколькими поколениями. InterBase была второй коммерческой базой данных, использующей этот метод, первой из них была декабрьская Rdb/ELN.

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

История

Многоверсионный контроль параллелизма перед InterBase

Смотрите также

поддерживает PL/SQL

Ссылки

Внешние ссылки