Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4975
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

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

243

информация конечных пользователей, разработчиков и администраторов, имеющих опыт работы с продуктом;

информация аналитиков и экспертов.

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

Процедуру выбора СУБД удобно проводить в три этапа. Сначала на качественном уровне оценить предлагаемые программные продукты на предмет пригодности, сузив область выбора. Затем оценить технические характеристики отобранных систем более детально. И наконец, оценить производительность оставшихся продуктов для принятия окончательного решения.

К числу основных показателей пригодности программных продуктов можно отнести следующие:

1.Вид программного продукта.

2.Категории пользователей.

3.Удобство и простота использования.

4.Модель представления данных.

5.Качество средств разработки.

6.Качество средств защиты и контроля корректности базы данных.

7.Качество коммуникационных средств.

8.Фирма-разработчик.

9.Стоимость.

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

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

Показатели пригодности. Виды СУБД и их классификация приведены в подразделе 1.3, рассмотрим остальные показатели пригодности СУБД.

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

• профессиональных программистов - разработчиков СУБД, серверов БД и других программ; >

244

Часть 2. Проектирование и использование БД

администраторов БД;

квалифицированных пользователей, разрабатывающих приложения;

конечных (неквалифицированных) пользователей;

различных комбинаций перечисленных категорий.

При выборе программных продуктов следует отдавать предпочтение программам более широкого назначения. Не случайно многие популярные полнофункциональные СУБД имеют средства как для пользователей и администраторов, так и для разработчиков. Так, СУБД Microsoft Access позволяет для программирования приложений использовать Visual Basic для приложений.

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

понятные процедуры установки программных продуктов (особенно сетевые установки с множеством рабочих мест);

удобный и унифицированный интерфейс конечного пользователя;

простота выполнения обычных операций: создания БД, навигации, модификации данных, подготовки и выполнения запросов и отчетов и ряда других;

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

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

Качество средств разработки. При оценке качества средств разработки учитывается следующее: возможности создания пользовательских интерфейсов; мощность языка создания программ (автоматическая генерация кода, отладка, обеспечение целостности данных на уровне процессора БД, а не с помощью команд языка); автоматизация разработки различных объектов: экранных форм, отчетов, запросов. Предпочтение отдается системам, имеющим полнофункциональные генераторы (Мастера, Построители и т. и.) и обеспечивающим удобство работы пользователя.

Качество средств защиты и контроля корректности базы данных.

Актуальное требование защиты информации в современных информационных системах требует принятия адекватных мер в СУБД. Доступ к функциям защиты должен предусматриваться на уровне средств разработки программ

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

245

и на уровне пользователя (обычного пользователя, администратора

БД)

(см. подраздел 8.2).

 

К важнейшим функциям контроля корректности БД относятся следующие: •обеспечение уникальности записей БД по первичному ключу (не каж-

дая полнофункциональная СУБД это делает);

автоматический контроль целостности связей (ссылочная целостность) между таблицами во время выполнения операций обновления, вставки

иудаления записей (подраздел 3.4);

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

Качество коммуникационных средств. При оценке качества коммуникационных средств обращают внимание на следующие свойства программных продуктов:

• поддержку сетевых протоколов, обеспечивающих работу продукта в различных сетях;

•поддержку стандартных интерфейсов с БД: SQL, ODBC, IDAPI, SAA

и др. (подраздел 9.3);

наличие средств групповой работы с информацией БД (языковые средства разработки; функции интерфейса пользователя; функции администратора БД по организации групп, разграничению полномочий, защите от несанкционированного доступа и т. д.);

способность использовать и модифицировать БД других форматов без импортирования или преобразования.

Фирма-разработчик. При отборе программных продуктов немаловажное значение имеет авторство продукта. Солидность фирмы-разработчика пакета, как правило, дает следующие преимущества:

высокое качество продукта;

наличие документации и методических материалов;

наличие «горячей линии» для консультаций по возникающим проблемам;

высокую уверенность в появлении более совершенной версии. Заметим, что очередные версии СУБД в среднем появляются достаточно

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

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

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

246 Часть 2. Проектирование и использование БД

функциональных СУБД обычно колеблется в пределах $500-$ 1000. Намного дороже серверы БД, цена их ядра процессора БД колеблется от нескольких сот долларов до пятисот тысяч долларов. Общая стоимость включает в себя также стоимость прикладного инструментария, средств настройки конфигурации системы, администрирования БД и сопровождения. Иногда общая стоимость крупных систем, построенных на базе реляционных БД, достигает миллиона долларов. Основным фактором, определяющим общую стоимость системы, чаще всего является число поддерживаемых пользователей.

С появлением сети Интернет стало возможно бесплатно приобретать программные продукты, в том числе СУБД. Примером такого продукта является свободно распространяемая и основанная на модели «клиент-сервер» постреляционная СУБД POSTGRES95.

Представителями бесплатных СУБД с. открытым кодом также являются программы MySQL, PosrgreSQL и Firebird. Такие системы очень популярны в среде малого и среднего бизнеса, обычно поддерживают только основные функции СУБД (хотя перечень этих функций от версии к версии расширяется), могут функционировать на различных платформах. Так, широко используемая СУБД MySQL может работать в среде операционных систем Linux, Windows, Solaris, Mac OS X, FreeBSD, HP-UX, IBM AIX 5L и других.

Технические характеристики. Разнообразие СУБД на уровне технических характеристик еще больше, чем на качественном уровне. Остановимся на наиболее существенных из них. Для удобства представления характеристик сведем их в таблицу.

Т а б л и ц а 9.1

Основные технические характеристики СУБД

Вид

Характеристика

характеристики

 

 

Операционная среда (типы поддерживаемых ОС и

 

коммуникационных протоколов)

Общие

Потребность в оперативной памяти

параметры

Ограничение на максимальный объем БД

 

Ограничение на количество одновременных подключений

 

(пользователей, приложений)

 

Максимальный размер колонки (поля)

Ограничения

Максимальный размер строки, Кбайт

на

Максимальное число полей в таблице

операции

Максимальное число индексных полей

над данными

Максимальное число строк в таблице

 

Максимальное число одновременно открытых таблиц

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

247

Типы

данных

Возможности

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

Текстовый постоянной длины Текстовый переменной длины Числовой Целочисленный

Десятичный с фиксированным числом знаков после запятой Десятичный с плавающей точкой Дата Время

Дато-временной (данные о датах и/или времени) Логический Комментарии

Виртуальный (вычисляемый)

Двоичный - хранение графической, аудио-, видео- и другой информации (OLE, BLOB и т. д.)

Гиперссылка (hyperlink) - ссылка на файлы или документы, находящиеся вне базы данных на локальном компьютере или в сети

Вид языка запросов: SQL, QBE свой собственный Вид интерфейса запросов: командная строка, шаблон (стандартная форма)

Прекомпилятор и оптимизатор Сохранение запросов

Ограничение на число таблиц и виды связей Максимальное число полей для поиска Сортировка: по одному любому полю, по нескольким полям Наличие вычислений в запросах Групповые операции и операции над множествами

Работа в много-

пользовательских средах

Работа в много-

пользовательских средах

Инструментальные средства разработки приложений

Импорт

и

экспорт

Типы блокировок: исключительные, общие Уровни блокировок: блокировка БД, блокировка объектов

разработки (текстов программ, отчетов, экранных форм и пр.), блокировка таблицы (файла), блокировка записи, блокировка поля

Идентификация станции, установившей блокировку Обновление информации после модификации Контроль за временем и повторные обращения Обработка транзакций

Генератор интерфейсов пользователя (в т. ч. экранных форм, кнопок, меню, окон и т. д.)

Генератор отчетов Генератор приложений

Версия времени выполнения (ядра для запуска программ) Генерация независимых ехе-модулей

ASCII-файлы

DBF-формат

WK-формат

XLS-формат Другие форматы

248

Часть 2. Проектирование и использование БД

Многие из характеристик систем достаточно очевидны и в комментариях не нуждаются. Заметим, что не для всех видов СУБД имеют место приведенные характеристики.

Оценка производительности. Анализом и испытанием СУБД занимаются различные организации, в частности лаборатория журнала PC Magazine. Предлагаемая ею методика анализа производительности СУБД применима для исследования программ класса СУБД, коротко ее рассмотрим.

Тестирование реляционных СУБД проводится с помощью эталонных тестов из набора AS3AP (ANSI SQL Standard Scalable and Portable). В них контролируется широкий спектр часто встречающихся операций с БД и моделируются однопользовательская и многопользовательская среды. Испытываемая БД состоит из четырех таблиц по 100 тысяч записей.

Основные виды применяемых тестов носят названия: «Выборка», «Полное сканирование», «Загрузка и индексация», «Обновление», «Чтение с произвольной выборкой», «Запись с произвольным доступом» и «Генерация отчета», указывающие суть этих тестов. Для проведения тестирования каждой фирмой-поставщиком программного продукта разработаны соответствующие прикладные программы, инициирующие тестовые испытания.

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

Тест «Полное сканирование» измеряет время, необходимое для поиска значения в неиндексированном поле, которое отсутствует в таблице. Тем самым моделируется самый неблагоприятный случай запроса к БД.

Втесте «Загрузка и индексация» проводится оценивание того, как быстро программы могут импортировать исходную БД и создать определенное число индексов.

Тест «Обновление» предназначен для измерения времени обновления индексов при выполнении операций модификации (Modify), вставки или добавления (Append) и удаления (Delete) 1000 записей.

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

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

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

249

Тест «Генерация отчета» предполагает задействование одной рабочей станции для подготовки и печати собственно отчета, а восьми других машин - для имитации потока требований к основной станции при групповой работе. Имитация проводится с помощью теста «Чтение с произвольной выборкой».

По параметрам производительности оценивались 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).

Остановимся на трех наиболее отработанных и распространенных тестах: ТРС-А, ТРС-В и ТРС-С.

Тест ТРС-А предполагает тестирование с помощью приложения всех про- граммно-аппаратных компонентов системы, включая пользовательские терминалы и сеть передачи данных. В процессе тестирования моделируется сеть банковских служащих, принимающих депозиты и осуществляющих выдачу вкладов.

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

Назначение теста ТРС-В состоит в определении совместной производительности СУБД и аппаратной платформы, состоящей из вычислительной системы и дисковой памяти, с помощью того же приложения, что и в тесте ТРС-А. По сравнению с предыдущим вариантом, из схемы тестирования исключены этапы считывания и вывода информации на терминал. В результа-

250

Часть 2. Проектирование и использование БД

те тестирования получают данные о производительности (количество зафиксированных транзакций в секунду), а также соотношении цена/производительность, вычисляемом аналогично тесту TP С-А.

В mecme ТРС-С проводится многостороннее исследование систем в более сложных условиях оперативной обработки информации. На вход системы подается смесь транзакций, осуществляющих чтение и интенсивное обновление БД. Здесь используются многочисленные таблицы разных размеров, структуры связей с другими таблицами. Поступать транзакции могут одновременно разных типов (короткие и длинные, в зависимости от трудоемкости обработки), а выполняться - в оперативном и в отложенном режиме. Тестирование производится на примере моделирования деятельности типичного склада.

Выбор структуры аппаратных средств

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

какую структуру (однопотоковую или многопотоковую) имеет СУБД;

применяются ли мониторы транзакций;

можно ли использовать архитектуру клиент-сервер;

сколько одновременно активных пользователей должна поддерживать система;

можно ли из всего множества запросов выделить основной - шаблон (образец);

какова стратегия индексации;

какие запросы нужно поддержать индексацией, а какие можно реализовать с помощью сканирования базы данных;

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

достаточно ли дисковых накопителей и интерфейсных адаптеров для обеспечения обработки предполагаемой нагрузки;

имеются ли отдельные диски для журналов СУБД и архивов;

достаточна ли емкость дисковой памяти для хранения данных, индексов, временных таблиц и для возможного увеличения объема данных;

достаточно ли процессоров для работы с предполагаемым числом пользователей;

требуется ли выделенная сеть для организации связи между клиентски-

ми системами и сервером в системах клиент-сервер;

согласована ли стратегия резервного копирования с типом, числом и местом размещения устройств резервного копирования.

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

251

Для получения ответа на перечисленные и подобные вопросы нужно прежде всего учитывать следующие факторы:

1)особенности прикладной задачи, а также методы и средства ее решения;

2)характеристики выбранной СУБД;

3)возможности и эффективность функционирования операционной системы;

4)характеристики аппаратной части и сетевого оборудования.

Замечание.

Неэффективное решение прикладной задачи может свести на нет осталь-

ные усилия. Например, для выбора записи можно использовать сканирование всей таблицы с проверкой условия или операцию выборки - оператор S ELECT языка SQL. В первом случае в среднем требуется просмотреть половину таблицы, что при размере таблицы в десятки гигабайтов может составлять единицы-десятки минут. Во втором случае операция выборки составляет не более нескольких секунд. Другой пример: игнорирование при создании базы данных преимуществ определения ключей и индексирования таблиц. Особенный выигрыш от последнего в производительности получается при выполнении типовых или повторяющихся запросов к базе данных. Главное, что реорганизация базы данных здесь не требует изменения кода приложения. А эффект может быть существенным. Неучет этого обстоятельства сильно замедляет работу приложения.

Параметры прикладной задачи тесно связаны с характеристиками выбранной СУБД (вторая составляются). Эта связь особенно сильно проявляется в случае, когда приложение выполняется в режиме интерпретации СУБД (подраздел 1.4). Детальный перечень характеристик СУБД приведен в табл. 9.1 настоящего подраздела. При установке СУБД и при ее эксплуатации следует не забывать о сборе и анализе статистики о процессах и событиях. Нужно обратить внимание на такие явления, как обработка транзакций (время выполнения), возникновение блокировок при использовании разделяемых ресурсов, использование кэш-памяти при обращении к дискам, а также нехватка буферной или дисковой памяти. Все негативные явления, как правило, существенно снижают показатели работы информационной системы и в то же время могут быть своевременно выявлены и устранены настройкой СУБД, приложения и операционной системы.

Программной средой функционирования приложения и/или СУБД является операционная система (третья составляющая). От нее тоже зависит интегральная оценка работы информационной системы. Иногда выбор ОС носит принципиальный характер. Например, требование со стороны СУБД среды Windows, отвергает возможность использования UNIX и MS DOS.

Важнейшей частью вычислительной системы является аппаратура (четвертая составляющая). Поскольку необходимым условием построения эффективной информационной системы является обоснованное определение

252 Часть 2. Проектирование и использование БД

структуры аппаратной части системы, остановимся на этой задаче более подробно.

При решении задач определения структуры программно-аппаратных средств автоматизированной системы обработки данных в большинстве случаев в силу большой неопределенности и огромного числа противоречивых факторов для принятия решения достаточно экспертной оценки.

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

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

Ввиду большого разнообразия решаемых задач относительно клиентской части ограничимся общей рекомендацией: проанализировать потребности ресурсов ЭВМ и в пределах имеющихся финансов их удовлетворить. Например, приложения, требующие обработки видеоизображений, должны выполняться на компьютерах с хорошими характеристиками видеосистем (достаточным объемом видеопамяти, неплохим разрешением мониторов, обеспечивающим нужную скорость обработки изображений быстродействием процессора).

Относительно серверной части систем можно высказаться более определенно, поскольку его требования к системным ресурсам в меньшей степени зависят от специфики решаемых прикладных задач. Рассмотрим специфику использования серверами важнейших ресурсов компьютера: основной памяти, центрального процессора и внешней памяти.

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

В основной памяти хранятся программы и данные. При работе с СУБД, как правило, большая часть ОП используется в качестве буфера (кэша) для обмена с внешней памятью. Наличие кэша достаточного объема позволяет уменьшить число операций физического ввода/вывода и повышает производительность вычислительной системы. Для оценки получаемого выигрыша отметим, что обращение к основной памяти выполняется примерно в 30000 раз быстрее, чем к магнитному диску.