Основной текст доклада
Введение
Системы управления базами данных (СУБД) являются неотъемлемой частью современного мира, обеспечивая хранение, организацию и доступ к огромным объёмам информации. В этом введении мы рассмотрим основные понятия, архитектуру и функциональность СУБД, а также обсудим их важность в различных областях применения. От небольших веб-приложений до глобальных корпоративных систем – СУБД обеспечивают целостность данных, эффективность поиска и одновременный доступ множества пользователей. Далее мы углубимся в детали, рассматривая различные типы СУБД, их преимущества и недостатки, а также современные тенденции в развитии этой важной области информационных технологий.
Классификация СУБД
По степени универсальности различают два класса СУБД:
системы общего назначения;
специализированные системы.
СУБД общего назначения ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе, и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных. Использование СУБД общего назначения в качестве инструментального средства для создания автоматизированных информационных систем, основанных на технологии баз данных, позволяет существенно сокращать сроки разработки, экономить трудовые ресурсы. Этим СУБД присущи развитые функциональные возможности и даже определенная функциональная избыточность.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
СУБД общего назначения — это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией базы данных информационной системы.
Рынок программного обеспечения ПК располагает большим числом разнообразных по своим функциональным возможностям коммерческих систем управления базами данных общего назначения, а также средствами их окружения практически для всех массовых моделей машин и для различных операционных систем.
Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде Windows, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности.
Рассмотрим основные характеристики некоторых СУБД - лидеров на рынке программ, предназначенных как для разработчиков информационных систем, так и для конечных пользователей.
По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Этот способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом. Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
• файл-сервер;
• клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут создавать на рабочих станциях локальные БД, которые используются ими монопольно.
Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL.
Системы управления базами данных разделяются на серверные и клиентские.
Примеры серверных СУБД: Cache, DB2, Firebird. Informix, Ingres, InterBase, MSDE, MS SQL Server, MySQ. mSQL, Oracle, Pervasive SQL, PostgreSQL. Sybase ASE, Sybase ASA, Sybase IQ, Teradata, ЛИНТЕР, Mnesia, p.
ПримерыклиентскихСУБД: Dataplex, dBase, MS Access, Paradox, OpenOffice.org Base, Sav Zigzag.
Корпоративные СУБД
Функционирование практически любого современного предприятия немыслимо без манипуляции данными, связанными с его производственной деятельностью. Нередко эффективность его деятельности и конкурентоспособность на рынке товаров или услуг непосредственно связаны с тем, актуальны ли эти данные и доступны ли они обращающимся к ним пользователям (причем нередко не только пользователям локальной сети, но и посетителям корпоративного Web-сервера и сотрудникам, обращающимся к ним с помощью мобильных устройств). С этой целью применяются различные архитектуры физического хранения данных, такие как Storage Area Network (SAN) или Network Attached Storage (NAS), а также системы управления базами данных, предназначенные для логической организации данных и осуществления доступа к ним.
Корпоративные данные большинства компаний сейчас хранятся в реляционных СУБД.
В простейшем случае корпоративная информационная система, использующая СУБД, состоит из двух основных компонентов: сервера баз данных, управляющего данными и выполняющего поступающие от клиентских приложений запросы, и самих клиентских приложений, обеспечивающих интерфейс пользователя и посылающих запросы к серверу. Именно сервер баз данных может манипулировать файлами, в которых хранятся данные, выполнять пользовательские запросы, поддерживать ссылочную целостность данных, обеспечивать доступ к ним, осуществлять резервное копирование данных и протоколировать операции, связанные с их изменением.
К современным реляционным СУБД предъявляются следующие требования:
масштабируемость, то есть способность одновременно обслуживать большее количество пользовательских запросов с той же скоростью при пропорциональном этому количеству увеличении объема предоставляемых ресурсов (процессоров, оперативной памяти и т. д.);
доступность, то есть постоянная возможность получения ответа на запрос;
надежность, то есть минимальная вероятность сбоев, а также наличие средств восстановления данных после сбоев, резервирования и дублирования;
управляемость, то есть простота администрирования и конфигурирования, а нередко и наличие средств автоматического конфигурирования (обычно набор средств администрирования включает средства создания баз данных и их объектов, инструменты репликации данных между различными серверами, утилиты управления пользователями и группами, средства мониторинга событий, средства просмотра планов выполнения запросов, утилиты миграции из других СУБД);
• наличие средств защиты данных от потери и несанкционированного доступа;
• поддержка стандартных механизмов доступа к данным (ODBC, JDBC, OLE DB, ADO).
Как правило, отсутствие какого-либо из этих признаков приводит к тому, что даже у неплохой по другим потребительским свойствам СУБД область применения оказывается весьма ограниченной.
Так, СУБД с плохой масштабируемостью, успешно применявшаяся при небольшом обрабатываемом объеме данных, оказывается непригодной при его росте, и нередко ее приходится заменять на другую; при этом неизбежны определенные затраты на переписывание серверного кода. Лишние затраты на администрирование обычно тоже никому не нужны. Плохие масштабируемость и доступность влекут за собой дополнительные затраты рабочего времени сотрудников, простои, а также потерю компанией клиентов, отчаявшихся дождаться нужных данных на корпоративном сайте и вынужденных обратиться на сайт конкурента.
Именно поэтому лидеры рынка корпоративных СУБД стремятся к производству продуктов, удовлетворяющих всем вышеуказанным требованиям. Кроме того, как правило, подобные продукты существуют для нескольких платформ, а нередко и в разных редакциях, предназначенных для решения разнообразных задач или обслуживания различного количества данных и пользователей. Из последних тенденций развития корпоративных СУБД следует отметить поддержку XML и Web-сервисов XML.
Существует два типа реляционных баз данных:
оперативные, или OLTP (OLTP - On-Line Transaction Processing), базыданных. Обычно в эти базы данных осуществляется интенсивный ввод данных, а вот число адресованных к ним запросов невелико;
хранилища данных, применяемые, как правило, в аналитических приложениях и системах поддержки принятия решений. К ним обычно адресуется большое число запросов, но ввод данных в них не столь интенсивен.
Отметим, что многие современные СУБД с успехом поддерживают создание баз данных обоих типов - все определяется тем, как будет спроектирована структура данных. Однако нередко для создания хранилищ данных применяются специальные СУБД, способ хранения данных в которых особым образом оптимизирован для ускорения выполнения запросов. И, как правило, создание OLAP-хранилищ, основанных на не реляционных многомерных базах данных, требует наличия отдельных серверных продуктов.
В заключение отметим, что существующие на сегодняшний день возможности СУБД ведущих производителей отражают современные тенденции развития информационных систем, такие как использование многопроцессорных систем и распределенной обработки данных, создание распределенных систем, применение средств быстрой разработки приложений, создание систем поддержки принятия решений с использованием аналитической обработки данных, а также все возрастающие требования к надежности и отказоустойчивости.