Interbase/Firebird Development Studio

Уже не раз на страницах "КВ" я рассказывал о средствах, которые могут пригодиться при работе с базами данных. И, тем не менее, сегодня этот рассказ продолжу, поскольку разнообразных СУБД, как и средств для работы с ними, в мире превеликое множество.

Interbase и её клон Firebird, а также ещё один клон, ныне уже почти мёртвый Yaffil, очень популярны в нашей стране. Во многом эта популярность объясняется популярностью Delphi, с помощью которой пишется львиная доля приложений, работающих с Interbase, а во многом и возможностями самой СУБД и бесплатностью её клонов. В общем, как бы то ни было, Interbase в любой своей ипостаси не обделена вниманием разработчиков прикладных программ, и, значит, стоит рассказать об инструментах, с помощью которых можно администрировать базы данных в формате этой СУБД.

Одним из лучших средств для разработки и администрирования баз данных Interbase я считаю среду, название которой вынесено в заголовок статьи. Помимо того, что этот инструмент очень мощный и универсальный, он ещё и бесплатен для жителей СНГ. Найти Interbase/Firebird Development Studio в интернете можно по адресу www.sqlly.com.

Interbase/Firebird Development Studio - инструмент комплексный, подходящий как для разработки структуры новой базы, так и для управления уже существующими и для администрирования сервера СУБД. Всего в составе Interbase/Firebird Development Studio семь отдельных приложений, решающих отдельные задачи разработки и администрирования баз данных. Дизайнер позволяет легко и наглядно представить структуру новой базы данных в виде диаграмм, редактор баз данных позволит редактировать SQL-запросы и заполнять таблицы данными. Анализатор запросов служит для анализа производительности и отладки сложных запросов к базе, а анализатор базы позволит проанализировать производительность работы всего сервера, в целом. Есть ещё специальный инструмент для сравнения содержимого двух различных БД. Консоль администратора служит для управления правами пользователей, а также для сбора статистики и проверки целостности БД; инструмент управления сервисами служит для работы со встроенным в Interbase/Firebird Development Studio планировщиком. Ну а сейчас обо всех этих инструментах - подробнее.

Дизайнер позволяет представлять объекты, содержащиеся в базе (таблицы, триггеры, генераторы и т.п.) в виде ER-диаграмм. Что это значит? Всё станет понятно, если посмотреть на скриншот.

 

ER-диаграммы - способ графического представления объектов и зависимостей между ними. Объекты - квадратики, между ними стрелочками - зависимости. ER-диаграммы лишний раз доказывают, что всё гениальное просто: что может быть проще и понятнее такого визуального представления? При этом есть встроенный редактор SQL-скриптов, можно редактировать структуру таблиц в базе и экспортировать структуры уже существующих БД. Поскольку проекты дизайнера хранятся не в самой БД, а в отдельных файлах, легко осуществлять контроль версий с помощью встроенных возможностей самой программы. Правда, для создания базы данных из проекта нужно потом некоторое время, но зато если проект сформирован с какими-то ошибками, сама база от этого никоим образом не пострадает. Проекты дизайнера очень просто синхронизировать с базой, поэтому на самом деле тот факт, что программа не работает с базой непосредственно - только плюс, но никак не минус. Ко всему прочему, в программе имеется совершенно замечательная возможность - генерация HTML-документации по заданному проекту. Это действительно удобно при командной работе.

Следующий инструмент назван разработчиками Interbase/Firebird Development Studio редактором баз данных. В общем-то, хотя и незатейливо, зато сразу понятно, что имелось в виду. Выбираете базу данных, указываете сервер, вводите логин и пароль - и пожалуйста, редактируйте на здоровье. Можно открыть сразу несколько баз в разных окнах, если в этом есть необходимость. Редактор позволяет редактировать как метаданные, определяющие структуру базы, так и данные, ради которых она, собственно говоря, и создаётся. Метаданные (таблицы, домены, триггеры и т.п.) редактируются в виде SQL-скриптов, причём редактор поддерживает многие вещи, необходимые в профессиональных редакторах кода: подсветку синтаксиса, автодополнение кода, рефакторинг и подчёркивание синтаксически неверных конструкций. В большинстве других редакторов SQL (а особенно в бесплатных!) такие возможности напрочь отсутствуют. В редактор встроен монитор SQL-запросов, также для удобства редактирования можно записывать простые макросы. Есть также встроенный To-Do List - список задач, который заносится в проект, чтобы в спешке чего-нибудь не забыть. В общем, редактор баз данных весьма неплох.

Дальше по списку у нас с вами идёт такая интересная и полезная вещица, как анализатор запросов. Само её присутствие говорит о том, что Interbase/Firebird Development Studio - вполне профессиональное решение для разработчиков, использующих Interbase или Firebird. Эта программа также имеет встроенный редактор запросов, имеющий все те же возможности, что и редактор из редактора (простите великодушно за тавтологию). Однако анализатор предназначен для того, чтобы запросы выполнять, поэтому в нём присутствует возможность просмотра результатов запроса; есть, к тому же, просмотр статистики выборки, обновления, вставки и удаления. Статистика позволяет узнать не только время выполнения запроса, но и количество прочитанных и записанных СУБД страниц и буферов. Полезная особенность программы - наличие репозитория (хранилища, или, как назвали его авторы программы, сборника) запросов. Причём отдельно существует общий репозиторий запросов для всех БД и отдельно - для одной конкретной базы. Кроме того, благодаря удобным навигаторам по базе и запросам в больших запросах становится не так уж и сложно ориентироваться.

Инструмент для сравнения двух баз так подробно описывать вряд ли стоит, поскольку суть у него довольно простая: сопоставить и сказать, в чём базы похожи, а чем отличаются. Сравнивать можно не только сами базы, но и запросы, которые осуществляются к ним клиентским приложением. При желании базы можно синхронизировать. Вот, собственно, и всё по поводу данного инструмента.

Анализатор производительности сервера - вещь гораздо более интересная. И хотя Interbase/Firebird редко получает такую нагрузку, как MS SQL Server или, тем более, Oracle, тем не менее, производительность всё равно остаётся немаловажным моментом. Работать с анализатором производительности просто: нужно выбрать базу, подключиться к ней и нажать кнопку "Мониторить". Дальше можно продолжать работать с базой: программа тем временем будет собирать информацию о различных параметрах подключения. К ним относятся размер используемой памяти, количестве чтений и записей буферов и страниц, количество используемых буферов и количество подключенных пользователей. Причём для Interbase 7.0 и выше можно получить более точную и подробную информацию, поскольку её собирает в процессе работы сама СУБД. Все сообщения и предупреждения, выдаваемые сервером, программа заносит в специальный журнал (его можно потом экспортировать в формат CSV и читать в Excel'е или Calc'е). Но, конечно, сама за вас работу базы программа, к сожалению, не оптимизирует...

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

Последняя из программ, входящих в комплект Interbase/Firebird Development Studio, как я уже говорил, предназначена для работы с планировщиком Time To Backup. Однако сам Time To Backup нужно скачать отдельно с сайта разработчиков. Он работает под Windows как сервис, а под Linux - как демон, занимающийся резервным копированием или восстановлением БД. При этом управлять им можно удалённо, что и делается с успехом с помощью встроенного в Interbase/Firebird Development Studio средства. Планировщик умеет отсылать уведомления о собственных успехах и неудачах по электронной почте, производить сжатие файлов резервной копии, проверку целостности базы перед копированием и проверку самой резервной копии.

Ещё пару моментов, о которых я забыл упомянуть. Весь интерфейс Interbase/Firebird Development Studio переведён целиком на русский язык, однако его нужно выбрать ещё во время установки, потом уже переключить не получится. Это особенно хорошо, если учесть тот факт, что настроек в программе - целое море. И ещё - для запуска всех приложений используется единая стартовая панель, которая умеет удобно сворачиваться в трэй и с помощью которой в любой момент можно запустить любой из инструментов пакета.

Теперь давайте подведём итог всему сказанному. Я понимаю, что очень тяжело составить представление о программе по одному только словесному описанию. Именно поэтому я рекомендую всем, кто работает с Interbase/Firebird, скачать Interbase/Firebird Development Studio и посмотреть на этот продукт собственными глазами. Конечно, если у вас уже есть мощный и купленный за свои кровные инструмент для работы с базами Interbase, то смысла в этом не так уж и много. Но если ещё нет, то присмотритесь к Interbase/Firebird Development Studio. Во-первых, вам не надо будет платить за него деньги, а во-вторых, он достаточно надёжен и при этом имеет русскоязычный интерфейс. Документация к Interbase/Firebird Development Studio весьма подробная, так что даже если вопросы и возникнут, их в большинстве случаев будет не так уж и сложно разрешить. Впрочем, если вы - противник решений "всё в одном", то, конечно, вряд ли воспользуетесь этой программой в силу идеологических причин. Но тут, как говорится, о вкусах не спорят. Объективных причин брезговать использованием ISDF нет, и я рекомендую самостоятельно в этом убедиться.

Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

13 за 2007 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!