Содержание
- 1 Другие возможности: улучшение производительности, тихая установка, и прочее
- 2 Характеристики программы для работы с базами данных Firebird
- 3 About Jaybird 4
- 4 Создание web приложения на PHP с иcпользованием Firebird и Laravel
- 5 Обзор драйверов для работы с Firebird
- 6 Вышел Firebird 3.0
- 7 Установка Firebird — выбор типа сервера
- 8 и Firebird SQL Server
- 9 Инструменты оптимизации производительности
- 10 Appendix H: Document History
- 11 Машина Тьюринга на чистом SQL
- 12 Компонент TFDCommand
- 13 Компонент TFDTransaction
- 14 Тестирование БД мобильного Delphi-приложения
- 15 Установка и работа программы
- 16 Заключение
Другие возможности: улучшение производительности, тихая установка, и прочее
- Плагин прозрачной аутентификации для Execute Statement On External (ESOE)
- Пул Execute Statements On External (Firebird 2.5, 3.0)
- Ускоряет соединение с внешними базами данных
- Команды SQL для управления пулом: изменение размера, времени жизни, очистка пула
- RSA-UDR: подписывание данных BLOB и varchar (3.0)
- Генерация Public/Private ключей
- Функции для вычисления дайджеста, подписи, проверки подписи
-
Пул подготовленных операторов SQL (3.0)
- Полезно для пулов коннектов (.NET, PHP)
- Ускоряет выполнение частых запросов до 8 раз
- Не требуются изменения в приложениях или в SQL
- Ускорение тяжелых отчетов (до 5ти раз) (3.0)
- Запросы с большим количеством столбцов в SELECT с GROUP BY, ORDER BY, могут использовать новый план REFETCH для ускорения до 5ти раз
- Новый параметр в firebird.conf для управления сортировкой
- Не требуются изменения в приложениях или SQL
- Тихая установка с автоматической регистрацией — на Windows
- Упрощенное обновление HQbird
Подробнее об HQbird:
- HQbird: редакции и возможности
- HQbird: установка
- HQBird: настройка репликации
- Скачать HQbird
Вопросы?
- Прочитайте HQbird User Guide
- Обратитесь за поддержкой
Характеристики программы для работы с базами данных Firebird
Komp.Guru > Программы > Характеристики программы для работы с базами данных Firebird
Все современные организации используют компьютеры для обработки и хранения информации. Вся информация систематизируется в базы данных, поэтому они широко применяются в нашей жизни. С каждым годом специалисты в данной области становятся более востребованными.
Существует множество программ для работы с БД, одной из которых является Firebird.
- Основные характеристики
- Установка и работа программы
- Удаление Firebird
Firebird представляет собой систему управления базами данных (СУБД). Для этой утилиты характерна кроссплатформенность (работа на всех операционных системах), что делает ее доступной для любого настольного П. К. При создании софт разработчики брали за основу открытый исходный код Borland InterBase 6.0. Бесплатная версия доступна уже более 20 лет.
Основные характеристики
Особенностями утилиты являются:
- Малый вес. Пакет установки не занимает много места, однако программа способна работать не только с малыми, но и с гигантскими базами.
- Распространение в свободном доступе. Пользователю не нужно регистрироваться или приобретать лицензию.
- Открытый код. Firebird можно пользоваться бесплатно не только в личных, но и в коммерческих целях.
Основные характеристики программы Firebird:
- Совместимость со всеми распространенными О. С. При работе с операционной системой Windows программа доступна в виде обычного приложения.
- Установка осуществляется в автоматическом режиме. По ее окончании можно начинать полноценное использование программы без ввода дополнительных настроек.
- Можно расширить функциональность СУБД за счет внешних функций.
- Поддерживаются триггеры и хранимые процедуры.
- Записи разных версий обрабатываются без ограничения соседних.
- Триггеры и хранимые процедуры создаются на языке SQL.
- Отсутствие необходимости участия системных администраторов.
- Базы данных можно сохранять на компакт дисках и других съемных носителях в режиме «только для чтения».
- Поддерживается множество языков кодировки, включая Unicode.
- Создание резервной копии осуществляется без остановки сервера.
Невзирая на множество положительных характеристик, в программе есть существенные недостатки, на которые нельзя не обратить внимание. Например, в Firebird отсутствует кэш, а значит не сохраняется история запросов
Работа программы замедляется при увеличении внутренней фрагментации базы.
Создатели и активные пользователи программы работают над устранением этих проблем. В интернете есть сообщество, где пользователи обмениваются опытом и наработками. Там также можно быстро получить необходимую помощь.
About Jaybird 4
Jaybird 4 is — compared to Jaybird 3 — an incremental release that builds on the foundations of Jaybird 3. The focus of this release has been on further improving JDBC support and adding support for the new data types and features of Firebird 4.
The main new features are:
Jaybird 3.0
- Release Date: May 22, 2020
- File Name: Jaybird-3.0.9-JDK_1.8.zip
- Description: Jaybird 3.0.9 for Java 8 / JDBC 4.2, zip kit (also suitable for Java 9 and higher)
- Release Date: May 22, 2020
- File Name: Jaybird-3.0.9-JDK_1.7.zip
- Description: Jaybird 3.0.9 for Java 7 / JDBC 4.1, zip kit
Jaybird 3.0.9 released.
The following has been changed or fixed since Jaybird 3.0.8
The release is also available on maven(*):
groupId:
artifactid: *
version:
* The depends on your target Java version: , or
- Jaybird 3.0.x javadoc
- Jaybird JDBC Driver Java Programmer’s Manual
Создание web приложения на PHP с иcпользованием Firebird и Laravel
Tutorial
Привет Хабр!
В прошлой статье я рассказывал о пакете для поддержки СУБД Firebird в фреймворке Laravel. На этот раз мы рассмотрим процесс создания web приложения с использованием СУБД Firebird на языке PHP с использованием Laravel.
Обзор драйверов для работы с Firebird
В PHP есть два драйвера для работы с СУБД Firebird:
- Расширение Firebird/Interbase (ibase_ функции);
- PDO драйвер для Firebird.
Обзор расширения Firebird/Interbase
Расширение Firebird/Interbase появилось раньше и является наиболее проверенным. Для установки расширения Firebird/Interbase в конфигурационном файле php.ini необходимо раскомментировать строку
или для UNIX подобных систем строку
Это расширение требует, чтобы у вас была установлена клиентская библиотека fbclient.dll/gds32.dll (для UNIX подобных систем fbclient.so) соответствующей разрядности.
Замечание для пользователей Win32/Win64 Для работы этого расширения системной переменной Windows PATH должны быть доступны DLL-файлы fbclient.dll или gds32.dll. Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: fbclient.dll или gds32.dll. |
Вышел Firebird 3.0
Сегодня вышел Firebird 3.0 — шестой основной релиз СУБД Firebird, и он же — самый значительный по масштабу изменений с момента выхода 1-й версии в 2002 году,.
Архитектура Firebird 3.0 была переработана и теперь полностью поддерживает многопоточность с масштабированием до сотен ядер, эффективно поддерживается большое количество RAM. Согласно результатам нагрузочных тестов OLTP, имитирующим интенсивные вставки и изменения, скорость работы в сценариях с сотнями пользователей у Firebird 3.0 по сравнению с 2.5 возросла в ~5 раз.
Помимо масштабирования и производительности, релиз Firebird 3.0 включает в себя возможности шифрование БД, трафика, и более 100 новшеств в области SQL и безопасности — они подробно описаны в release notes и документации по языку SQL (на русском языке).
Самые важные ссылки по Firebird 3:
Установка Firebird — выбор типа сервера
Сервер Firebird SQL доступен в 3-х вариантах:
- Firebird Super Server
- Firebird Classic Server
- Firebird Embedded
Firebird Super Server
Firebird Super Server — все клиентские подключения обслуживаются одним серверным процессом, имеется общий клиентский кеш. За счет этого достигается меньший расход ресурсов на обслуживание клиентов. Недостатком Firebird Super Server является отсутствие возможности задействовать несколько процессоров для работы Firebird сервера.
Firebird Classic Server
Firebird Classic Server — на каждое клиентское подключение создает отдельный серверный процесс. Архитектура Firebird Classic Server более надежна, т.к. сбой одного серверного процесса не вызывает отказ в обслуживании всех клиентов. Кроме того, Firebird Classic позволяет задействовать многопроцессорную архитектуру. При установке Firebird вы можете выбрать между версиями Firebird Super Server или Firebird Classic Server.
Firebird Embedded
Firebird Embedded Server — предназначен для встраиваемых баз данных. Состоит из одной dll — fbembed.dll, которая включает в себя клиент и сервер Firebird Super Server. Firebird Embedded не требует установки на клиентской рабочей станции. Достаточно просто скопировать fbembed.dll и еще несколько файлов клиенту на компьютер.
Недостаток Firebird Embedded — это невозможность одновременного подключения к одной БД нескольких клиентов. После успешного подключения Firebird Embedded блокирует файл базы данных для монопольного доступа.
Firebird Embedded Server распространяется отдельным дистрибутивом.
Скачать архив с Firebird Embedded.
Если затрудняетесь с выбором
Если вы не уверены в выборе типа установки Firebird, то используйте Firebird Super Server. В дальнейшем вы без труда сможете изменить архитектуру сервера.
и Firebird SQL Server
О чем это
Являясь автором модуля подключения к Firebird для NodeJS, я долго откладывал публикацию о нем, считая, что модуль еще достаточно сырой. Кроме того, развитие модуля несколько застопорилось, поскольку весь необходимый мне функционал в нем уже присутствует (однако он еще далек от универсальности).
Время от времени только возникает необходимость исправить выявленную ошибку или подправить что-то для обеспечения совместимости с последней стабильной версией NodeJS. Надо сказать, что модуль не является популярным ввиду направленности NodeJS сообщества на NoSQL решения
А Firebird сообщество, видимо, смотрит на NodeJS с осторожностью, да и не такое уж оно и большое. К тому же довольно часто Firebird используется в связке с Delphi на платформе Windows, так что заинтересовать кого-либо из работающих под Windows специфичным Linux решением тоже тяжело
Однако, недавнее значительное продвижение проекта NodeJS в сторону поддержки Windows дало надежду на привлечение внимания таких людей к проекту. Эта публикация будет посвящена тому, как можно работать с Firebird из NodeJS. Будут даны инструкции по установке для Linux и Windows, примеры типовых сценариев работы. Топик, однако, рассчитан на тех, кто хоть немного знаком с Firebird (необходима рабочая копия сервера БД для экспериментов). Для тех, кто не знаком с Firebird, в конце публикации будут даны ссылки на ресурсы для изучения.
Заинтересовавшимся — добро пожаловать под кат.
Инструменты оптимизации производительности
- Trace API Firebird 2.5 и 3.0: FBPerfMont сохраняет логи мониторинга в отдельную базу данных Firebird, после чего можно визуально анализировать соединения, транзакции, запросы.
- Таблицы MON$: MON$Logger позволяет выполнять анализ снимков состояния сервера, также показывая агрегированную информацию по количеству чтений/записи, используемой памяти, нагрузке запросов на сервер.
- Gstat: IBAnalyst анализирует статистику базы данных, и выдает рекомендации по улучшению производительности базы данных.
- Анализ транзакций при помощи FBDataGuard и IBTM позволяет получить интенсивность транзакций в течение дня, с детектированием длительных и «застрявших» транзакций.
Appendix H: Document History
The exact file history is recorded in our git repository; see https://github.com/FirebirdSQL/firebird-documentation
Revision History | |||
---|---|---|---|
1.3 |
13 Jun 2020 |
MR |
Various minor changes in copy and styling while checking migrating the German version to AsciiDoc |
1.2 |
6 Jun 2020 |
MR |
|
1.1 |
1 Jun 2020 |
MR |
Conversion to AsciiDoc. |
1.001 |
22 Jan 2018 |
H.E.M.B. |
Updated the file history link at the top of this chapter to reflect the migration of the Doc source tree to Github. Typos fixed/updates by M. Rotteveel Dec. 2017/Jan. 2018
|
1.000 |
11 Aug 2017 |
H.E.M.B. |
There have been no further changes to the content during the final review period. |
0.906 |
11 Aug 2016 |
H.E.M.B. |
Several revisions were published during the year, as a Beta 1, with reviews of various sections by Paul Vinkenoog, Aage Johansen and Mark Rotteveel. |
0.900 |
1 Sep 2015 |
H.E.M.B. |
Original was in Russian, translated by Dmitry Borodin (MegaTranslations). This revision distributed as a PDF build only, for review by Dmitry Yemanov, et al. Reviewers, please pay attention to the comments like this: Editor’s note :: The sky is falling, take cover! |
Машина Тьюринга на чистом SQL
Пару месяцев назад прочитал пост, в котором уважаемая ksusha написала эмулятор машины Тьюринга используя MySQL и хранимые процедуры. Статья дала толчок к идее сделать машину Тьюринга на чистом SQL, без использования хранимых процедур. Для реализации был использован знакомый и любимый Firebird версии 2.1.
Существует две принципиальные проблемы при создании машины Тьюринга на голом SQL:
- 1) лента машины может быть и модифицирована и дописана, что требует операторов INSERT и UPDATE в одной конструкции;
- 2) машина Тьюринга требует как минимум одной переменной для состояния. Обычные SQL(DML)-запросы не могут хранить промежуточных переменных, по крайней мере в Firebird.
Тем не менее, мне удалось обойти эти ограничения
Компонент TFDCommand
Параметр | Назначение |
---|---|
Connection | Связь с компонентом FDConnection. |
Transaction | Транзакция, в рамках которой будет выполняться SQL команда. |
CommandKind | Тип команды.
Обычно тип команды определяется автоматически по тексту SQL запроса. |
CommandText | Текст SQL запроса. |
Компонент TFDTransaction
Параметр
Назначение
Connection
Связь с компонентом FDConnection.
Options.AutoCommit
Управляет автоматическим стартом и завершением транзакции. Значение по умолчанию True.
Если значение этого свойства установлено в True, то FireDAC делает следующее:Запускается транзакция (если требуется) перед выполнением каждой SQL команды, и завершает транзакцию после выполнения SQL команды. Если команда выполнится успешно, то транзакция будет завершена как COMMIT, иначе — ROLLBACK.
Если приложение вызывает метод StartTransaction, то автоматическое управление транзакциями будет отключено, до тех пор, пока транзакция не завершится как Commit или Rollback.
В Firebird автоматическое управление транзакциями эмулируется самими компонентами FireDAC.
Options.AutoStart
Управляет автоматическим запуском транзакции. По умолчанию True.
Options.AutoStop
Управляет автоматическим завершением транзакции. По умолчанию True.
Options.DisconnectAction
Действие, которое будет выполнено при закрытии соединения, если транзакция активна. Значение по умолчанию xdCommit. Возможны следующие варианты:xdNone – ничего не будет сделано. Действие будет отдано на откуп СУБД;
xdCommit – подтверждение транзакции;
xdRollback – откат транзакции.
В других компонентах доступа значение по умолчанию для подобного свойства xdRollback. Поэтому необходимо выставлять это свойство вручную в то значение которое действительно требуется.
Options.EnableNested
Управляет вложенными транзакциями. Значение по умолчанию True.
Когда транзакция активна, то следующий вызов StartTransaction создаст вложенную транзакцию. FireDAC эмулирует вложенные транзакции, используя точки сохранения, если СУБД не поддерживает вложенные транзакции в явном виде. Чтобы отключить вложенные транзакции, установите EnableNested в False и следующий вызов StartTransaction вызовет исключение.
Firebird не поддерживает вложенные транзакции в явном виде.
Options.Isolation
Определяет уровень изолированности транзакции
Это самое важное свойство транзакции. Значение по умолчанию xiReadCommited
Возможны следующие варианты:xiUnspecified – используется уровень изоляции по умолчанию для вашей СУБД (в Firebird это SNAPSHOT, т.е. с параметрами read write concurrency wait);
xiDirtyRead – этого уровня изолированности в Firebird не существует поэтому вместо него будет использован READ COMMITED;
xiReadCommited – уровень изолированности READ COMMITED. В Firebird такая транзакция стартует с параметрами read write read_committed rec_version nowait;
xiRepeatableRead – этого уровня изолированности в Firebird не существует поэтому вместо него будет использован SNAPSHOT;
xiSnapshot – уровень изолированности SNAPSHOT. В Firebird такая транзакция стартует с параметрами read write concurrency wait;
xiSerializable – уровень изолированности SERIALIZABLE. На самом деле в Firebird не существует транзакции с данным уровнем изолированности, но он эмулируется запуском транзакции с параметрами read write consistency wait.
Options.Params
Специфичные для СУБД параметры транзакции. В настоящее время используется только для Firebird и Interbase. Возможные значения:read
write
read_committed
concurrency
consistency
wait
nowait
rec_version
no rec_version
Options.ReadOnly
Указывает является ли транзакция только для чтения. По умолчанию False. Если установлено в True, то любые изменения в рамках текущей транзакции невозможны, в Firebird в этом случае отсутствует значение read в параметрах транзакции.
Установка этого свойства в True позволяет СУБД оптимизировать использование ресурсов.
Замечание Такую транзакцию нельзя использовать для отчётов (особенно если они используют несколько последовательных запросов), потому что транзакция с режимом изолированности READ COMMITED во время перечитывания данных будет видеть все новые committed-изменения. Для отчётов рекомендуется использовать короткую транзакцию только для чтения с режимом изолированности SNAPSHOT (Options.Isolation = xiSnapshot и Options.ReadOnly= True). В данном примере работа с отчётами не рассматривается. |
Тестирование БД мобильного Delphi-приложения
В предыдущем материале «Выбор СУБД для мобильного Delphi-приложения», как следует из его названия, был показан первый этап в разработке той подсистемы приложения, что отвечает за хранение и бо́льшую часть обработки его данных; уточнение про «бо́льшую часть» сделано неспроста, т. к. в итоге обозначенный выбор пал на СУБД Interbase именно из-за возможности применять хранимые процедуры (ХП), которые и стали сосредоточением основной логики по работе с данными, оставляя за Делфи-кодом несложную задачу по их вызову.
Для лучшего понимания необходимости тестирования в данном конкретном случае, нужно отметить, что в описанном проекте изначально была задана довольно высокая планка качества, поддержание которой в части функционала, реализованного в процедурах, достиглось, в том числе, за счёт автотестов, проверяющих ключевые ХП (они ответственны за критический для приложения функционал – ). Именно один из способов организации такого тестирования – на основе DUnitX и XML – и является предметом статьи.
Установка и работа программы
Несмотря на то, что Firebird является мощной СУБД и может работать с достаточно большими базами данных и с сотнями пользователей, её инсталлятор весит обычно не более 7 Мб (в зависимости от версии операционной системы), программа не займёт много места на жёстком диске. Процесс инсталляции выполняется в автоматическом режиме, так что с этим трудностей не возникает. Софт не требует настройки, запускается сразу после установки и работает в автоматическом режиме без участия в процессе системных администраторов.
Как запустить приложение Firebird
Когда Firebird выполняется как приложение, в системном трее будет видна его иконка, вид которой зависит от того, запущен только сервер или он контролируется Guardian. Управление посредством службы Guardian рекомендовано при выполнении Суперсервера, в случае с Классическим сервером Guardian не требуется, её можно не ставить при инсталляции.
Запускает Firebird инсталлятор, но если сервер не был запущен или инициализирован, до установки автоматического старта запускать или инициализировать его придётся вручную. Это можно сделать через Пуск – Все программы – Firebird или с командной строки. Команда для старта Guardian fbguard.exe -a или ibguard.exe -а (для версии 1.0.x), для запуска Суперсервера напрямую следует набрать fbserver.exe -a или ibserver.exe -а (для версии 1.0.x). Для Классического сервера также можно вызвать окно командной строки, перейти в каталог in и ввести fb_inet_server.exe -a. Если при установке софта выбран режим «Use Guardian», запустить службу можно из того же каталога командой fbguard.exe -с -a.
Как пользоваться Firebird
Кроме СУБД для полноценного функционирования нужна также IBExpert, оболочка, требуемая для разработки и администрирования. Она, как и Firebird Server, идёт в связке с программой. После того, как скачали инсталлятор с официального ресурса, начинаем установку. От пользователя требуется минимальное участие, инсталляция выполнится автоматически. По умолчанию настроен автоматический запуск, который будет осуществляться при каждом старте компьютера.
Чтобы начать работу, нужно запустить IBExpert, при первом старте оболочки потребуется ответить на запрос об использовании многотипных элементов интерфейса. В случае согласия интерфейс скопирует набор инструментов DELPHI.
Выполняем следующие действия, чтобы создать первую базу:
- В главном меню выбираем «База данных».
- Жмём «Создать».
- В новом окне в пункте «Сервер» выбираем «Локальный».
После этого потребуется выбрать место хранения базы данных, прочие параметры будут заполнены автоматически. Для пользователя с логином SYSDBA применяется пароль по умолчанию masterkey. Чтобы сохранить настройки, жмём «Ок».
В Firebird поддерживаются типы данных SQL, кроме того введены динамически изменяемые большие двоичные данные и многомерные однородные массивы. Доступные типы данных зависят от версии СУБД. Значения определяются для каждого столбца в таблице Firebird, они указывают на характеристики данных и определяют, какие операции могут выполняться с ними, а также какое дисковое пространство занимают элементы.
Откуда Firebird попал к вам на компьютер
Если вы не качали конкретно Firebird, софт мог установиться вместе с другой программой, использующей его для корректного функционирования. В таком случае удалять Firebird не следует, поскольку такие действия приведут к неприятным последствиям в виде отказа работы программного обеспечения, которое обращается к СУБД.
Заключение
В ходе данной работы были рассмотрены основные особенности базы данных Firebird, а также была произведена ее установка на ОС Ubuntu 17. Был продемонстрирован процесс создания простой базы данных с помощью isql.
На основе проделанной работы можно сделать вывод о том, что Firebird является довольно простой базой данных, работа с которой происходит через SQL, что добавляет удобства при переходе с любой другой базы данных, которая работает с языком SQL. В сравнении с MySQL, как с другой SQL базой данных с открытым исходным кодом, Firebird является менее удобной при работе и доставляет гораздо больше проблем при установке. Если для установки MySQL достаточно одного apt-get, до у Firebird пришлось потратить некоторое время для того, чтобы разобраться, почему база данных не хочет устанавливаться, либо не хочет работать после установки. Однако у Firebird есть некоторые плюсы, которые связаны с потребностью тех, кто им пользуется, например, эта база данных занимает меньше места в сравнении с MySQL и поддерживает большее количество платформ, что может оказаться для кого-то более нужным, чем некоторые функции, которые есть в MySQL, но отсутствуют в Firebird.