35.1. Как работает расширяемость#
35.1. Как работает расширяемость #
Tantor BE позволяет подключать расширения, потому что ее работа основана на каталогах. Если вы знакомы с обычными реляционными базами данных, то знаете, что они хранят информацию о базах данных, таблицах, столбцах и т. д. в так называемых системных каталогах (некоторые системы называют их словарем данных). Каталоги представляются пользователю в виде таблиц, но СУБД хранит в них свою внутреннюю информацию. Одно из ключевых различий между Tantor BE и обычными реляционными базами данных заключается в том, что Tantor BE хранит гораздо больше информации в своих каталогах: не только информацию о таблицах и столбцах, но также информацию о типах данных, функциях, методах доступа и т. д. Эти таблицы могут быть изменены пользователем, и поскольку работа Tantor BE основана на этих таблицах, это значит, что Tantor BE может быть расширена пользователями. В сравнении с этим, обычные базы данных могут быть расширены только путем изменения жестко закодированных процедур в исходном коде или загрузки модулей, специально написанных производителем СУБД.
Сервер Tantor BE может также включать пользовательский код в себя через динамическую загрузку. То есть, пользователь может указать файл объектного кода (например, общую библиотеку), который реализует новый тип или функцию, и Tantor BE загрузит его по мере необходимости. Код, написанный на SQL, еще более просто добавляется в сервер. Эта возможность изменять его работу “на лету” делает Tantor BE уникально подходящим для быстрого прототипирования новых приложений и структур хранения.