Что нового в Borland® Interbase® 7

A Borland White Paper

October 2002

Содержание

 

Введение

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

Поддержка SMP

Interbase 7 теперь обеспечивает поддержку распараллеливания на многопроцессорном (SMP) оборудовании, как для клиента так и для сервера. Предыдущие версии Interbase работали на оборудовании SMP используя только один процессор. Данная версия может использовать все процессоры сервера для увеличения производительности.

Мониторинг транзакций и другого при помощи временных системных таблиц

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

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

Кроме возможности просматривать статистику, можно управлять состоянием сервера путем модификации данных в этих временных таблицах.

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

Доступные системные временные таблицы
Название таблицы Описание
TMP$ATTACHMENTS По записи на каждый коннект к базе данных
TMP$DATABASE По записи на каждую базу данных, к которой вы подсоединились
TMP$POOL_BLOCKS По записи на каждый блок памяти в каждом пуле
TMP$POOLS По записи на каждый пул памяти
TMP$PROCEDURES По записи на каждую выполненную в данном коннекте процедуру
TMP$RELATIONS По записи на каждую таблицу, к которой было обращение в данном коннекте
TMP$STATEMENTS По записи на каждый выполняемый в данный момент запрос, для всех коннектов
TMP$TRANSACTIONS По записи на каждую активную (или limbo) транзакцию

Запросы к временным системным таблицам

Клиенты могут выполнять запросы к указанным таблицам, используя оператор SELECT, как и в отношении любой другой таблицы.

Безопасность

В отличие от обычных системных таблиц, которые имеют права доступа SELECT по умолчанию для пользователей PUBLIC, системные временные таблицы не имеют прав на доступ по умолчанию для PUBLIC. Просмотр и управление этой информацией предоставляется только для SYSDBA и владельца базы данных. Оба эти пользователя могут дать права при помощи оператора GRANT на доступ к системным временным таблицам. При этом можно выдать право только на чтение, т.е. SELECT.

Примеры

Для иллюстрации богатства возможностей, предоставляемых этими временными таблицами, приведены примеры некоторых типов запросов

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

Новый JDBC Type 4 драйвер

Новый драйвер JDBC Type 4 упрощает распространение клиентских приложений и администрирование сервера. Новый драйвер не использует InterServer. При этом, клиенты, использующие драйвер Type 3, могут продолжать работать без изменений (при наличии InterServer).

Новый тип данных: BOOLEAN

Interbase теперь поддерживает тип данных BOOLEAN, в соответствии со стандартом SQL99.

Название Размер Данные
BOOLEAN 32 бита TRUE/FALSE/UNKNOWN

Новые ключевые слова

В Interbase 7 появились новые ключевые слова:

BOOLEAN, TRUE, FALSE, UNKNOWN

В предыдущей версии (6.5) были добавлены следующие ключевые слова:

ROWS, TIES, PERCENT

SET TERM больше не нужен в isql

При работе с ISQL больше нет необходимости в указании SET TERM для изменения терминатора, завершающего текст триггеров и процедур. ISQL теперь обрабатывает такие операторы корректно.

Имена объектов длиной 68 символов

Имена объектов теперь могут иметь длину до 68 символов (67 символов плюс завершающий 0). Такая функциональность доступна в новом gds32.dll и JDBC Type 4, а также планируется в dbExpress и IBX (возможно, к тому моменту, когда вы читаете этот документ, данная функциональность уже реализована).

Обновлена структура XSQLDA для поддержки длинных имен объектов.

Новое API для блобов и массивов

Десять функций API в отношении блобов и массивов обновлены для поддержки длинных имен объектов. В этих новых функциях поле desc указывает на обновленный дескриптор структуры, поддерживающий длинные имена объектов.

Новые вызовы API:

isc_array_gen_sdl2()
isc_array_get_slice2()
isc_array_lookup_bounds2()
isc_array_lookup_desc2()
isc_array_set_desc2()
isc_array_put_slice2()
isc_blob_default_desc2()
isc_blob_gen_bpb2()
isc_blob_lookup_desc2()
isc_blob_set_desc2()

Детектирование версии клиента

Некоторые клиентские библиотеки и драйверы могут иметь необходимость определять версию клиентской библиотеки Interbase. Для этого введены три новых функции API:

isc_get_client_version(), isc_get_client_major_version(), isc_get_client_minor_version().

Повышенная безопасность внешних таблиц

В определенных условиях внешние таблицы (external table) могут быть источником проблем в безопасности. Для исключения таких проблем в Interbase добавлены новые требования в отношении внешних таблиц. Внешние таблицы должны соблюдать следующие условия:

Легкий переход с предыдущих версий

Для облегчения перехода на версию 7 были приняты все возможные меры. Как обычно, для перехода достаточно сделать backup базе данных, после чего произвести restore на сервере с Interbase 7.

Подробное описание перехода с предыдущих версий находится в документации, поставляемой с Interbase 7.

Made in Borland® Copyright © 2002 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. All other marks are the property of their respective owners. Corporate Headquarters: 100 Enterprise Way, Scotts Valley, CA 95066-3249 • 831-431-1000 • www.borland.com • Offices in: Australia, Brazil, Canada, China, Czech Republic, France, Germany, Hong Kong, Hungary, India, Ireland, Italy, Japan, Korea, the Netherlands, New Zealand, Russia, Singapore, Spain, Sweden, Taiwan, the United Kingdom, and the United States. • 13644