1. Главная страница » Компьютеры

Interbase firebird development studio

Автор: | 16.12.2019

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

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 планировщиком. Ну а сейчас обо всех этих инструментах — подробнее.

Читайте также:  365 Праздников на каждый день

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

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

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

Читайте также:  Acer aspire one series zg5

Дальше по списку у нас с вами идёт такая интересная и полезная вещица, как анализатор запросов. Само её присутствие говорит о том, что 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 нет, и я рекомендую самостоятельно в этом убедиться.

15-October-2015
Our cooperation with IBSurgeon team is expanding. Firebird SQL Studio is now part of special Firebird distribution for Enterprises — HQbird

5-June-2015
SQLLY Development took part of Firebird Tour 2015 in Moscow.
12-January-2012
SQLLY Development became a Firebird Foundation member. Join to Firebird community and help to make Firebird better. —> Archive

Firebird Database Designer What users are saying Firebird Database Designer is a unique solution on the market that combines ER diagram editor with code repository equipped by built-in version control system. Using Firebird Database Designer you can develop full database without even creating it. You can check full project for consistency at any time and clean all bugs before trying to apply changes to the real database. Built-in version control system makes it >


ER Diagram Editor
Version Difference

Your product is great considering its price and offer a lot of valuable functionalities. I have tried many FB database managing tools and must recognize that yours is impressive!

Firebird
Тип Реляционная СУБД
Разработчик Сообщество Firebird
Написана на C++[2]
Операционная система кроссплатформенность
Первый выпуск 22 ноября2000
Последняя версия
  • 3.0.4 ( 4 октября2018 ) [3]
Тестовая версия 4.0 Beta 1 [1] (20 февраля2019)
Лицензия Лицензия IDPL, InterBase Public License, Mozilla Public License 1.1
Сайт firebirdsql.org​ (англ.)
Медиафайлы на Викискладе

Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников.

Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов, значительное падение производительности при росте внутренней фрагментации базы, ограниченное количество одновременных подключений [4] . Над решением этих проблем неустанно работает сообщество.

Содержание

Факты о Firebird [ править | править код ]

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

Основные характеристики [ править | править код ]

  • Соответствие требованиям AC >[5] .
  • Версионная архитектура: Основная особенность Firebird — версионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним («читающие транзакции не блокируют пишущих, а пишущие — не блокируют читающих»). Это позволяет использовать одновременно OLTP и OLAP запросы.
  • Хранимые процедуры: Используя язык PSQL (процедурный SQL) Firebird, можно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчётов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же, как и обычные таблицы.
  • События: Хранимые процедуры и триггеры могут генерировать события, на которые может подписаться клиент. После успешного завершения транзакции (COMMIT) он будет извещён о произошедших событиях и их количестве.
  • Генераторы: Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей, и не только их. Генераторы являются 64‐битными хранимыми в базе данных счётчиками, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях, и т. д.
  • Базы данных только для чтения: позволяют распространять базы данных, к примеру, на CD-ROM. Особенно упрощает распространение данных их использование в комбинации со встраиваемой версией сервера Firebird (Firebird Embedded).
  • Полный контроль за транзакциями: Одно клиентское приложение может выполнять множество одновременных транзакций. В разных транзакциях могут быть использованы разные уровни изоляции. Протокол двухфазного подтверждения транзакций обеспечивает гарантированную устойчивость при работе с несколькими базами данных. Также доступны оптимистическое блокирование данных и точки сохранения транзакций.
  • Резервное копирование на лету: Для резервного копирования нет надобности останавливать сервер. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая при этом работе с базой. Кроме того, существует возможность производить инкрементальное резервное копирование БД.
  • Триггеры: Для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяя вносить начальные значения, проверять целостность данных, вызывать исключения и т. д. В Firebird 1.5 появились «универсальные» триггеры, позволяющие в одном триггере обрабатывать вставки, обновления и удаления записей таблицы.
  • Внешние функции: библиотеки с UDF (User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, позволяя расширять возможности сервера «изнутри».
  • Декларативное описание ссылочной целостности: Обеспечивает непротиворечивость и целостность многоуровневых отношений «master-detail» между таблицами.
  • Наборы символов: Firebird поддерживает множество международных наборов символов (включая Unicode) с множеством вариантов сортировки.

Соответствие стандарту SQL [ править | править код ]

  • Firebird полностью поддерживает SQL-92 Entry Level 1 и реализует большую часть стандарта SQL-99 c некоторыми очень полезными дополнениями. Это включает выражения DML/DDL, синтаксис объединений FULL/LEFT/RIGHT [OUTER] JOIN, выражения UNION, DISTINCT, подзапросы (IN, EXISTS), встроенные функции (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), ограничения целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY), и все общие типы данных SQL.

Firebird также реализует ограничения проверки (check constraints) на уровне доменов и полей, отображения (views), исключения, роли и управление правами доступа. Для более подробной информации см. Firebird Reference Guide и Release Notes.

Требования к аппаратному обеспечению [ править | править код ]

  • Firebird работает на аппаратных платформах x86, x64 и PowerPC, Sparc и многих других, и поддерживает легкий переход между этими платформами. Может использоваться даже не очень мощное оборудование, особенно под Linux. И, как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей и т. п. Допустимо начинать с минимальной конфигурации, расширяя её по мере надобности.

Доступные операционные системы [ править | править код ]

  • 32- и 64-разрядные версии Windows, Linux, также macOS, HP-UX, FreeBSD, Solaris и др. В настоящее время выпускаются версии только для 32- и 64-разрядных версий Windows, Linux и macOS. Последняя версия для Solaris и HP-UX — 2.1.4. Наиболее широко используемыми для серверов «Firebird» операционными системами являются Linux и Microsoft Windows (включая NT) (включая терминальные службы MS и Citrix).

Переход от одной ОС к другой весьма прост — достаточно сделать резервную копию базы в переносимом формате в одной системе и восстановить на другой.

Средства доступа к серверу [ править | править код ]

  • Firebird поддерживает множество способов доступа, включая: собственные наборы компонент для C/C++, Delphi, классы для ADO, ODBC, JDBC (Jaybird), драйверы для Python, PHP, драйвер OLE DB, dbExpress, провайдер данных .NET и прямой доступ с использованием клиентской библиотеки сервера (fbclient.dll или GDS32.dll)

Физические ограничения [ править | править код ]

  • Firebird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет 64 TБ для одного файла базы данных, таким образом, главные ограничения накладываются файловой системой и местом на жёстком диске.
  • Практически база данных объёмом 1 ТБ стабильно работает, что доказывает проведенный тест.
  • Максимальная длина одной записи (суммарно все поля за исключением полей с типом BLOB) равна 64 КБ.
  • Версии сервера [ править | править код ]

    Не поддерживаемые версии:

    • 1.0 (последний выпуск 1.0.3 от 04.06.2003);
    • 1.5 (последний выпуск 1.5.6 от 08.10.2009);
    • 2.0 (последний выпуск 2.0.7 от 12.04.2012);
    • 2.1 (последний выпуск 2.1.7 от 05.12.2014).
    • 2.5 (самая последняя версия 2.5.9 от 05.01.2018);
    • 3.0 (самая последняя версия 3.0.4 от 04.10.2018).

    Архитектуры сервера [ править | править код ]

    Существует четыре различных взаимозаменяемых архитектуры сервера.

    • ClassicServer — один процесс на одно соединение; поддержка многопроцессорных машин.
    • SuperServer — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии; для многопроцессорных машин (до 3.0 для однопроцессорных).
    • SuperClassic Server — один процесс, но свой поток на каждое соединение. Данная архитектура введена в версии 2.5.
    • Embedded (встраиваемая) версия — весь движок содержится в одной библиотеке с именем клиентской библиотеки сервера, идеально подходит для однопользовательских систем, не требует инсталляции в Windows.

    Все архитектуры используют одинаковый формат файла базы данных, таким образом, в любой момент можно переключиться на другую архитектуру. Сравнение архитектур. Скачать в виде PDF (англ.)

    Лицензирование [ править | править код ]

    • Firebird выпускается под условиями IPL (InterBase Public License) и > Средства разработки и администрирования [ править | править код ]

    FlameRobin [ править | править код ]

    FlameRobin — поддерживает Firebird. Кросс-платформенная архитектура. Есть редактор SQL, DDL, управление пользователями.

    Лицензия: open source, распространяется бесплатно.

    IBExpert [ править | править код ]

    IBExpert — Поддерживает Firebird, Interbase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, отладчик хранимых процедур, а также множество других возможностей.

    Лицензия: Бесплатный для жителей постсоветского пространства, для остальных: от 179 евро.

    IB/FB Development Studio [ править | править код ]

    IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.

    Лицензия: 129 евро.

    Blaze Top [ править | править код ]

    Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и Interbase.

    Лицензия: Бесплатно для России, для остальных: от 129 евро.

    Database Workbench [ править | править код ]

    Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и Interbase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.

    Лицензируется отдельно на Interbase и отдельно на Firebird. 171$ за каждый движок (Interbase или Firebird).

    EMS SQL Manager for InterBase Firebird [ править | править код ]

    Есть платная и бесплатная (lite) версия

    Database Master [ править | править код ]

    Database Master — средство управления системами баз данных FireBird, PostgreSQL, Oracle, SQL-Server, MySQL, ODBC, OleDB, MongoDB, XML и SQLite. Сайт: Database Master — FireBird Management Software

    Поддержка [ править | править код ]

    • На главной странице проекта Firebird находится множество полезных ссылок по Firebird.

    Ряд компаний (например, IBPhoenix, iBase, Ред Софт) предоставляют услугу профессиональной поддержки Firebird.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *