ИнфоАптека ®

Автоматизация аптек и аптечных сетей

Инструменты пользователя

Инструменты сайта


администрирование:курсы_администрирования:первое_занятие

Первое занятие

Общие сведения о СУБД FireBird

Краткая история происхождения

FireBird основан на исходном коде InterBase 6.0 который был выпущен как Open Source1) компанией Borland в августе 2000 года. История Interbase начинается в 1984 году, таким образом, продукт является наследником почти 30‑летнего опыта работы с реляционными базами данных.

Поддерживаемые платформы

Серверная часть ПО ИнфоАптека поддерживает только 32-разрядную версию Firebird для Windows. Исторически сложилось так, что библиотека IAUdf.dll писалась только для этой платформы и на сегодняшний момент не переписывалась для других платформ. Клиентская часть может работать и на Linux, опять же через Wine.

База данных

Большинство серверов с ПО ИнфоАптека работают с файловой системой NTFS, которая позволяет работать с файлами до 16 Тб (FAT32 до 4 Гб.), поэтому нет необходимости в использовании многотомной базы данных. В ПО ИнфоАптека используется база данных состоящая из одного файла. В одном файле помимо таблиц с данными пользователей содержатся исполняемые процедуры, индексы, метаданные. FireBird прекрасно справляется с большими базами данных, теоретически до 64 Tб. Поэтому нет необходимости в периодическом архивировании части базы данных. Пользователю доступны данные за любой период.

Первоначальный размер базы данных составляет всего 11 Мб. Здесь нужно вписать, какой будет размер базы при первой загрузке справочников? Прирост размеров базы данных в основном зависит от документов содержащихся в ней. Например, база с 30 млн. документов содержащих 80 млн. позиций (в среднем 2,6 позиций на документ) составляет 27,5 Гб. Это значит, что прирост в 1Гб обеспечивают 1,5 млн. документов.

Теневая база данных

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

Активная теневая копия всегда отображает текущее состояние базы данных. При этом, хотя теневое копирование является очевидным преимуществом в качестве препятствия против аппаратных сбоев, оно не является системой онлайн репликации.

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

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

При этом теневое копирование не является защитой от разрушения данных. Данные, записанные в теневую копию, являются точной копией того, что записывается в базу данных со всеми изъянами и недостатками. Если пользователь ошибается, появляется ошибка диска или ошибки программного обеспечения приводят к разрушению данных, то те же самые неверные данные будут помещаться в теневую копию.

Теневое копирование является методом восстановления «все или ничего». Оно не обеспечивает восстановления отдельных фрагментов или возврата к конкретной временной точке. Оно может существовать только в той же файловой системе, что и сервер; теневая копия должна находиться на фиксированных дисках, расположенных на сервере. Она не может записываться на совместно используемые, не относящиеся к локальной файловой системе или удаленные устройства.

:!: Теневое копирование не является заменой резервного копирования. Не успокаивайте себя верой в то, что теневое копирование является способом замены регулярного резервного копирования и периодического восстановления базы данных.

:!: «Смерть» диска или ненадежный модуль памяти способны принести огромный вред до того, как они полностью разрушат вашу базу данных. Каждый ошибочный фрагмент будет точно записан в теневую копию.

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

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

Резервное копирование

Резервное копирование и восстановление БД (базы данных) из резервной копии являются абсолютно необходимыми процессами для нормальной работы ПО ИнфоАптека.

На выходе процесса резервного копирования БД получается файл специального формата, который не является БД, но который можно развернуть в новую БД. Обычно он много легче, чем исходный файл БД за счет отсутствия тел индексов, не использования резервирования пространства на страницах данных, отсутствия «мусорных» записей и прочих факторов, играющих на уплотнение.

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

Структура организации аптечных сетей (технология работы)

  • Варианты работы в одном/нескольких юр.лицах
  • Организация ведения справочников
  • Организация ведения документооборота/поставки товара (централизованная, децентрализованная)
  • Организация ведения заказа товара
1)
Открытое программное обеспечение
администрирование/курсы_администрирования/первое_занятие.txt · Последние изменения: 2016/10/30 19:00 (внешнее изменение)