Firebird что это за программа

Другие возможности: улучшение производительности, тихая установка, и прочее

  • Плагин прозрачной аутентификации для 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 лет.

Основные характеристики

Особенностями утилиты являются:

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

Основные характеристики программы Firebird:

  1. Совместимость со всеми распространенными О. С. При работе с операционной системой Windows программа доступна в виде обычного приложения.
  2. Установка осуществляется в автоматическом режиме. По ее окончании можно начинать полноценное использование программы без ввода дополнительных настроек.
  3. Можно расширить функциональность СУБД за счет внешних функций.
  4. Поддерживаются триггеры и хранимые процедуры.
  5. Записи разных версий обрабатываются без ограничения соседних.
  6. Триггеры и хранимые процедуры создаются на языке SQL.
  7. Отсутствие необходимости участия системных администраторов.
  8. Базы данных можно сохранять на компакт дисках и других съемных носителях в режиме «только для чтения».
  9. Поддерживается множество языков кодировки, включая Unicode.
  10. Создание резервной копии осуществляется без остановки сервера.

Невзирая на множество положительных характеристик, в программе есть существенные недостатки, на которые нельзя не обратить внимание. Например, в 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

  • Split chapter Built-in Functions and Context Variables into two chapters: Built-in Functions, and Context Variables

  • Removed incorrect caution on expressions in

  • Made function and context variable description use consistent order

1.1

1 Jun 2020

MR

Conversion to AsciiDoc.
Various copy-editing, and fixing factual errors and other problems while checking and correcting 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

  • 14.12.2017 psql.xml line 544 replaced ‘stored procedures’ with ‘triggers’

  • 14.12.2017 psql.xml line 1070 removed extraneous ‘>’ symbol

  • 21.01.2018 functions-vars.xml line 1222 replaced ‘CURRENT_TIME’ with ‘CURRENT_TIMESTAMP’

  • 21.01.2018 dml.xml line 19 switched ‘INSERT OR UPDATE’ to ‘UPDATE OR INSERT’

  • 21.01.2018 dml.xml line 3344 removed extraneous ‘the’

  • 21.01.2018 ddl.xml line 3359 inserted missing keyword ‘INDEX’ for SET STATISTICS syntax

  • 21.01.2018 commons.xml line 1330 switch keywords ‘horizontal’ and ‘vertical’

  • 21.01.2018 structure.xml lines 276 to 278 change date literal format to ‘yyyy-mm-dd’ and include hex representation in example

1.000

11 Aug 2017

H.E.M.B.

There have been no further changes to the content during the final review period.
The chapters DML, PSQL, Functions and Variables, Transactions and Security were not reviewed in this phase.

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.
This revision (0.906) awaits final revision of some later sections, marked as “Editor’s Note” in red italics.

0.900

1 Sep 2015

H.E.M.B.

Original was in Russian, translated by Dmitry Borodin (MegaTranslations).
Raw translation edited and converted to DocBook, as this revison (0.900), by Helen Borrie.

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 Тип команды.
  • skUnknown – неизвестен. В этом случае тип команды будет определятся автоматически по тексту команды внутренним парсером;
  • skStartTransaction – команда для старта транзакции;
  • skCommit – команда завершения и подтверждения транзакции;
  • skRollback – команда завершения и отката транзакции;
  • skCreate – команда CREATE … для создания нового объекта метаданных;
  • skAlter – команда ALTER … для модификации объекта метаданных;
  • skDrop – команда DROP … для удаления объекта метаданных;
  • skSelect – команда SELECT для выборки данных;
  • skSelectForLock – команда SELECT … WITH LOCK для блокировки выбранных строк;
  • skInsert – команда INSERT … для вставки новой записи;
  • skUpdate – команда UPDATE … для модификации записей;
  • skDelete – команда DELETE … для удаления записей;
  • skMerge – команда MERGE INTO …
  • skExecute – команда EXECUTE PROCEDURE или EXECUTE BLOCK;
  • skStoredProc – вызов хранимой процедуры;
  • skStoredProcNoCrs – Вызов хранимой процедуры не возвращающей курсор;
  • skStoredProcWithCrs – вызов хранимой процедуры возвращающей курсор.

Обычно тип команды определяется автоматически по тексту 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.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий