Interbase формат файлов бд
Версионная архитектура InterBase SQL Server
База данных InterBase построена на версионной архитектуре хранения данных. Этот подход обладает рядом преимуществ перед блокировочными СУБД:
- Для восстановления баз данных InterBase после системного сбоя, нет необходимости поддержки лога транзакций.
- Клиенты, читающие данные никогда не блокируют клиентов, осуществляющих запись данных.
Преимущества сервера InterBase
InterBase обладает целым рядом преимуществ, выгодно отличающих его от остальных СУБД:
- Обновляемые представления View;
- Двухфазное подтверждение транзакций;
- Эффективный механизм триггеров;
- Серверная обработка BLOB-полей (BLOB-filters);
- События (Уведомления);
- Шифрование сетевого трафика, базы данных, файлов бекапа и отдельных столбцов БД.
Язык InterBase SQL
Актуальная версия InterBase server
Сервер InterBase 2009 доступен в 4-х вариантах:
- InterBase SMP 2009 Developer;
- InterBase SMP 2009 Server;
- InterBase SMP 2009 Desktop;
- InterBase SMP 2009 ToGo.
InterBase SMP 2009 Developer Edition
Версия InterBase SMP Developer Edition поставляется бесплатно в составе интегрированной среды разработки CodeGear и для первого знакомства c базой InterBase лучше воспользоваться ей.
InterBase SMP 2009 ToGo
Однопользовательская версия InterBase SMP 2009 ToGo встраивается в приложения в качестве dll и предназначена для разработки Portable-приложений с размером базы данных менее 3 мегабайт. Между тем она обладает всеми необходимыми функциями полноценной БД, включая поддержку транзакций и SQL.
Производительность InterBase
Сервер InterBase разрабатывался с учетом современных требований к производительности СУБД. В последних версиях InterBase SQL Server применен ряд технологий значительно повышающих скорость работы:
- Поддержка симметричной многопроцессорной обработки InterBase SMP (symmetric multiprocessing) позволяет задействовать возможности многопроцессорной архитектуры при единственном серверном процессе InterBase SuperServer.
- Поддержка технологии Hyperthreading.
- Пакетное выполнение SQL запросов позволяет уменьшить сетевой трафик и повысить производительность.
InterBase против Firebird
Хотя в основе версий InterBase 2009 и Firebird 2.5 лежит общий исходный код InterBase 6.0, эти СУБД на современном этапе развития значительно отличаются друг от друга.
В InterBase 2009 реализованы следующие возможности, которые не поддерживаются в последней версии Firebird 2.5:
- Шифрование базы данных, а так же отдельных столбцов.
- Шифрование сетевого трафика (Over-the-Wire (OTW) Encryption.
- Протоколирование операций на базе журналов.
- Возможность аутентификации на уровне базы данных.
- Функция экспорта содержимого файлов базы данных (Dump) в режиме онлайн.
- Функция восстановления состояния из архивов на определенный момент времени (Point-in-Time Recovery).
- Логический тип данных Boolean.
InterBase Super Server + SMP (symmetric multiprocessing) объединяет в себе преимущества двух архитектур Classic и Superserver. Один серверный процесс InterBase Super Server позволяет сократить накладные расходы и использовать общий клиентский Кеш, а технология симметричной обработки SMP задействует возможности многопроцессорной архитектуры, которые раньше были недоступны для Classic Server.
Начало работы с InterBase
Для знакомства с InterBase можно использовать тестовую базу данных employee.gdb. Она входит в установочный комплект InterBase и расположена в папке C:\CodeGear\InterBase\examples\database\.
Создание новой базы данных InterBase
Создать новую базу данных можно через консоль управления IBConsole. Она находится в папке C:\CodeGear\InterBase\bin:
Альтернативный способ создания пустой базы InterBase через утилиту isql:
- запустите утилиту C:\CodeGear\InterBase\bin\isql.exe
- выполните инструкцию создания базы данных:
В ISQL каждое выражение завершается точкой с запятой.
Проверить подключение можно, выполнив запрос:
SQL> select TMP$DATABASE_PATH from TMP$DATABASE;
Если все сделано правильно, SQL запрос вернет путь к подключенной базе данных:
Безопасность InterBase Server
InterBase SQL Server поддерживает несколько методов аутентификации пользователей:
Чтобы включить Embedded User Authentication необходимо при создании базы данных через SQL указать опцию WITH ADMIN OPTION. В IBConsole можно просто указать соответствующий параметр в настройках БД.
Следующие инструкции позволяют управлять механизмом Embedded User Authentication:
После включения возможности хранения пользователей в БД можно управлять пользователями через SQL операторы:
Обе схемы аутентификации Classic и EUA могут быть использованы на сервере InterBase совместно. Подробнее об аутентификации можно прочитать в статье: Встроенная аутентификация пользователей в InterBase 7.5
Пользователь SYSDBA. Смена пароля по умолчанию
C:\CodeGear\InterBase\bin>gsec GSEC> modify SYSDBA -pw NEW_PASS
При помощи утилиты gsec можно создавать, удалять, модифицировать и просматривать пользователей. Полный список команд можно получить, набрав help.
Подключение к InterBase из клиентского приложения
Для начала скачайте и установите пакет IBProvider Professional Edition.
Для проверки подключения к InterBase напишем простой сценарий на языке VBScript. Создайте пустой файл с расширением vbs и вставьте в него следующий код, указав правильный путь к базе данных:
Запустите скрипт на выполнение в режиме командной строки, и вы увидите список активных подключений к БД.
InterBase и VBScript, Visual Basic, VBA
Для доступа к InterBase и Firebird из VBScript, VBA, Visual Basic используется библиотека ADO (ActiveX Data Objects). Множество примеров работы с этой библиотекой вы найдете в документации: примеры InterBase VBScript, VBA, Visual Basic.
InterBase и Delphi
IBProvider предлагает несколько способов работы с InterBase из Delphi:
- dbGo (ADO Express) компоненты, работающие через библиотеку ADO.
- прямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo.
- прямой доступ к COM-интерфейсам OLE DB при помощи сторонних VCL-компонент (OLE DB Direct/OLE DB Express).
InterBase и C++
В состав IBProvider Professional Edition входит C++ библиотека, которая предоставляет самый быстрый способ работы с OLE DB провайдерами из Visual C++ 2005-2008, а так же из C++ Builder.
Создание таблицы InterBase при помощи IBConsole
Создание таблицы InterBase при помощи утилиты isql.exe
SQL> CREATE TABLE cross_rate CON> ( CON> from_currency VARCHAR(10) NOT NULL, CON> to_currency VARCHAR(10) NOT NULL, CON> conv_rate FLOAT NOT NULL, CON> update_date DATE, CON> CON> PRIMARY KEY (from_currency, to_currency) CON> );
Вставляем одну запись и делаем выборку из таблицы:
Помимо isql существую различные графические утилиты администрирования InterBase.
Утилиты администрирования InterBase
IBExpert
IB/FB Development Studio
Blaze Top
Database Workbench
Теги статьи: База данных InterBase Server, Язык InterBase SQL, сервер InterBase, InterBase server, InterBase 2009, InterBase 2007, InterBase vs Firebird, Firebird 2.5, InterBase таблицы, IBExpert, IB/FB Development Studio, Blaze Top, Database Workbench.
На рисунке вы можете видеть, что сервер InterBase (или аналогичный) располагается на отдельном компьютере, вместе с самими данными. При этом не используется никаких открытых ресурсов (дисков, папок или файлов), обмен данными происходит только по специально выделенному порту.
Давайте представим себе работу файл -серверной базы данных по сети. Компьютер , выполняющий роль сервера, не делает ничего, кроме обеспечения общего доступа к папке, в которой находится база данных . Пользовательский компьютер , обращаясь к какой-нибудь таблице из этой БД , вначале получает по сети всю таблицу, какой бы большой она ни была, и лишь затем получает возможность работать с загруженной копией. А если база данных имеет много таблиц? А если таблицы содержат сотни тысяч записей? А если клиентских компьютеров несколько десятков, а то и сотен? В этом случае сеть подвергается огромным перегрузкам, так как каждый клиент должен получить собственную копию таблицы, и не один раз за сеанс . Кроме того, работая с файл -серверной базой данных, клиентское приложение принимает на себя всю тяжесть обеспечения правильной работы с этой БД : данные должны быть полными и непротиворечивыми, удаляя какую то запись , следует удалять и все связанные с ней записи, другими словами, бизнес-правила осуществляет клиентский ПК. Все это приводит к тому, что не только сетевые каналы должны быть скоростными, но и компьютеры пользователей должны быть как можно мощнее. Следует помнить и об отсутствии безопасности файл -серверной архитектуры, ведь для обеспечения совместной работы нужно открыть общий доступ к данным, которые из-за этого могут быть кем-нибудь испорчены, намеренно или случайно.
Работа клиент-серверной БД выглядит совершенно иначе. Компьютер , "выделенный под сервер ", не только выполняет все необходимые работы по обслуживанию БД , он еще и обрабатывает запросы от клиентских ПК, и пересылает им не всю таблицу или связанные таблицы, а лишь те сведения, которые были запрошены. В результате многократно снижается нагрузка на сеть , а безопасность работы увеличивается: в файл-серверных БД очень сложно реализовать непротиворечивость данных, если несколько клиентов обращаются к одной записи. Клиент-серверная архитектура же пользуется транзакциями - пакетом запросов, который последовательно производит изменения БД и либо принимается, если все изменения записи подтверждены, либо отвергается, если хоть один запрос завершился неуспешно. Мощным можно оставить лишь один компьютер - сервер . Пользовательские же ПК могут быть неприхотливыми и недорогими. Таким образом, происходит разделение всей работы с базой данных на две части: обслуживание БД , и обслуживание клиентов. Первая часть возлагается на SQL - сервер , вторая - на клиентскую программу.
На рынке имеется немало SQL -серверов самых разных разработчиков. Какой из них выбрать - дело вкуса, но клиентскую часть нам придется создавать самим. Клиентское приложение , работающее с серверным процессом , может выполнять различные действия с базой данных:
Программист, используя архитектуру клиент- сервер , должен быть также и неплохим администратором БД , то есть, он должен уметь устанавливать серверное программное обеспечение и обслуживать саму базу данных: делать резервные копии, удалять накопившийся "мусор", регистрировать новых пользователей и т.п.
InterBase
InterBase представляет собой полнофункциональный SQL - сервер . Сервер баз данных - это программа или служба, которая выполняется на сетевом компьютере (сервере), где физически расположена сама база данных . На этом курсе мы изучим установку сервера InterBase версии 6.5, который входит в поставку Delphi 7 . InterBase - очень надежный сервер БД , при этом он не требователен к ресурсам ПК, благодаря чему является одним из самых популярных SQL -серверов на рынке программного обеспечения. Благодаря тому, что InterBase обеспечивает автоматическое восстановление и готовность к работе после сбоев системы (пользователи часто даже не замечают, что у сервера были проблемы), он используется во многих военных проектах США. Во многом из-за этого InterBase так поздно появился на нашем рынке.
InterBase выгодно отличается от многих других серверов следующими качествами:
- Высокая производительность и надежность при минимальных требованиях к ПК.
- Поддержка стандарта SQL -92, что позволяет обеспечить переносимость программ.
- Относительно низкая стоимость продукта (с Delphi поставляется сервер InterBase с бесплатной лицензией на 5 клиентов, этого достаточно для разработки БД и приложения, но обычно недостаточно для развертывания сервера в организации).
- Простота управления и поддержки сервера. InterBase имеет простой и удобный механизм администрирования БД, не требующий специальных знаний.
В 1985 году сервер носил название GDS ( Groton Database System ), но вскоре был переименован в InterBase . В 1991 году сервер был перекуплен фирмой Aston Tate , но уже в 1992 году вместе с фирмой сервер перешел во владение корпорацией Borland . Начиная со второй версии Delphi , дистрибутив включает в себя бесплатную локальную версию сервера InterBase . Поскольку InterBase является "родным" для Delphi сервером БД и не требует для своей работы установки дополнительных драйверов, а также, принимая во внимание все вышесказанное, мы остановимся именно на нем. Средств самой Delphi вполне достаточно для программирования приложений , работающих с InterBase , однако имеются разработки и сторонних производителей - компоненты, программы для облегчения администрирования БД и т.д.
Предполагается, что при установке Delphi вы также установили и InterBase Server . Впрочем, если это не так, то вставьте дистрибутивный диск и установите InterBase 6.5 Server :
Рис. 14.2. Выбор установки сервера в поставляемом дистрибутиве Delphi
Если же вы не знаете, установлен ли у вас уже InterBase , достаточно посмотреть в список меню "Программы", где он должен присутствовать отдельной папкой. Тут следует сделать одно замечание: если вы используете ОС Windows NT , 2000 или XP, то InterBase может запускаться как служба ( по умолчанию) или как приложение . В случае Windows 95, 98 или ME InterBase запускается только как приложение . Вне зависимости от того, какая ОС у вас установлена, если сервер запущен как приложение , в правом нижнем углу (в трее) вы увидите значок InterBase Guardian:
InterBase Guardian - утилита , которая устанавливается вместе с сервером. Эта утилита осуществляет начальный запуск сервера, и его перезапуск, если по каким то причинам сервер "рухнул".
Если же у вас установлена Windows NT, 2000 или XP, то загрузите Панель управления (Пуск -> Настройки -> Панель управления). Среди прочих имеющихся служб вы увидите и InterBase Manager :
Щелкните дважды по этой службе, чтобы открыть ее. Вы увидите следующее окно:
Ниже расположен раздел Root Directory (корневая папка сервера). В этом разделе указан адрес , по которому была произведена установка InterBase .
Еще ниже расположен раздел Status. Если сервер находится в рабочем состоянии, то зеленым цветом выводится Running (выполняется), а кнопка справа имеет название Stop (остановить). Если же сервер не работает, то красным цветом выводится надпись Stopped (остановлено), а кнопка справа содержит надпись Start (запустить). Вы можете безбоязненно попробовать нажимать на эту кнопку, запуская или останавливая сервер . "Галочка" Run the InterBase server as a service on Windows NT (Загружать сервер InterBase как службу Windows NT ) позволяет вам указать способ загрузки сервера: как службу Windows (при отмеченном состоянии) или как простое приложение . Рекомендуется запускать сервер , как службу.
В самом низу расположен раздел Properties (Свойства), где вы можете посмотреть или изменить текущие свойства сервера или служебной программы InterBase Guardian .
Еще один важный момент: копии базы данных должны храниться не просто на другом разделе жесткого диска, а вообще на другом жестком диске, ведь диск с рабочей БД тоже может выйти из строя. Если копии будут храниться на нем, то они также будут потеряны. Лучше всего хранить резервные копии на другом ПК, и (или) записывать их на CD -носители. К примеру, во многих банках существует правило: делать три резервных копии и хранить их в разных местах, даже в разных зданиях (на случай пожара). Так что отнеситесь к этой лекции серьезно.
Проще всего было бы скопировать файл базы данных *.gdb на другое место , однако так делать не рекомендуется по разным причинам. Пользователи могут вносить данные в базу, следовательно, файл БД будет постоянно изменяться. Чтобы просто скопировать файл , придется отключить работу сервера, то есть, запретить пользователям работу с базой данных, что обычно не приветствуется персоналом организации. Кроме того, в "Ключи и индексы" мы говорили, что интенсивная работа с базой данных может привести к тому, что индексы становятся разбалансированными, значения в них располагаются, как попало, и использование индекса не ускоряет, а даже замедляет поиск данных. А в "Транзакции" мы говорили о транзакциях, и знаем, что многие версии старых записей (мусор) обычно присутствуют в БД , возможно, есть и "повисшие" транзакции. Все эти проблемы не решаются простым копированием файла *.gdb , и остаются в такой копии.
Для создания нормальной резервной копии БД , в InterBase имеются собственные механизмы . Использование встроенных механизмов InterBase имеет следующие преимущества:
Таким образом, резервное копирование нужно осуществлять исключительно средствами InterBase .
Резервную копию можно сделать разными способами: с помощью утилиты командной строки , с помощью IBConsole , а также программно (рассмотрим в следующей лекции). Испробуем вначале самый простой вариант - утилиту IBConsole .
Backup с помощью IBConsole
Убедитесь, что сервер InterBase запущен, и загрузите IBConsole . Вначале откройте раздел локального сервера, в котором хранится наша БД First.gdb . То есть, вы должны войти в локальный сервер , указав пароль пользователя SYSDBA . Не имеет значения, открыта ли сама база First , копирование можно проводить как при работающей, так и при закрытой БД . Выберите команду меню " Database -> Maintenance -> Backup /Restore -> Backup ". В разделе Database в поле Alias выберите псевдоним нашей БД " first ". В разделе Backup File(s) в поле Server укажите " Local Server ", а в поле Alias также укажите " first ". В нижнем разделе нужно вписать адрес и имя создаваемой резервной копии (в качестве имени я использовал текущую дату, у вас имя может быть другим), как на рисунке ниже. Когда вы в следующий раз будете делать резервное копирование , то адрес и имя резервной копии заполнятся автоматически, как только вы выберите алиас " first " в разделе Backup File(s). В этом случае вы сможете оставить имя файла и адрес без изменений, или же изменить их. Как видите, backup -файлам традиционно дают расширение *.gbk :
Backup с помощью утилиты командной строки
Как для создания резервной копии, так и для восстановления БД InterBase предлагает утилиту командной строки gbak , которая неявно вызывалась утилитой IBConsole и в предыдущем примере. Если вы еще не забыли, утилиты InterBase хранятся в папке BIN там же, где установлен InterBase . Утилита gbak является наиболее универсальным и гибким инструментом, позволяя задавать множество параметров. При миграции БД с одной версии InterBase к другой, действует правило: можно восстанавливать резервные копии более старых версий InterBase , но не наоборот. То есть, если ваша резервная копия сделана на InterBase версии 6.5, ее без проблем можно перенести в 7.1 или выше. При попытке сделать обратную миграцию, вы можете столкнуться с массой проблем. Также gbak можно использовать для миграции между InterBase , Firebird или Yaffil , все клоны всех версий также содержат эту утилиту.
Синтаксис утилиты простой:
Параметры gbak для резервного копирования отражены в следующей таблице:
Загрузите окно cmd, сделайте текущей папку
Если у вас InterBase установлен по другому адресу, то следует указать ваш адрес .
Обычную копию можно сделать командой (выполните эти примеры, в окне cmd их придется вводить вручную):
Расширение GDB – это формат файла базы данных, созданной в программе InterBase. Это программа с открытым исходным кодом (бесплатное программное обеспечение), в отличие от GnuPG и PGP. Это формат по умолчанию, который ранее использовался InterBase 6.5, а более поздние версии (начиная с 7.0) используют расширение IB.
Способы открытия файла с расширением GDB.
Для чего нужен файловый формат GDB
Расширение файла GDB обозначает, что здесь содержится какая-либо информация для навигаторов или спутников GPS. Это могут быть точки маршрута, сам маршрут или что-либо подобное. Такие компоненты необходимо для правильной работы большинства навигаторов или других устройств, использующих карты и технологию GPS.
Софт для работы с GDB
Чем открыть GDB-файлы? В интернете есть множество редакторов и интерактивных программ для разработчиков – в основном, это специализированное ПО для программистов. Ниже мы рассмотрим наиболее популярное программное обеспечение, которое позволит открыть файл gdb, – это IBExpert, Embarcadero InterBase и Recovery For Interbase.
IBExpert
IBExpert – очень полезный и функциональный инструмент для управления различными БД на компьютере. Программа полностью поддерживает SQL и имеет простой и в то же время понятный пользовательский интерфейс, который не вызовет никаких проблем при использовании. Дополнительным преимуществом программы является поддержка практически всех необходимых расширений, включая файл gdb. Для объединения и совместного использования отдельных таблиц программа характеризуется поддержкой различных модулей, а также полной поддержкой и возможностью управления любой БД на основе механизма Firebird или InterBase.
Используя программу, также можно создать стандартную БД или такие базы данных, которые поддерживают язык запросов SQL. Для образовательных целей программа также доступна в бесплатной версии. Бесплатная лицензия имеет аналогичную функциональность, но ограничивает размер БД до 50 мегабайт. Вся информация о бесплатной версии находится на официальном сайте производителя. IBExpert также позволяет контролировать созданные БД, управлять многоэтапными сценариями и оптимизировать производительность всей базы данных.
ВАЖНО. Доступ к установочному файлу можно получить после бесплатной регистрации на веб-сайте производителя.Софт позволяет организовать взаимодействие и визуализацию всех объектов БД, изменять код запросов, SQL, позволяет легко набросать даже сложную БД. Проводит мониторинг и оптимизацию производительности БД. IBExpert оснащён модулем для объединения и совместного чтения существующих таблиц и многоэтапными сценариями с предварительным просмотром результатов отдельных запросов. Кроме того, предоставляется система анализа OLAP, метаданных и документация базовой структуры, а также отладчик хранимых компонентов. Наиболее важные функции программы IBExpert:
- функция Unicode;
- мониторинг и оптимизация производительности БД;
- запуск расширенных SQL-запросов с использованием скриптов;
- IBExpert позволяет создавать БД с использованием модели;
- копирование БД;
- ускорение и оптимизация;
- IBExpert имеет обширный модуль отчётности;
- извлечение метаданных для создания копии структуры БД;
- экспорт в CSV и через ODBC;
- управление правами пользователей;
- IBExpert предоставляет подсказки синтаксиса и помощник.
IBExpert – это профессиональная интегрированная среда разработки (IDE) InterBase и Firebird. Содержит множество утилит для кодировщиков, визуальные редакторы для всех компонентов БД, редактор SQL iScript Executive, отладчик и т. д. Это одна из самых полных и обширных программ для управления БД IB и FB, доступных на рынке. Несмотря на огромные возможности, софт интуитивен и не требует особых навыков. Благодаря визуальному управлению базами не понадобятся идеальные познания в синтаксисе DDL или DML, а работа с БД становится намного быстрее и удобнее.
Чтобы открыть файл с расширением .gdb, выполните следующие действия:
Embarcadero InterBase
Embarcadero InterBase – заслуживающий внимания коммерческий софт SQL с функциями защиты данных, синхронизацией и аварийным восстановлением. От одного устройства до небольшого корпоративного решения, InterBase, удостоенный награды IoT, – это выбор разработчиков и глобальное развёртывание ISV. Приложение используется во всём мире – от медицинских, железнодорожных и авиакомпаний до POS, CRM и даже MARS Rover.
Открываем формат gdb в Embarcadero InterBase:
Это легкодоступная коммерческая база данных, которая идеально подходит для распределённых систем, требующих сверхнизкого TCO с дополнительной защитой на протяжении всего жизненного цикла разработки. Сосредоточьтесь на своём продукте, не беспокоясь о данных.
Recovery For Interbase
Recovery For Interbase – это программное обеспечение для восстановления базы данных. Оно использует мощный алгоритм восстановления, делающий процесс быстрее. Ключевая особенность Recovery for Interbase заключается в восстановлении всего содержимого базы данных, например, таблиц, полей и индексов. Чтобы начать восстановление, пользователю просто нужно нажать кнопку «Восстановить» в верхней части интерфейса.
Преимущество Recovery for Interbase заключается также и в том, что он способен сохранять все восстановленные данные в файл SQL. Эти элементы могут быть добавлены в базовые данные с помощью простого просмотра файлов или перетаскивания мышью. Программа может восстанавливать файлы из Interbase и Firebird, Recovery for Interbase поддерживает множество форматов этих типов баз данных, таких как, например, gdb, ib или fdb.
- Софт оснащён интерфейсом, который облегчает все действия.
- ПО является лёгким и не требует много свободного места на жёстком диске.
- В пробной версии восстановление данных недоступно.
Для открытия базы данных в формате gdb необходимо выполнить следующее:
- Add files;
- Откроется проводник, где нужно указать путь к файлу gdb;
- Next;
- Next;
- Start;
- Done;
- Готово! База данных восстановлена.
Описанный софт позволит вам без проблем открыть или восстановить базу данных в формате gdb. К использованию рекомендуется первая программа из списка – IBExpert. Она более простая и с ней справится даже неопытный пользователь. Недостатком Embarcadero InterBase является отсутствие русского языка, а Recovery For Interbase поможет при необходимости восстановить повреждённый файл.
Читайте также: