Информация в современном мире превратилась в один из наиболее важных ресурсов, а информационные системы стали необходимым инструментом практически во всех сферах деятельности.
Традиционные информационные системы могут создаваться и использоваться без применения технических средств и, тем более, автоматизированных систем, комплексов и устройств (например, рукописные или печатные на пишущей машинке табличные данные самого различного назначения). Однако подобные технологии в современном обществе применяются крайне редко.
Основой или разновидностью информационной системы (информационной базы) обычно является база данных. Информационная база состоит из: коллекции записей собственно данных и описания этих данных – метаданных. Записи в базе данных располагаются в порядке ввода.
Информационная база, записанная на машинные (электронные) носители информации и используемая для решения задач на ЭВМ, называется базой данных. Таким образом, основу информационных систем составляют базы данных (БД). Все свойства БД переносятся на информационные системы.
База данных – это именованная совокупность массива данных и документов, обеспечивающих эффективность хранения и поиска информации.
База данных – это и электронное хранилище информации, доступ к которому осуществляется с помощью одного или нескольких компьютеров.
База данных (БД) представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.
Объект – это совокупность свойств элемента, которые могут быть исследованы и описаны; это также элемент информационной системы, данные о котором сохраняются.
При этом под термином "Атрибут" понимается информационное отображение свойств объекта.
Основное назначение БД заключается в том, чтобы одну и ту же совокупность данных можно было бы использовать для максимального числа приложений. Упрощенно можно сказать, что база данных представляет собой совокупность размещаемых в таблицах однородных данных.
Обеспечение информационных систем подразделяется на: информационное, техническое, математическое и программное, методическое, лингвистическое, правовое и организационное.
Концепция баз данных (БД) сформировалась к 1960-м годам в процессе автоматизированной обработки информации. БД можно рассматривать как информационную модель объекта.
Один и тот же объект может иметь множество моделей, а разные объекты могут описываться одной моделью.
Основное назначение БД заключается в том, чтобы одну и ту же совокупность данных можно было бы использовать для максимального числа приложений.
Любая база данных должна обладать способностью к расширению и возможностью обеспечения изменяющихся требований к данным. При этом изменения некоторых параметров проектирования (размер БД, физическое размещение индексов, правила включения, удаления и изменения сегментов и др.) не должны приводить к изменению прикладных программ и реорганизации баз данных. Функционирование такой системной среды осуществляется системой управления базами данных, предназначенной для поиска, обновления, реорганизации, загрузки, сортировки данных и т.п. Любая база данных должна обладать способностью к расширению и возможностью обеспечения изменяющихся требований к данным. При этом изменения некоторых параметров проектирования (размер БД, физическое размещение индексов, правила включения, удаления и изменения сегментов и др.) не должны приводить к изменению прикладных программ и реорганизации баз данных. Функционирование такой системной среды осуществляется системой управления базами данных, предназначенной для поиска, обновления, реорганизации, загрузки, сортировки данных и т.п.
СУБД предназначены для поиска, загрузки, обновления, сортировки и реорганизации данных в БД.
Логическая и тематическая совокупность баз данных образует банк данных.
Банк данных (БнД) – это система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.
БнД является современной формой организации хранения и доступа к информации. Ядром БнД является база данных.
Базами и банками данных необходимо управлять.
Система управления базами данных (СУБД) - это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Это также программные средства для создания, наполнения, обновления и удаления баз данных.
Это и комплекс программных средств, предназначенных для создания структуры новой базы, наполнения её содержанием, редактирования содержимого и визуализации информации.
Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройства вывода или передача по каналам связи.
СУБД предназначены для поиска, загрузки, обновления, сортировки и реорганизации данных в БД. Они работают под управлением операционных систем и управляют информационными процессами в БД.
СУБД – это программа, обеспечивающая обработку и выдачу необходимой информации для различных категорий пользователей или задач управления. Она представляет собой совокупность языковых и программных средств, обеспечивающих формирование и ведение электронных массивов данных.
Одними из первых СУБД являются следующие системы: IMS (IBM, 1968 г.), IDMS (Cullinet, 1971 г.), ADABAS (Software AG, 1969 г.) и ИНЭС (ВНИИСИ АН СССР, 1976 г.). Количество современных систем управления базами измеряются тысячами.
Гетерогенность системы означает, что СУБД должна работать с данными, которые хранятся в различных системах с различной производительностью.
Журнализация
Одним из основных требований к СУБД является надёжность хранения данных во внешней памяти. Это означает, что СУБД должна суметь восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: "мягкие сбои" - внезапная остановка работы компьютера (например, аварийное выключение питания), и "жесткие сбои", характеризуемые потерей информации на носителях внешней памяти.
Примеры программных сбоев: аварийное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя), аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной. Первую ситуацию можно рассматривать как особый вид мягкого аппаратного сбоя; при возникновении последней требуется ликвидировать последствия только одной транзакции.
В любом случае для восстановления БД нужно иметь дополнительную информацию. Поддержание надёжности хранения данных в БД требует избыточности хранения данных. При этом особо надёжно должна храниться данные, используемые для восстановления. Распространённым методом поддержания такой избыточной информации является ведение журнала изменений БД.
Журнал – это поддерживаемая с особой тщательностью часть БД, недоступная пользователям СУБД. В неё поступают записи обо всех изменениях основной части БД. Иногда поддерживают две копии журнала, размещая их на разных физических дисках.
В разных СУБД изменения БД журнализуются на разных уровнях: иногда запись в журнале соответствует логической операции изменения БД (например, операции удаления строки из таблицы реляционной БД), иногда – минимальной внутренней операции модификации страницы внешней памяти. В некоторых системах одновременно используются оба подхода.
Во всех случаях придерживаются стратегии «упреждающей» записи в журнал. Это означает, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадёт во внешнюю память основной части БД. Если в СУБД корректно соблюдается протокол WAL (Write Ahead Log), то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.
Самая простая ситуация восстановления – это индивидуальный откат транзакции. Для этого не требуется общесистемный журнал изменений БД. Достаточно для каждой транзакции поддерживать локальный журнал операций модификации БД, выполненных в этой транзакции, и производить откат транзакции путём выполнения обратных операций, следуя от конца локального журнала. В некоторых СУБД так и делают, но в большинстве систем локальные журналы не поддерживают, а индивидуальный откат транзакции выполняют по общесистемному журналу, для чего все записи от одной транзакции связывают обратным списком (от конца к началу).
Целью процесса восстановления после мягкого сбоя является состояние внешней памяти основной части БД, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Для этого сначала производят откат незавершенных транзакций (undo), а потом повторно воспроизводят (redo) те операции завершенных транзакций, результаты которых не отображены во внешней памяти. Этот процесс содержит много тонкостей, связанных с общей организацией управления буферами и журналом.
Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД.
Архивная копия – это полная копия БД к моменту начала заполнения журнала.
Для нормального восстановления БД после жесткого сбоя необходимо, чтобы журнал не пропал. К сохранности журнала во внешней памяти в СУБД предъявляются особо повышенные требования. Тогда восстановление БД состоит в том, что, исходя из архивной копии, по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя. В принципе, можно даже воспроизвести работу незавершенных транзакций и продолжить их работу после завершения восстановления.