Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен.docx
Скачиваний:
9
Добавлен:
18.09.2019
Размер:
440.18 Кб
Скачать

История

Классические подходы к наполнению содержанием понятия "АБД" стали формироваться после издания рабочего отчета группы по базам данных Американского Национального Института Стандартов ANSI/X3/SPARC в 1975 года. В этом отчете была описана трехуровневая архитектура СУБД, в которой выделялся уровень внешних схем данных, уровень концептуальной схемы данных и уровень схемы физического хранения данных. В соответствии с этой архитектурой определялись три роли АБД: администратор концептуальной схемы, администратор внешних схем и администратор хранения данных. Эти роли в случае очень маленькой системы мог играть один человек, в большой системе для выполнения каждой роли могла назначаться группа людей. Каждой роли соответствовал набор функций, а все эти функции вместе составляли функции АБД.

В 1980 - 1981 г. в американской литературе стало принятым включать в функции АБД:

  • организационное и техническое планирование БД,

  • проектирование БД,

  • обеспечение поддержки разработок прикладных программ,

  • управление эксплуатацией БД.

В нашей стране в это же время первое определение АБД в ГОСТ-ах задало слишком узкий состав функций АБД:

  • подготовка вычислительного комплекса к установке СУБД, участие в установке и приемке СУБД и самой БД с комплексом прикладных программ,

  • управление эксплуатацией БД,

  • подготовка словарей и другой НСИ - нормативно-справочной информации - к моменту начала испытания БД.

Предполагалось, что функции АБД будут ориентированы только на эксплуатацию БД, а её разработка будет вестись силами специализированной организации.

К середине 90-х годов сложились еще не завершенные, но уже достаточно устойчивые и полные методологии разработки систем с базами данных. Основная работа по планированию информационных потребностей предприятия, проектированию концептуальной и логической схемы БД, внешних схем, используемых в отдельных процессах обработки информации, ложится теперь на группу проектирования Автоматизированной Системы (АС). Становиться и более определённым объем функций АБД. Это обеспечение надежной и эффективной работы пользователей и программ с БД, поддержка разработчиков в их доступе к БД и средствам разработки.

Основные задачи администратора базы данных

Задачи АБД могут незначительно отличаться в зависимости от вида применяемой СУБД, но в основные задачи входит:

  • Проектирование базы данных.

  • Оптимизация производительности базы данных.

  • Обеспечение и контроль доступа к базе данных.

  • Обеспечение безопасности в базе данных.

  • Резервирование и восстановление базы данных.

  • Обеспечение целостности баз данных.

  • Обеспечение перехода на новую версию СУБД.

Основные типы администраторов бд

Среди АБД нет строгого документального разграничения по типам. Но можно выделить несколько общих видов АБД, в зависимости от возложенных на них обязанностей:

  • Системный администратор.

  • Архитектор БД.

  • Аналитик БД.

  • Разработчик моделей данных.

  • Администратор приложении.

  • Проблемно-ориентированный администратор БД.

  • Аналитик производительности.

  • Администратор хранилища данных.

39Объектно-ориентированные базы данных обычно рекомендованы для тех случаев, когда требуется высокопроизводительная обработка данных, имеющих сложную структуру.

В манифесте ООБД[4] предлагаются обязательные характеристики, которым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой базу данных.

Обязательные характеристики

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

  2. Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.

  3. Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.

  4. Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.)

  5. Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.

  6. Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы.

  7. Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения.

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

Необязательные характеристики:

  • Множественное наследование

  • Проверка типов

  • Распределение

  • Проектные транзакции

Открытые характеристики:

  • Парадигмы программирования (процедурное, декларативное)

  • Система представления

  • Система типов

  • Однородность. Реализация — язык программирования — интерфейс.

40

Появление Всемирной Сети Сетей Internet открыло новую эпоху в истории человечества. Сегодня никто в этом мире не должен чувствовать себя одиноким. Каждый человек соединен со всеми остальными, каждый с каждым и каждый со всеми. Каждый человек имеет доступ (по крайней мере, потенциальный) ко всей открытой информации. Только ленивые (или совсем бедные) люди могут жаловаться на недостаток информации. Большинство людей страдает от ее избытка.

Однако в мире существует масса информационных источников, владельцы которых готовы предоставить их в пользование человечества, но не могут этого сделать по причинам недостатков технологии Internet (а иногда просто потому, что незнакомы с имеющимися технологиями). Прежде всего это относится к научным базам данных.

На сегодняшний день основным способом распространения научных баз данных является их тиражирование на магнитных или оптических (CD-ROM) носителях. Конечно, это вполне разумный подход, но он ограничивает возможности быстрого доступа заинтересованных специалистов к изменениям в информации. (Говоря другими словами, это режим "off-line".)

Имеется множество баз данных, подключенных к Internet в режиме свободного доступа. Конечно, этими базами данных можно пользоваться. Но основная проблема состоит в том, что интерфейсы доступа к разным базам данных абсолютно различаются, так же, как и способы подключения баз данных к Internet. Имеются трудности как у тех, кто хочет пользоваться базами данных, так и у тех, кто хотел бы передать свою информацию в использование в режиме "on-line".

Наиболее популярным средством доступа к информации в Internet сегодня является служба "Всемирной Паутины" (World Wide Web). Как известно, в ее основе лежит идея распределенной гипермедийной информации. Явная навигация в Web позволяет добраться до самых разнообразных информационных серверов, содержащих специально подготовленную информацию (с использованием языка HTML). Конечно, хотелось бы, чтобы путешествуя в WWW, человек имел бы возможность добраться и до баз данных.

Однако общепринятая технология доступа к базам данных через Web отсутствует. Более того, часто кажется, что эта проблема не слишком заботит производителей программного обеспечения СУБД и Internet. Их больше занимает задача распространения в Internet мультимедийной информации (что действительно важно), чем обеспечение через службу Web доступа к обычным базам данных (а иногда и не очень обычным; приведем в качестве примера химические базы данных с графическими изображениями структурных формул).

Так что же мы имеем? Желание потребителей информации получить к ней доступ, стремление поставщиков информации обеспечить ее и отсутствие стимула в Internet для предоставления соответствующих возможностей. Но это не совсем так.

В Web имеется одна возможность, которую, в принципе, можно использовать для доступа к базам данных. Это формы. При навигации по страницам Web можно наткнуться на пометки, при остановке на которых вы получаете не готовую информацию, а некоторую форму, необходимую заполнить. Форма, заполненная в клиентской части системы, поступает на обработку соответствующей программе-переходнику(программному сценарию), связанной с данной форме в серверном узле Web.

С другой стороны, именно формы являются наиболее близким пользователям интерфейсом для непосредственного доступа к базам данных. Если посмотреть на излюбленные виды интерфейсов конечных пользователей баз данных, то можно увидеть, что сегодня 90% таких интерфейсов основывается на использовании форм. Формы разрабатываются на специализированных языках описания форм или с использованием интегрированных языков четвертого поколения. Применяются и средства автоматизированного построения (простых) форм на основе соответствующей схемы базы данных (например, для каждой таблицы реляционной базы данных может быть создана форма, заголовок которой совпадает с заголовком таблицы, а ширина полей определяется типами данных столбцов).

Этот простой подход, который не требует привлечения современных технологий Internet, ориентированных на обеспечение доступа к мультимедийной информации, может оказаться вполне достаточным для решения удобного доступа к традиционным реляционным научным базам данных. Если ограничиться SQL-ориентированнымибазами данных, то вполне можно представить себе несложный инструментальный пакет, который облегчает создание программ-переходников, связанных, с одной стороны, с формами, управляемыми сервером Web, а с другой стороны, обеспечивающих стыковку с СУБД. Возможно, такие средства не удовлетворят потребности бизнеса, но будут явно полезны в мире науки.

41

Появление Всемирной Сети Сетей Internet открыло новую эпоху в истории человечества. Сегодня никто в этом мире не должен чувствовать себя одиноким. Каждый человек соединен со всеми остальными, каждый с каждым и каждый со всеми. Каждый человек имеет доступ (по крайней мере, потенциальный) ко всей открытой информации. Только ленивые (или совсем бедные) люди могут жаловаться на недостаток информации. Большинство людей страдает от ее избытка.

Однако в мире существует масса информационных источников, владельцы которых готовы предоставить их в пользование человечества, но не могут этого сделать по причинам недостатков технологии Internet (а иногда просто потому, что незнакомы с имеющимися технологиями). Прежде всего это относится к научным базам данных.

На сегодняшний день основным способом распространения научных баз данных является их тиражирование на магнитных или оптических (CD-ROM) носителях. Конечно, это вполне разумный подход, но он ограничивает возможности быстрого доступа заинтересованных специалистов к изменениям в информации. (Говоря другими словами, это режим "off-line".)

Имеется множество баз данных, подключенных к Internet в режиме свободного доступа. Конечно, этими базами данных можно пользоваться. Но основная проблема состоит в том, что интерфейсы доступа к разным базам данных абсолютно различаются, так же, как и способы подключения баз данных к Internet. Имеются трудности как у тех, кто хочет пользоваться базами данных, так и у тех, кто хотел бы передать свою информацию в использование в режиме "on-line".

Наиболее популярным средством доступа к информации в Internet сегодня является служба "Всемирной Паутины" (World Wide Web). Как известно, в ее основе лежит идея распределенной гипермедийной информации. Явная навигация в Web позволяет добраться до самых разнообразных информационных серверов, содержащих специально подготовленную информацию (с использованием языка HTML). Конечно, хотелось бы, чтобы путешествуя в WWW, человек имел бы возможность добраться и до баз данных.

Однако общепринятая технология доступа к базам данных через Web отсутствует. Более того, часто кажется, что эта проблема не слишком заботит производителей программного обеспечения СУБД и Internet. Их больше занимает задача распространения в Internet мультимедийной информации (что действительно важно), чем обеспечение через службу Web доступа к обычным базам данных (а иногда и не очень обычным; приведем в качестве примера химические базы данных с графическими изображениями структурных формул).

Так что же мы имеем? Желание потребителей информации получить к ней доступ, стремление поставщиков информации обеспечить ее и отсутствие стимула в Internet для предоставления соответствующих возможностей. Но это не совсем так.

В Web имеется одна возможность, которую, в принципе, можно использовать для доступа к базам данных. Это формы. При навигации по страницам Web можно наткнуться на пометки, при остановке на которых вы получаете не готовую информацию, а некоторую форму, необходимую заполнить. Форма, заполненная в клиентской части системы, поступает на обработку соответствующей программе-переходнику(программному сценарию), связанной с данной форме в серверном узле Web.

С другой стороны, именно формы являются наиболее близким пользователям интерфейсом для непосредственного доступа к базам данных. Если посмотреть на излюбленные виды интерфейсов конечных пользователей баз данных, то можно увидеть, что сегодня 90% таких интерфейсов основывается на использовании форм. Формы разрабатываются на специализированных языках описания форм или с использованием интегрированных языков четвертого поколения. Применяются и средства автоматизированного построения (простых) форм на основе соответствующей схемы базы данных (например, для каждой таблицы реляционной базы данных может быть создана форма, заголовок которой совпадает с заголовком таблицы, а ширина полей определяется типами данных столбцов).

Этот простой подход, который не требует привлечения современных технологий Internet, ориентированных на обеспечение доступа к мультимедийной информации, может оказаться вполне достаточным для решения удобного доступа к традиционным реляционным научным базам данных. Если ограничиться SQL-ориентированнымибазами данных, то вполне можно представить себе несложный инструментальный пакет, который облегчает создание программ-переходников, связанных, с одной стороны, с формами, управляемыми сервером Web, а с другой стороны, обеспечивающих стыковку с СУБД. Возможно, такие средства не удовлетворят потребности бизнеса, но будут явно полезны в мире науки.

42

Современные СУБД обладают массой новых возможностей для работы с данными

В мире современного бизнеса трудно найти область, где бы не применялись компьютеры. Уже невозможно представить себе офис без офисных приложений, торговое предприятие без автоматизированных систем управления продажами и складского учета, крупную корпорацию без ERP-систем. Однако до сих пор главными задачами, которые решаются исключительно с помощью вычислительной техники, остаются накопление, хранение и обработка данных. Для их решения и были изобретены компьютеры как товар массового спроса. Агрегирование данных и их последующее хранение с целью многократной обработки традиционно производятся с помощью специфического приложения – системы управления базами данных (СУБД, английская аббревиатура – DBMS). СУБД в IT-инфраструктуре современной компании выступает в качестве универсального хранилища данных, предоставляя инструментальные средства построения выборок по запросам, написанным на специальном языке (как правило, SQL – Structured Query Language – язык структурированных запросов), которые поступают через стандартный интерфейс от приложений более высокого уровня, например ERP- или бухгалтерских систем. Большинство современных коммерческих СУБД основаны на так называемой реляционной модели данных. Не углубляясь сильно в теорию, можно сказать, что реляционная модель предусматривает представление данных в виде таблиц для действий над записями, в которых имеются специальные операторы, которые и составляют SQL. Реляционные системы являются системами «автоматической навигации», потому что навигация по реляционной базе данных осуществляется автоматически. Очевидно, что SQL находится на более высоком уровне абстракции, нежели универсальные языки программирования, например C, потому что способ выполнения запроса остается на выбор оптимизатора СУБД. В последние годы приобрел широкое распространение термин «постреляционная СУБД», подразумевающий наличие в реляционной СУБД особых средств управления данными, не вписывающихся полностью в реляционную модель, например объектов. Первоначально СУБД позволяли хранить и обрабатывать данные исключительно в алфавитно-цифровой форме, классифицированные по стандартным типам (строки постоянной и переменной длины, целые, числа с фиксированной и плавающей запятой, числа с двойной точностью). Современные СУБД позволяют помещать в базы данных даже бинарные объекты: изображения, видео- и звуковые фрагменты, а также большие фрагменты текстов, по которым может производиться контекстный поиск. Другой необходимый элемент современной СУБД – встроенный язык программирования для автоматизации процедур обслуживания системы и обработки данных внутри самой СУБД ее собственными средствами. Пользовательские приложения взаимодействуют с СУБД в рамках двух- или трехуровневой клиент-серверной архитектуры, поэтому физический сервер, на котором установлена СУБД, принято называть сервером баз данных. Администрирование баз данных представляет собой комбинсостоящий из собственно создания и управления структурами данных и обслуживания инфраструктуры СУБД и серверов баз данных. Современные СУБД приобретаются для использования с дорогими программными продуктами, ориентированными на автоматизацию основных корпоративных бизнес-процессов. Важность таких продуктов (ERP – хороший пример), их критичность для бизнеса обусловливают зависимость компаний от функционирования СУБД, серверов баз данных и качества обслуживания инфраструктуры. Как правило, выбор СУБД зависит не столько от ее функциональных возможностей, сколько от набора приложений, с которыми она будет взаимодействовать, а также от стоимости лицензий на использование системы и наличия подготовленного персонала для администрирования. Таким образом, выбор СУБД – прерогатива скорее разработчика, а не пользователя. Попробуем разобраться, чем производители СУБД пытаются привлечь пользователей, в каких сегментах рынка разворачивается наиболее активная конкурентная борьба между различными СУБД? На какие тенденции развития современных СУБД следует обратить особое внимание? Что важнее – быстродействие, дешевизна (возможно, относительная) эксплуатации или интеграционные возможности? Ведущие поставщики современных СУБД – прежде всего IBM, Oracle и Microsoft, в последнее время прилагали усилия к достижению первенства сразу на следующих основных технологических направлениях: масштабируемость (от баз данных для малого и среднего бизнеса или филиалов крупных компаний до баз данных крупных предприятий), быстродействие – как в обработке транзакций (OLTP), так и в построении сложных аналитических выборок, работа с XML и те или иные кластерные решения. Д ля корпоративных баз данных быстродействие – понятие весьма относительное. Очевидно, что система с низкими скоростными характеристиками вообще не получит никакого распространения, с другой стороны, в методике проведения любого теста можно найти достаточное количество изъянов, которые поставят под сомнение его результаты. В целом скорости работы IBM DB/2, MS SQL и Oracle примерно одинаковы. На общем фоне выделяется лишь Cache, показывающая впечатляющие скоростные результаты (по утверждениям разработчиков, иногда превосходящие конкурентов в 20 раз) из-за новизны подхода и особой идеологии, заложенной в ее архитектуру (двойная лицензия позволяет считать эту СУБД и свободно распространяемой, и коммерческой). Другая важная характеристика СУБД – масштабируемость. Даже если бизнес развивается не очень высокими темпами, само его существование продуцирует некоторые данные, количество которых неизбежно увеличивается с каждым днем. Очевидно, что, чем больше данных, тем сложнее их хранить и обслуживать, тем более серьезные требования предъявляются к масштабируемости СУБД. Компания Oracle поставляет новую версию своей СУБД – Oracle 10g в нескольких вариантах, с разными схемами лицензирования. При этом подчеркивается совместимость между всеми вариантами и легкость перехода от крупному пакету ПО, что обеспечивается за счет общего для всех версий ядра СУБД. Такая политика открывает Oracle путь на рынок решений для мелких и средних предприятий, где раньше прочные позиции были у MS SQL. Мультиплатформенность Oracle и IBM DB/2 также расширяет возможности масштабирования, позволяя менять аппаратную платформу и ОС на более соответствующие растущим потребностям бизнеса без потерь данных, смены прикладного ПО и переподготовки администраторов БД. Важное достижение последних лет – кластерные технологии в приложении к СУБД. Использование кластеров, например по технологии Oracle RAC, существенно повышает надежность системы и делает масштабирование легким, как никогда, и, главное, существенно снижает расходы на развитие инфраструктуры. IBM DB/2 имеет собственную высокопроизводительную кластерную технологию, которая может служить переходным этапом от больших RISC-серверов в качестве сервера БД к мэйнфреймам. В последние два года поддержка XML и Java стали «общим местом» для множества систем. И Oracle, и IBM DB/2, и Microsoft имеют соответствующие компоненты. У Oracle – это XML DB, давно и успешно работающая технология. Oracle и IBM DB/2 поддерживают спецификацию SQLJ. Можно много спорить о достоинствах и недостатках IBM DB/2 и Oracle, инновационности Cache, простоте и дешевизне MySQL. Ясно одно: к настоящему моменту индустрия СУБД добилась колоссального прогресса в технологиях обработки и хранения данных. В телекоммуникационной отрасли, где базы данных обновляются каждую секунду, грандиозные возможности современных СУБД найдут себе достойное применение.

43