Основные технические характеристики СУБД
Вид характеристики | Характеристика |
Общие параметры | Операционная среда (типы поддерживаемых ОС и коммуникационных протоколов) Потребность в оперативной памяти Ограничение на максимальный объем БД Ограничение на количество одновременных подключений (пользователей, приложений) |
Ограничения на операции над данными | Максимальный размер колонки (поля) Максимальный размер строки, кбайт Максимальное число полей в таблице Максимальное число индексных полей Максимальное число строк в таблице Максимальное число одновременно открытых таблиц |
Типы данных | Текстовый постоянной длины Текстовый переменной длины Числовой Целочисленный Десятичный с фиксированным числом знаков после запятой Десятичный с плавающей точкой Дата Время Дато-временной (данные о датах и/или времени) Логический Комментарии |
Типы данных | Виртуальный (вычисляемый) Двоичный - хранение графической, аудио-, видео- и другой информации (OLE, BLOB и т. д.) Гиперссылка (hyperlink) - ссылка на файлы или документы, находящиеся вне базы данных на локальном компьютере или в сети |
Возможности средств формулировки и выполнения запросов | Вид языка запросов: SQL, QBE свой собственный Вид интерфейса запросов: командная строка, шаблон (стандартная форма) Прекомпилятор и оптимизатор Сохранение запросов Ограничение на число таблиц и виды связей Максимальное число полей для поиска Сортировка: по одному любому полю, по нескольким полям Наличие вычислений в запросах Групповые операции и операции над множествами |
Работа в многопользовательских средах | Типы блокировок: исключительные, общие Уровни блокировок: блокировка БД, блокировка объектов разработки (текстов программ, отчетов, экранных форм и пр.), блокировка таблицы (файла), блокировка записи, блокировка поля |
Работа в многопользовательских средах | Идентификация станции, установившей блокировку Обновление информации после модификации Контроль за временем и повторные обращения Обработка транзакций |
Инструментальные средства разработки приложений | Генератор интерфейсов пользователя (в т. ч. экранных форм, кнопок, меню, окон и т. д.) Генератор отчетов Генератор приложений Версия времени выполнения (ядра для запуска программ) Генерация независимых ехе-модулей |
Импорт и экспорт | ASCII-файлы DBF-формат WK-формат XLS-формат Другие форматы |
Многие из характеристик систем достаточно очевидны и в комментариях не нуждаются. Заметим, что не для всех видов СУБД имеют место приведенные характеристики.
Оценка производительности.Анализом и испытанием СУБД занимаются различные организации, в частности лаборатория журнала PC Magazine.
Предлагаемая ею методика анализа производительности СУБД применима для исследования программ класса СУБД, коротко ее рассмотрим.
Тестирование реляционных СУБД проводится с помощью эталонных тестов из набора AS3АР (ANSI SQL Standard Scalable and Portable). В них контролируется широкий спектр часто встречающихся операций с БД и моделируются однопользовательская и многопользовательская среды. Испытываемая БД состоит из четырех таблиц по 100 тысяч записей.
Основные виды применяемых тестов носят названия: «Выборка», «Полное сканирование», «Загрузка и индексация», «Обновление», «Чтение с произвольной выборкой», «Запись с произвольным доступом» и «Генерация отчета», указывающие суть этих тестов. Для проведения тестирования каждой фирмой-поставщиком программного продукта разработаны соответствующие прикладные программы, инициирующие тестовые испытания.
В тесте «Выборка» измеряется, насколько быстро каждый программный продукт может выполнять однотабличный запрос, ответ на который содержит определенную процентную долю строк таблицы. Запросы включают числовые и текстовые данные. Используются индексированные поля, а значения должны попадать в заданный диапазон.
Тест «Полное сканирование» измеряет время, необходимое для поиска значения в неиндексированном поле, которое отсутствует в таблице. Тем самым моделируется самый неблагоприятный случай запроса к БД.
В тесте «Загрузка и индексация» проводится оценивание того, как быстро программы могут импортировать исходную БД и создать определенное число индексов.
Тест «Обновление» предназначен для измерения времени обновления индексов при выполнении операций модификации (Modify), вставки или добавления (Append) и удаления (Delete) 1000 записей.
Тест «Чтение с произвольной выборкой» позволяет определить максимальное число параллельных обращений к данным, которые способен обработать испытываемый пакет. Для получения этой характеристики, на рабочих станциях генерировались запросы со случайными номерами записей одной таблицы, которые должен был выполнять пакет, находящийся на отдельном компьютере. Принимаемые ответы на запросы на рабочих станциях уничтожались.
Тест «Запись с произвольным доступом» похож на предыдущий тест, с той разницей, что каждая из рабочих станций случайно выбирает обновляемую запись, в которой изменяется целочисленное поле.
Тест «Генерация отчета» предполагает задействование одной рабочей станции для подготовки и печати собственно отчета, а восьми других машин -для имитации потока требований к основной станции при групповой работе. Имитация проводится с помощью теста «Чтение с произвольной выборкой».
По параметрам производительности оценивались 10 наиболее высококачественных на тот период времени СУБД: Clarion Database Developer 3.0, DataEase for DOS 4.53, DataFlex 3.05 (DOS), dBase IV 2.0, Microsoft Access 2.0, Microsoft FoxPro 2.6 for DOS (Professional Edition), Microsoft FoxPro 2.6 for Windows (Professional Edition), Paradox for DOS 4.5, Paradox for Windows 4.5 (Professional Edition) и R-.BASE 4.5 Plus. В целом, лидирующее положение заняли обе версии пакета Microsoft FoxPro. Этот продукт, к сожалению, практически не содержит встроенных средств контроля целостности БД.
Отдавать предпочтение следует продуктам с развитыми средствами контроля целостности и корректности данных, широкими возможностями пользовательского интерфейса при неплохих характеристиках производительности. К таким изделиям из числа названных относятся Paradox и Access.
Замечание.
Известна также другая группа тестов, разработанных Советом по Производительности Обработки Транзакций (ТРС - Transaction Processing Performance Council). В набор тестов ТРС, который постоянно совершенствуется и дополняется, входят тесты: ТРС Benchmark А (кротко - ТРС-А), ТРС-В, ТРС-С, TPC-D и ТРС-Е. Эти тесты созданы для определения производительности и соотношения цена/производительность аппаратно-программных систем на задачах оперативной обработки транзакций (OLTP - On-Line Transaction Processing).
Остановимся на трех наиболее отработанных и распространенных тестах: ТРС-А, ТРС-В и ТРС-С.
Тест ТРС-А предполагает тестирование с помощью приложения всех программно-аппаратных компонентов системы, включая пользовательские терминалы и сеть передачи данных. В процессе тестирования моделируется сеть банковских служащих, принимающих депозиты и осуществляющих выдачу вкладов.
Оцениваемое соотношение цена/производительность вычисляется как частное от деления стоимости системы на максимальное количество зафиксированных транзакций в секунду. В общую стоимость системы включается стоимость аппаратуры, программного обеспечения, а также стоимость обслуживания аппаратной части в течение пяти лет.
Назначение теста ТРС-В состоит в определении совместной производительности СУБД и аппаратной платформы, состоящей из вычислительной системы и дисковой памяти, с помощью того же приложения, что и в тесте ТРС-А. По сравнению с предыдущим вариантом, из схемы тестирования исключены этапы считывания и вывода информации на терминал, В результате тестирования получают данные о производительности (количество зафиксированных транзакций в секунду), а также соотношении цена/производительность, вычисляемом аналогично тесту ТРС-А.
В тесте ТРС- С проводится многостороннее исследование систем в более сложных условиях оперативной обработки информации. На вход системы подается смесь транзакций, осуществляющих чтение и интенсивное обновление БД. Здесь используются многочисленные таблицы разных размеров, структуры связей с другими таблицами. Поступать транзакции могут одновременно разных типов (короткие и длинные, в зависимости от трудоемкости обработки), а выполняться - в оперативном и в отложенном режиме. Тестирование производится на примере моделирования деятельности типичного склада.
Выбор СУБД представляет собой сложную многопараметрическую задачу и является одним из важных этапов при разработке приложений БД. Программный продукт должен удовлетворять как текущим, так и будущим потребностям пользователя, при этом следует учитывать финансовые затраты на приобретение необходимого оборудования, самой системы, разработку программного обеспечения на ее основе, а также обучение персонала. Необходимо убедиться, что новая СУБД способна принести предприятию реальные выгоды.
Перечень требований к СУБД, используемых при создании той или иной АИС, может изменяться в зависимости от поставленных целей. Известны следующие группы критериев:
- моделирование данных;
- особенности архитектуры и функциональные возможности;
- контроль работы системы;
- особенности разработки приложений;
- производительность;
- надежность;
- требования к рабочей среде;
- смешанные критерии.
Моделирование данных. Существует множество моделей данных, поэтому вопрос о применении той или иной модели должен решаться на начальном этапе проектирования АИС. К наиболее распространенным среди используемых моделей данных относятся иерархическая, сетевая, реляционная, объектно-реляционная и объектно-ориентированная.
Триггеры и хранимые процедуры. Триггер — программа базы данных, вызываемая всякий раз при вставке, изменении или удалении строки таблицы. Триггеры обеспечивают проверку любых изменений на корректность, прежде чем эти изменения будут приняты. Хранимая процедура — программа, которая хранится на сервере и может вызываться клиентом. Поскольку хранимые процедуры выполняются непосредственно на сервере БД, обеспечивается более высокое быстродействие, нежели при выполнении тех же операций средствами клиента БД. В различных программных продуктах для реализации триггеров и хранимых процедур используются различные инструменты.
Средства поиска. Ряд современных систем имеет встроенные дополнительные средства контекстного поиска.
Предусмотренные типы данных. Здесь необходимо учесть два фактически независимых критерия: какие типы данных заложены в систему — базовые или основные, и возможны ли расширения типов. В то время как отклонения базовых наборов типов данных у современных систем от некоего стандартного, обычно, невелики, механизмы расширения типов данных в системах того или иного производителя существенно различаются.
Реализация языка запросов. Все современные системы совместимы со стандартным языком доступа к данным SQL-92, однако реализуют различные расширения данного стандарта.
Особенности архитектуры и функциональные возможностиперечислены ниже. Мобильность — независимость системы от среды, в которой она работает. Средой в данном случае является как аппаратура, так и программное обеспечение (операционная система).
Масштабируемость. При выборе СУБД необходимо учитывать, сможет ли данная система обеспечивать развитие АИС, которое может проявляться в увеличении числа пользователей, объема хранимых данных и объема обрабатываемой информации.
Распределенность. Основной причиной применения АИС на основе БД является стремление создать единое информационное пространство организации. Самый простой и надежный подход — централизация хранения и обработки данных на одном сервере. К сожалению, это не всегда возможно и приходится применять распределенные БД. Различные системы имеют разные возможности управления распределенными БД.
Сетевые возможности. Многие системы позволяют использовать широкий диапазон сетевых протоколов и служб для работы и администрирования.
Контроль работы системыподразумевает наличие нижеперечисленных видов контроля.
Контроль использования памяти компьютера. В системе предусматривается возможность управления как оперативной памятью, так и дисковым пространством. В последнем случае к вышесказанному относятся, например, функции сжатия БД или удаления избыточных файлов.
Автонастройка. Многие современные системы предусматривают самоконфигурирование, которое, как правило, опирается на результаты работы сервисов самодиагностики производительности. При этом выявляются слабые места конфигурации системы, и она автоматически настраивается на максимальную производительность.
Особенности разработки приложений.Ряд производителей СУБД выпускает также средства разработки приложений, которые, как правило, позволяют наилучшим образом реализовать все возможности сервера. Поэтому при анализе СУБД следует обратить внимание на особенности средств разработки приложений.
Средства проектирования. Некоторые системы имеют средства автоматического проектирования как БД, так и прикладных программ. Средства проектирования различных производителей могут существенно различаться.
Многоязыковая поддержка. Поддержка большого количества национальных языков расширяет область применения системы и приложений, построенных на ее основе.
Возможности разработки Web-приложений. При разработке различных приложений зачастую возникает необходимость использовать возможности среды Internet. Средства разработки некоторых производителей имеют большой набор инструментов для построения приложений под Web.
Поддерживаемые языки программирования. Широкий спектр используемых языков программирования может повысить доступность системы для разработчиков, а также существенно повлиять на быстродействие и функциональность создаваемых приложений.
Производительность.Для тестирования производительности применяются различные средства и существует множество тестовых рейтингов.
Рейтинг ТРС (Transactions per Cent) является одним из самых популярных и объективных. Фактически ТРС-анализ производительности систем рассматривает композицию СУБД и аппаратуры, на которой эта СУБД работает. Показатель ТРС — это отношение количества запросов, обрабатываемых за некий промежуток времени, к стоимости всей системы.
Возможности параллельной архитектуры. Для обеспечения параллельной обработки данных существуют как минимум два подхода: распараллеливание обработки последовательности запросов на несколько процессоров; использование нескольких компьютеров-клиентов, работающих с одной БД, которые объединяют в так называемый параллельный сервер.
Возможности оптимизирования запросов. При использовании непроцедурных языков запросов их выполнение бывает неоптимальным. Поэтому необходимо произвести процесс оптимизации, т. е. выбрать такой способ выполнения, когда по начальному представлению запроса путем его синтаксических и семантических преобразований вырабатывается процедурный план выполнения запроса, наиболее оптимальный при существующих в БД управляющих структурах.
Надежность. Понятие надежности системы трактуется неоднозначно — это и сохранность информации при любом сбое, и безотказность работы системы в любых условиях, и обеспечение защиты данных от несанкционированного доступа. Рассмотрим некоторые из них.
Восстановление после сбоев. При возникновении программных или аппаратных сбоев целостность, да и работоспособность всей системы могут быть нарушены. От того, насколько эффективен механизм восстановления, зависит жизнеспособность системы.
Резервное копирование. В результате аппаратного сбоя зачастую частично повреждается или выводится из строя носитель информации и тогда восстановление данных невозможно. В этом случае и в ситуациях, когда происходит логический сбой системы (например, при ошибочном удалении таблиц), спасает резервное копирование. Существует множество механизмов резервирования данных (хранение одной или более копий всей БД, хранение копии ее части, копирование логической структуры и т. д.). Зачастую в систему закладывается возможность использования нескольких таких механизмов.
Откат изменений. При выполнении транзакции применяется простое правило — либо транзакция выполняется полностью, либо не выполняется вообще. Это означает, что в случае сбоев все результаты недоведенных до конца транзакций должны быть аннулированы. Механизм отката может иметь различное быстродействие и эффективность.
Многоуровневая система защиты. АИС организации почти всегда содержит секретную информацию, поэтому для предотвращения несанкционированного доступа используется служба идентификации пользователей. Уровень защиты может быть различным. Кроме непосредственной идентификации пользователей, при входе в систему предусматривается также механизм шифрования данных при передаче по линиям связи.
Требования к рабочей среде. Вкачестве требований рассматривают:
• поддерживаемые аппаратные платформы;
• минимальные требования к оборудованию;
• максимальный размер адресуемой памяти. Поскольку почти все современные системы используют свою файловую систему, немаловажным фактором является то, какой максимальный объем физической памяти они могут использовать.
Смешанные критерии.При анализе данной* группы очевидна принадлежность существующих критериев к различным предметным областям, в связи с чем они и называются смешанными.
Качество и полнота документации. Не все системы и не всегда имеют полную и подробную документацию.
Локализованность — возможность использования национальных языков; не во всех системах она реализована полностью.
Модель формирования стоимости. Как правило, производители СУБД используют определенные модели формирования стоимости. Так, стоимость одного и того же продукта может существенно изменяться в зависимости от того, сколько пользователей будут с ним работать.
Стабильность производителя. Обычно имеют в виду многолетнее (стабильное) присутствие производителя на рыке.
Распространенность СУБД. Согласно существующей практике решение об использовании той или иной СУБД принимает один человек — обычно, руководитель предприятия, а он зачастую опирается отнюдь не на технические критерии. Здесь свою роль могут сыграть такие незначительные факторы, как рекламная раскрутка компании-производителя СУБД, использование конкретных систем на других предприятиях, стоимость. При этом последний фактор может трактоваться и в зависимости от финансового состояния, и в зависимости от политики предприятия. С одной стороны, используется принцип: «Чем дороже, тем лучше», с другой — возможность бесплатной эксплуатации продукта («взлома» лицензионной защиты).
Классификация СУБД. В общем случае под СУБД можно понимать любой программный продукт, поддерживающий процессы создания, ведения и использования БД. К СУБД относятся следующие основные виды программ:
• полнофункциональные СУБД;
• серверы БД;
• клиенты БД;
средства разработки программ работы с БД.
Полнофункциональные СУБД (ПФСУБД) представляют собой традиционные СУБД, которые сначала появились для больших машин, затем для мини-машин и для ПЭВМ. Из числа всех СУБД современные ПФСУБД являются наиболее многочисленными и мощными по своим возможностям. К ПФСУБД относятся, например, такие пакеты, как Clarion Database Developer, DataEase, DataFlex, dBase IV, Microsoft Access, Microsoft FoxPro и Paradox R.BASE.
Обычно ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Для создания запросов и отчетов не обязательно программирование, а удобно пользоваться языком QBE. Многие ПФСУБД включают средства программирования для профессиональных разработчиков.
Некоторые системы имеют в качестве вспомогательных и дополнительные средства проектирования схем БД или CASE-подсистемы. Для обеспечения доступа к другим БД или к данным SQL-серверов полнофункциональные СУБД имеют факультативные модули.
Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Эта группа БД в настоящее время менее многочисленна, но их количество постепенно растет. Серверы БД реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обычно с помощью операторов SQL.
Примерами серверов БД являются следующие программы: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (Gupta), Intelligent Database (Ingress).
В роли клиентских программ для серверов БД в общем случае могут использоваться различные программы: ПФСУБД, электронные таблицы, текстовые процессоры, программы электронной почты и т. д. При этом элементы пары «клиент — сервер» могут принадлежать одному или разным производителям программного обеспечения.
В случае, когда клиентская и серверная части выполнены одной фирмой, естественно ожидать, что распределение функций между ними выполнено рационально. В остальных случаях обычно преследуется цель обеспечения доступа к данным «любой ценой». Примером такого соединения является случай, когда одна из полнофункциональных СУБД играет роль сервера, а вторая СУБД (другого производителя) — роль клиента. Так, для сервера БД SQL Server (Microsoft) в роли клиентских (фронтальных) программ могут выступать многие СУБД, такие как dBASE IV, Blyth Software, Paradox, DataBase, Focus, 1-2-3, MDBS III, Revelation и другие.
Средства разработки программ работы с БДмогут использоваться для создания разновидностей следующих программ:
• клиентских программ;
• серверов БД и их отдельных компонентов;
• пользовательских приложений.
Программы первого и второго вида довольно малочисленны, так как предназначены, главным образом, для системных программистов. Пакетов третьего вида гораздо больше, но меньше, чем полнофункциональных СУБД.
К средствам разработки пользовательских приложений относятся системы программирования, например Clipper, разнообразные библиотеки программ для различных языков программирования, а также пакеты автоматизации разработок (в том числе систем типа клиент-сервер). В числе наиболее распространенных можно назвать следующие инструментальные системы: Delphi и Power Builder (Borland), Visual Basic (Microsoft), SILVERRUN (Computer Advisers Inc.), S-Designor (SDP и Powersoft) и ERwin (LogicWorks).
Кроме перечисленных средств, для управления данными и организации обслуживания БД используются различные дополнительные средства, к примеру мониторы транзакций.
По характеру использования СУБД делят на персональные и многопользовательские.
Персональные СУБД обычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Персональные СУБД или разработанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др.
Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД относятся, например, СУБД Oracle и Informix.
По используемой модели данных СУБД (как и БД), разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и другие типы. Некоторые СУБД могут одновременно поддерживать несколько моделей данных.
С точки зрения пользователя, СУБД реализует функции хранения, изменения (пополнения, редактирования и удаления) и обработки информации, а также разработки и получения различных выходных документов.
Для работы с хранящейся в базе данных информацией СУБД предоставляет программам и пользователям следующие два типа языков:
- язык описания данных — высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных;
- язык манипулирования данными — совокупность конструкций, обеспечивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.
Названные языки в различных СУБД могут иметь отличия. Наибольшее распространение получили два стандартизованных языка: QBE (Query By Example) — язык запросов по образцу и SQL (Structured Query Language) — структурированный язык запросов. QBE в основном обладает свойствами языка манипулирования данными, SQL сочетает в себе свойства языков обоих типов — описания и манипулирования данными.
Дата добавления: 2020-11-18; просмотров: 824;