
- •Пользователя редко интересуют все потенциально возможные комбинации значений измерений. Для этого используются срезы, отображения страниц, вращение, нарезка на кубики, агрегация, детализация.
- •6. Языки описания баз данных
- •Операторы sql для управления соединениями. В эту группу входят операторы connect, set connection и disconnect. Оператор connect определяется следующими синтаксическими правилами:
- •Команда select – выборка, самая часто используемая команда, с помощью её идет выбор данных из таблицы. Запроса с применением select выглядит с.О.:
- •Структура команды select следующая:
- •Insert into users_base (user_name, city, birth_day) values (‘Александр’, ‘Ростов’, ’20.06.1991’);
- •Такой запрос выведет только те строки, которые будут соответствовать условию where.
- •Оператор exists может быть полезен для вовлечения внешних ключей (foreign keys). В следующем примере идет проверка, имеет ли значение атрибута 'fred the 45' какое-либо задание. Первый вариант:
- •Стратегиями могут быть:
- •Тактики по существу представляют собой задачи, которые необходимо решить, чтобы действовать в соответствии с выбранной стратегией, например:
- •15 Определение необходимой информации для различных видов деятельности
- •24 Методы использования case средств
- •А) без использования б) с использованием case
- •Создание план управления данными должно учитывать долгопериодные решения по:
- •Процесс управления качеством данных можно разделить на следующие этапы: определение качества исходных данных:
- •Вопрос 21.
- •Дальше пример из л.Р. 4.
- •Место субд в системе информационного обслуживания управленческой деятельности - сппр же!
- •5. Управление данными в отдельных проектах
- •Оптимизация структур данных
- •Оптимизация структур данных
- •Оптимизация структур данных
- •Пользователя редко интересуют все потенциально возможные комбинации значений измерений. Для этого используются срезы, отображения страниц, вращение, нарезка на кубики, агрегация, детализация.
- •78 Назовите перспективные технологии хранения данных
- •79. Кто отвечает за сохранность данных и как это делается?
- •80. Как в случае катастрофы можно восстановить работоспособную систему (аппаратное обеспечение, данные, операционную систему)?
- •81. Как часто следует сохранять данные? Важность регулярного резервного копирования
- •82. Когда происходит полное копирование?
- •83. Жизненный цикл бд
- •84. Документальные, фактографические, пространственные бд.
- •85. Объектно-ориентированные бд. Распределенные бд. Коммерческие бд.
- •86. Процессы обработки данных в бд. Ограничения целостности.
- •87. Технология оперативной обработки транзакций (oltp).
- •88. Информационные хранилища. (olap)
- •Принципы организации хранилища
- •89. Объекты, атрибуты, связи, первичный и вторичные ключи. Основные типы абстракции.
- •90. Нормализованные отношения. Первичные и вторичные ключи отношений. Моделирование связей в реляционной модели данных. Внешние ключи.
- •91 Язык sql. Назначения языка. Типы данных sql. Операторы создания базы данных.
- •Объекты это структуры бд, которым даны имена и которые сохраняются в памяти. Сюда относятся базовые таблицы, представления и индексы.
- •Select * from users_base where city in (‘Владивосток’, ‘Ростов’);
Оптимизация структур данных
Правильно построенная модель БД позволяет избежать проблем со скоростью доступа к информации, а также обеспечивает возможность дальнейшего масштабирования БД и подключения дополнительных источников данных. Хорошо построенная модель данных может сделать систему быстрой, гибкой и функциональной. Критериями оптимальности модели БД являются скорость поиска, уменьшение числа связей таблиц, стандартизация структур данных.
Главными задачами системы мониторинга БД является [4]:
обнаружение неполадок и отказов;
гибкие возможности оповещения;
автоматическое исправление неполадок;
настройка на новые (нестандартные) показатели.
Что из себя представляет многомерная модель?
Многомерная
модель, рис.8. Моделью данных является
многомерный куб, где на измерениях
определены некоторые иерархии, а в
клетках этого куба находятся числовые
значения. Операции извлечения данных
из такого куба описываются в терминах
поворотов, срезов, и иерархического
"схлопывания" измерений с
агрегированием значений (суммирование,
взятие среднего и др.). Эта схема хорошо
ложится на табличную организацию данных.
Наиболее известный
программный продукт этого класса - это
Oracle Express Server.
Рисунок 8 – Схема перехода от реляционной модели к многомерной
Пользователя редко интересуют все потенциально возможные комбинации значений измерений. Для этого используются срезы, отображения страниц, вращение, нарезка на кубики, агрегация, детализация.
Срез – это созданное пользователем подмножество гиперкуба, получившееся в результате фиксации значения одного или более измерений не входящих в это подмножество. Текущее представление среза многомерной информации называется отображением страницы. Измерения, расположенные по горизонтали (поперек дисплея), определяют измерения в столбцах таблицы. Строки таблиц измерений определяются измерениями, расположенными по вертикали (вдоль дисплея). Выбор элемента измерения страницы позволяет определить, какая именно страница отображается в данный момент. Страница во многом напоминает обычную электронную таблицу и может быть интегрирована практически с любой программой электронных таблиц, где пользователь может в дальнейшем вносить изменения в каждую ячейку.
Slice and Dice (нарезка на кубики и ломтики) - это термин, использующийся для описания функции сложного анализа данных, обеспечиваемой средствами OLAP выборка данных (продольные и поперечные, плоскостные и объемные срезы) из многомерного куба с заданными значениями и заданным взаимным расположением измерений, при котором пользователь обычно использует операции вращения концептуального куба данных и детализации/агрегирования данных.
Изменение порядка представления измерений, применяемое при двухмерном представлении данных, называется вращением (Rotate, Pivot, пивотинг). Эта операция обеспечивает возможность визуализации данных в форме, наиболее комфортной для их восприятия. Операция вращения может заключаться в перестановке местами строк и столбцов таблицы или перемещении интересующих измерений в столбцы или строки создаваемого отчета, что позволяет придавать ему желаемый вид. Кроме того, вращением куба данных является перемещение вне табличных измерений на место измерений, представленных на отображаемой странице, и, наоборот (при этом вне табличное измерение становится новым измерением строки или измерением столбца). Вращением можно изменить отчета с расположенным по горизонтали измерением "Время" и измерением "Компьютеры", расположенным по вертикали, в отчет, у которого по горизонтали представлено измерение "Время", а по вертикали - измерение "География".
Отношения. Между их значениями обычно существуют множество различных отношений (Relation) типа "один ко многим". Следует отметить, что для измерений, имеющих тип Время (таких как День, Месяц, Квартал, Год), все отношения устанавливаются автоматически, и их не требуется описывать.
В процессе анализа пользователь не только работает с различными срезами данных и выполняет их вращение. Одним из часто встречающихся способов манипулирования данными является операция агрегации (Drill Up) -переход от детализированных к агрегированным данным. С точки зрения пользователя, Подразделение, Фирма, Регион, Страна являются точно такими же измерениями, как и Время. Но каждое из них соответствует новому, более высокому уровню агрегации значений показателя Объем продаж.
Переход от агрегированных к детализированным данным называется операцией детализации (Drill Down). Например, начав анализ на уровне Региона, пользователь может захотеть получить более точную информацию о работе конкретной фирмы или подразделения.
Достоинствами многомерной модели данных является возможность сведения близких сущностей в одну таблицу, например, сведения о комплектующих компьютера, БД классификаторов и др. Примеры многомерных структур для хранения кодификаторов даны в табл.16 (исходные таблицы – табл.14-15), табл.16 – многомерная структура, временных рядов – табл.17-18, сеточных данных – табл.19-21.
Таблица 13 - Страны Таблица 14 - Ведомства Таблица 15 - Организации
Код |
Значение |
|
Код |
Значение |
|
Код |
Значение |
RU |
Россия |
|
1 |
МИД |
|
НЦУКС |
Нац. центр управл. |
BU |
Болгария |
|
2 |
МЧС |
|
ВНИИГОЧС |
Ин-т ГО и ЧС |
…. |
…. |
|
…. |
…. |
|
…. |
…………… |
Таблица 16 - Многомерная структура хранения классификаторов
Идентификатор классификатора |
Код |
Значение |
1 |
RU |
Россия |
1 |
BU |
Болгария |
2 |
1 |
МИД |
2 |
2 |
МЧС |
3 |
НЦУКС |
Национальный центр управления в кризисных ситуациях |
3 |
ВНИИГОЧС |
Ин-т ГО и ЧС |
Таблица 17 - Сведения о временном ряде
ID_временного ряда |
Широта |
Долгота |
Дата начала ряда |
Дата окончания ряда |
Модель |
Параметр |
Автор |
|
|
|
|
|
|
|
|
Таблица 18 - Временной ряд (матрица)
ID_временного ряда |
Дата |
Значение |
|
|
|
Таблица 19 - Сведения о сетке
ID_сетки |
Широта |
Долгота |
Широта |
Долгота |
Дата начала |
Дата окончания |
Автор |
Модель |
|
|
|
|
|
|
|
|
|
Таблица 20 - Сведения о поле
ID_сетки |
ID_поля |
Дата |
Время |
Параметр |
|
|
|
|
|
Таблица 21 - Поле
ID_сетки |
ID_поля |
Широта |
Долгота |
Значение |
|
|
|
|
|
На основе многомерной модели данных можно создать универсальную модель данных (УМД). Эта модель рассмотрена в разделе «Оптимизация». Основная идея создания УМД заключается в том, что все таблицы БД имеют одинаковую структуру данных (трипл) – идентификатор записи, имя атрибута и значение. То есть атомарной единицей хранения данных здесь является значение отдельного атрибута. Для упрощения структуры данных каждый выделенный объект БД представляется в виде метаданных – сведений об объекте и сведений о его жизненном цикле.\
Как можно эффективно организовать хранение множества кодификаторов?
В БД используется множество классификаторов, стран, организаций, ведомств, судов, др.Сейчас каждый классификатор, как правило, состоит из двух атрибутов (код, значение).Добавив еще один атрибут - идентификатор классификатора, можно все классификаторы хранить в одной таблице.
Как организовать БД по временным рядам?
Как организовать БД по временным рядам? (есть временной ряд 1, другой временной ряд, за 10 лет, за сутки, и тд. Частота измерений разная!!! Это всё входные данные. Предлагается 2 таблицы сделать: метаданные (айди вр. ряда, начало, окончание, частота измерений (год, месяц...), автор, географический район и тд), айди вр. ряда, данные и значения - это вторая таблица - это уже бд)
Как создать БД для случайных измерений в пространстве и во времени?
(свести в бд в одну структуру, здесь уже одной таблицей не обойтись - нужно 3. 1 - сетка (айди, пространственный масштаб, временной масштаб, автор, модель...), 2 - (айди для связи, данные, атрибут...), 3 - сама таблица (айди сетки, широта, долгота, значение)
Как создать структуру сеточных данных?
по сути всё, как и в предыдущем, только убирается вторая таблица) напр, пространственные данные - это сеточные.
Какие бывают этапы обработки данных?
1 этап - от источников информации, появляются накопительные массивы данных, необходимо создать дисцилинарные массивы, которые из разных накопительных собираются однотипные структуры, 2 - статистическая - выбираем конкретную единицу из дисц. и собираем всю информацию о ней, 3 - рассчётный массив - агригированная информация (как статистика, полная информация))
Первый этап: первоначальный сбор из внешних источников (чаще всего это просто Интернет). Второй этап: отчистка, первичная обработка и приведение к унифицированному виду. Что это означает? Из-за того, что в источники поступления информации - это самые различные сайты, имеющие собственные форматы отображения, приходится приводить ее к единому виду. Это упрошает ее последующую обработку. Третий этап: систематизация и организация хранения накопленных данных, для последующего использования, а также осуществлению внутреннего поиска и быстро извлечения нужных документов. Четвертый этап: глубокий анализ информации, систематизация и получение знаний. Пятый, завершающий этап: формирование отчета по конкретной тематике.
Назовите характеристики БД
Характеристиками БД и потоков данных являются:
объем данных в логических и физических единицах;
объем потока данных в единицу времени;
доступность данных 24*7*365;
оперативность поступления данных;
полнота БД в % — относительное число объектов или документов, имеющихся в БД, к общему числу объектов по данной тематике или по отношению к числу объектов в аналогичных БД;
актуальность - устаревание во времени — относительное число устаревших данных об объектах в БД к общему числу накопленных и обрабатываемых данных, определяется скоростью ввода в БД;
оперативность доведения - время в течение которого данные становятся доступны пользователям.
качество (достоверность) данных - вероятность ошибки (управление 10-4 10-5; планирование - 10-5 , статистика -10-5 , бухучет - 10-6 -10-7). Обеспечение вероятности ошибок выше, чем 10-4 требует увеличения капитальных и эксплуатационных затрат до 50%, времени программирования до 50%, времени работы программ, персонала;
идентичность — относительное число описаний объектов, не содержащих дефекты и ошибки, к общему числу документов об объектах в БД;
ценность полученной информации определяется потребностью человека в этой информации и его подготовленностью к ее восприятию и использованию;
точность определения атрибутов;
формы представления (таблицы, графики, карты, тексты, мультимедиа).
Влияние характеристик БД на затраты, связанные с получением и ценностью данных, табл.3.
Таблица 3 - Влияние характеристик БД на затраты, связанные с ее получением и ценностью данных
Характеристика БД |
Влияние на затраты по получению информации |
Влияние на ценность информации |
Доступность |
Затраты на поиск |
Увеличение доступности увеличивает полезность данных |
Объем данных |
Увеличиваются затраты на ведение БД |
Рост объемов увеличивает потенциальную полезность |
Актуальность |
Требует затрат на разработку соответствующих технологи и их эксплуатацию |
Чем быстрее данные будут доступны, тем быстрее пользователь может их увидеть |
Оперативность доведения |
Требует затрат на разработку и эксплуатацию соответствующей технологии |
Чем быстрее данные будут доступны, тем лучше будет решение |
Полнота БД |
Достижение 100% полноты сопряжено с трудностями реализации и связано со значительными затратами |
Очень важна |
Качество данных |
Требует затрат на разработку |
Чрезвычайно важна |
Точность определения атрибутов |
Обходится все дороже и дороже |
Не столь полезна, как об этом принято думать, т.к. случайные наблюдения в океане в пространстве и во времени дают большую ошибку при вычислении климатических характеристик |
Форма представления |
Требует затрат на разработку соответствующих приложений |
Очень важна |
Назовите характеристики технических носителей
Для хранения данных используется флэш-память, магнитооптические диски, оптические диски, HDD. Существуют специальные высокопроизводительные архитектуры для хранения больших объемов данных (СХД), способные интегрироваться в вычислительную сеть (Например, IBM TotalStorage DS8000).
Запоминающие устройства можно представить как трехзвенную систему: устройства и системы для активно используемых данных (дисковые системы), периодически используемых данных (CD/MO/DVD устройства) и данных долговременного хранения (ленточные библиотеки). Быстрые или оперативные устройства с произвольным доступом хранения служат для работы с данными, в которых пользователи для выполнения своей работы нуждаются постоянно. Это - жесткие диски, дисковые системы и RAID системы. Они имеют небольшое время доступа и самую высокую частоту обращения.
Принципиальное отличие систем 1-го и 2-го уровня от систем 3-го уровня заключается в том, что первые две - это системы произвольного доступа, а последние - последовательного доступа. Такое разделение четко определяет области их использования. При этом основные отличия систем 1-го и 2-го состоит в емкости и скорости доступа.
Как можно обеспечить надежность хранения данных - Многоуровневая организация данных
Надежность хранения данных можно обеспечить с помощью хранения информации на надежных носителях; создания регулярных копий данных; репликации данных на основе удаленного хранилища; создания запасного удаленного центра, имеющего зеркальное отображение основных БД; регулярного проведение тестирования средств восстановления данных. При потере данных необходимое восстановление должно проходить быстро и автоматически.
Надежность БД может основываться на применении теории методов надежности, которая позволяет получить ряд четких, хорошо измеряемых интегральных показателей. Надежная БД должна, прежде всего, обеспечивать низкую вероятность потери работоспособности. Быстрое реагирование на потерю или искажение данных и восстановление их достоверности и работоспособности за время меньшее, чем порог между сбоем и отказом, обеспечивает высокую надежность.
Это трехуровневая схема хранения:
Копирование винчестера за счет RAID-массивов, дублирование записываемой информации.
Сменные носители в той же комнате, где эксплуатируется сервер.
Сменные носители, которые находятся в другом здании.
Таким образом, обеспечивается надежность хранения 99,9%. Скорее всего информация сохранится, например, при пожаре, сбое машины. Естественно какую-то часть можно потерять: последние сутки, последнюю неделю, последний месяц.
Запоминающие устройства можно представить как трехзвенную систему: устройства и системы для активно используемых данных (дисковые системы), периодически используемых данных (CD/MO/DVD устройства) и данных долговременного хранения (ленточные библиотеки). Быстрые или оперативные устройства с произвольным доступом хранения служат для работы с данными, в которых пользователи для выполнения своей работы нуждаются постоянно. Это - жесткие диски, дисковые системы и RAID системы. Они имеют небольшое время доступа и самую высокую частоту обращения.
Принципиальное отличие систем 1-го и 2-го уровня от систем 3-го уровня заключается в том, что первые две - это системы произвольного доступа, а последние - последовательного доступа. Такое разделение четко определяет области их использования. При этом основные отличия систем 1-го и 2-го состоит в емкости и скорости доступа.
75 Показатели различных подходов к автоматизации предприятий с использованием БД
Показатели подхода |
Лоскутная автоматизация |
СУБД |
СУБД +ТПР |
Адаптация к текущим условиям и организационной структуре предприятия |
Есть |
Нет, следование условиям проекта | |
Запаздывание работ во времени |
Минимальное |
Высокое |
Среднее |
Управляемость изменениями |
Высокая |
Низкая |
Минимальная |
Риск неудачи проекта |
Низкий |
Очень высокий |
Высокий |
Открытость системы для заказчика |
Высокая |
Минимальная |
Определяется свойствами СУБД |
Гибкость и оптимизация в управлении разработкой |
Высокая |
Низкая |
Нет данных |
Оптимизация технологических решений |
Высокая |
Средняя |
Низкая |
Доступность системы для заказчика |
Высокая |
Низкая |
Низкая |
Размерность работ (число шагов и время для достижения результата) |
Минимальная |
Высокая |
Высокая |
Единое терминологическое и понятийное пространство |
Да, релевантный язык общения с пользователями |
Нет, требуется подстраиваться под конкретный проект | |
Скорость адекватных изменений, вносимых в ИС |
Средняя |
Низкая |
Низкая |
Реактивность технологии создания/сопровождения |
Максимальная |
Низкая |
Низкая |
Разновидность вносимых изменений на разработку |
Высокая |
Средняя |
Низкая |
Преемственность и сохранность результатов этапов создания ИС |
Максимальная. |
Низкая. |
Средняя |
Потребность в техно-рабочей документации |
Минимальная |
Высокая |
Высокая |
Время создания требуемой документации |
Минимальное |
Максимальное |
Малое |
Время обучения пользователей |
Минимальное |
Среднее |
Максимальное |
Потребность в реструктуризации предприятия |
Отсутствует |
Отсутствует |
Имеется |
Потребность в информационно-технологической реструктуризации |
Отсутствует |
Средняя |
Высокая. |
Сложность в переходе от лоскутной автоматизации на «серьезную» систему |
Высокая |
Средняя |
Высокая |
Относительная стоимость |
Низкая |
Высокая |
Средняя |
Технология лоскутной автоматизации. Лоскутная автоматизация применяется, когда для добавления чего то нового в вашу БД вы заново пишете этот "модуль", т.о. система постепенно увеличивается, "обрастает" этими модулями, минусы такой системы в том, что систему может поддерживать лишь тот человек(или проектная группа), который/ая ее формирует, т.е. если проект передать в другие руки, то скорее всего все придется переделать с нуля (проект без поддержки становится неуправляемым).
СУБД
Использование СУБД, при создании БД предполагает создание БД, используя все доступные средства, использованной СУБД, не выходя за рамки ее. Плюсы - система автоматизирована, поэтому повышается простота создания. Минусы - возможности БД ограничены выбранной СУБД.
СУБД +ТПР
Использование такого подхода является затратным, по сравнению с другими, т.к. вы по сути заказываете вашу БД у какой то организации, которая, в соответствии со всеми наработками, создает вам БД. В связи с этим увеличиваются сроки выполнения и риски неудачи проекта в целом.
Можно открыть лекцию №2, там есть много воды по этой теме.
76. Цель создания БД
Главной целью создания БД является получение прибыли.
Использование БД в основном обеспечивает:
1) централизованное управление данными;
2) независимость данных и программ;
3) реализацию отношений между данными;
4) совместимость компонентов БД;
5) простоту изменения логической и физической структур БД;
6) целостность, восстановление и защиту БД и др.
При централизованном управлении выделяют ряд преимуществ:
• сокращение избыточности хранимых данных,
• устранение возможных противоречий данных,
• совместное использование данных,
• соблюдение стандартов в данных.
Необходимость независимости данных и программ объясняется двумя основными причинами:
1. В разных ПП одни и те же данные могут понадобиться в различной форме.
2. В целях эффективности работы в СУБД должна существовать возможность изменения структуры хранения данных и стратегии доступа к ним без модификации ПП.
Независимость данных проявляется в трех формах: физической и логической независимости, а также независимости от стратегий доступа
Реализация отношений между данными
Данные в БД, так же как и в реальном мире (предметной области) связаны между собой отношениями (связями). Обычно рассматривают 4 типа отношений.
1) Отношение один к одному (1:1) означает, что каждому экземпляру объекта А может соответствовать только один экземпляр объекта В и, наоборот, любому экземпляру объекта В может соответствовать только один экземпляр объекта А. Например: ФАКУЛЬТЕТ - ДЕКАН.
2) Отношение один ко многим (1:N): ФАКУЛЬТЕТ - КАФЕДРА, ГРУППА - СТУДЕНТ, КЛИЕНТ - ЗАКАЗ.
3) Отношение многие к одному (N:1).
4) Отношение многие ко многим (M:N): ПРЕПОДАВАТЕЛЬ - ПРЕДМЕТ; ИЗДЕЛИЕ - МАТЕРИАЛ.
Совместимость компонентов БД означает, что изменение в любом компоненте не должно влиять на последующие компоненты. Так, замена версии ОС не влечет за собой замены СУБД или изменения в ПП.
Простота изменения логической и физической структур БД. Логическая структура БД отражает состояние некоторого объекта, явлений в реальном мире. В связи с переменами в реальном мире она может изменяться. Поэтому требуется модификация соответствующих логических схем, существующих элементов и их характеристик, суть которой заключается в появлении новых элементов и связей.Изменение физической структуры БД необходимо для повышения эффективности процесса обработки информации, это может быть связано с реорганизацией БД, заменой устройств хранения данных и т.п.
Целостность, восстановление, защита и секретность БД. Целостность БД - это соответствие структуры и содержимого БД реальному состоянию объекта. При использовании БД ее содержимое запоминается в некоторые моменты времени. С возникновением ошибки последнее сохраненное содержимое БД восстанавливается с помощью программ восстановления. Для обеспечения защиты БД от постороннего вмешательства используются три типа контроля: защита от доступа на уровне записей, программ и пользователей, частей БД. Секретность данных обычно обеспечивается идентификацией по имени или коду пользователя.
Слишком много левой инфы в лечках(№3), поэтому гуглил.
77. Затраты, объем, качество, время создания БД (сравнение старых и новых технологий)
Расчет совокупной стоимости владения СУБД [6]
Совокупная стоимость владения СУБД включает стоимость:
самой СУБД, состоящая из первоначального платежа за приобретение лицензий и ежегодных платежей за поддержку от производителя;
сопровождения СУБД, которая определяется заработной платой сотрудников, ответственных за обслуживание и администрирование БД;
платформы для разворачивания СУБД — серверного оборудования и ОС (эта стоимость также складывается из первоначального платежа за приобретение оборудования и лицензий на ОС, а также ежегодных платежей за поддержку от производителей).
При выборе СУБД надо помнить о затратах, связанных с ее последующим внедрением и адаптацией. Величина этих затрат определяется сложностью работы с СУБД, открытостью ее исходного текста, а также стоимостью услуг компаний-интеграторов. Она зачастую бывает довольно большой, но в данном случае оценить ее сложно, поскольку она зависит от многих факторов конкретного проекта — решаемых задач, сложности существующих приложений, объема хранимых и обрабатываемых данных и т.д.
Для сравнения совокупной стоимости владения СУБД Oracle, DB2 и MS SQL Server и PostgreSQL будем проводить расчеты затрат для случая разворачивания СУБД на двух серверах, на каждом из которых имеется два CPU архитектуры x86 стоимостью — 100000 рублей. В качестве периода владения выбран один год. Стоимость лицензии и поддержки для выбранных СУБД приведены в табл.5.
Стоимость сопровождения СУБД определяется заработной платой сотрудников, ответственных за обслуживание и администрирование БД. Для оценки этих затрат предположим, что для обслуживания двух серверов достаточно одного квалифицированного администратора баз данных. Оценка годового фонда оплаты труда (ФОТ), исходя из среднемесячной зарплаты сотрудников, представлена в табл.6.
Таблица 5 - Стоимость СУБД (в рублях)
Наименование СУБД |
Лицензия |
Поддержка |
Итого |
PostgreSQL |
0 |
636 492 |
636 492 |
MS SQL |
2 902 200 |
856 149 |
3 758 349 |
DB2 |
4 368 000 |
1 030 848 |
5 398 848 |
Oracle |
7 080 000 |
1 837 968 |
8 917 968 |
Таблица 6 - Стоимость сопровождения СУБД (в рублях)
Наименование СУБД |
Среднемесячная зарплата |
Годовой ФОТ |
PostgreSQL |
70 000 |
840 000 |
MS SQL |
80 000 |
960 000 |
DB2 |
90 000 |
1 080 000 |
Oracle |
80 000 |
960 000 |
В качестве ОС для СУБД Oracle, PostgreSQL и IBM DB2 выбрана ОС Red Hat Enterprise Linux с уровнем поддержки Standard. Для MS SQL в качестве ОС взята Microsoft Windows Server Enterprise. Исходя из указанных предположений, получим следующие результаты расчета стоимости платформы для СУБД (табл.7).
Таблица 7 - Стоимость платформы для СУБД (в рублях)
Наименование СУБД |
Оборудование |
ОС |
Итого | ||||
Стоимость |
Поддержка |
Стоимость |
Поддержка | ||||
PostgreSQL |
200 000 |
59 000 |
0 |
63 720 |
322 720 | ||
MS SQL |
200 000 |
59 000 |
128 600 |
37 937 |
425 537 | ||
DB2 |
200 000 |
59 000 |
0 |
63 720 |
322 720 | ||
Oracle |
200 000 |
59 000 |
0 |
63 720 |
322 720 |
Основываясь на результатах предыдущих расчетов, можно оценить совокупную стоимость владения рассматриваемыми СУБД в течение первого года как сумму всех составляющих. Также приведем результаты расчета TCO в течение 3 лет. Результаты представлены в табл.8.
Таблица 8 - Совокупная стоимость владения СУБД (в рублях)
Наименование СУБД |
в течение 1 года |
в течение первых 3 лет |
PostgreSQL |
1 799 212 |
4 997 636 |
MS SQL |
5 143 886 |
8 970 058 |
DB2 |
6 801 568 |
11 268 704 |
Oracle |
10 200 688 |
16 042 064 |
При расчете для двух серверов с двумя процессорами получаем, что PostgreSQL обходится дешевле Oracle в 3-5 раз, и эта разница будет только увеличиваться при разворачивании более масштабных БД. При внедрении открытого программного обеспечения надо учитывать стоимость владения TCO, а не стоимость лицензий. Поэтому всё упирается в вопрос масштаба. Все затраты и на проект уже сделаны, поэтому каждый новый центр будет давать чистую экономию.
Сравнение СУБД ACCESS, MySQL, Oracle
Объём памяти на жёстком диске необходимый для самой СУБД: ACCESS (OfficeXP) – 530 Мбайт, Oracle – >1 Гбайт, для работы с MySQL через Интернет необходим только браузер, а для работы локально нужен ещё web-сервер, поддерживающий MySQL и PHP (например, Apache – 8Мбайт). Размер БД в формате соответствующем каждой СУБД: ACCESS – 1,73 Мбайт, MySQL – 113 Кбайт, Oracle – размер определяется не содержанием самой базы, а задаваемым табличным пространством.
Оперативная память, используемая СУБД при работе с той же БД: ACCESS – 4528 Кбайт, сервер Apache + Internet Explorer – 28612 Кбайт (из них Internet Explorer – 11660 Кбайт).
Быстродействие: при работе локально разница между временем выполнения запроса в ACCESS и временем выполнения аналогичного запроса в MySQL практически неощутима (десятые доли секунды); при работе же с MySQL через Internet скорость зависит от таких параметров как трафик сети, удалённость и быстродействие сервера и прочее.
Простота использования: Интерфейс СУБД ACCESS очень нагляден, содержит хорошую систему помощи и опции «мастеров» создания и заполнения, это всё в совокупности позволяет даже неопытному пользователю, не имеющему навыков работы с какими-либо СУБД, довольно таки быстро научиться создавать и управлять БД. В СУБД MySQL – не смотря на то, что приходится прописывать всё в ручную, особых трудностей тоже нет, особенно, если пользователь обладает хотя бы какими-то навыками программирования и работы с БД. СУБД Oracle требует ее изучения в течение большего, по сравнению с ACCESS и MySQL, времени.
Таблица 3 - Практические характеристики БД MS SQL и Oracle []
Характеристики |
Microsoft SQL Server |
Oracle |
Удобство и простота настройки |
Интуитивно понятный интерфейс |
Медленный графический интерфейс, требуется много оперативной памяти из-за работы Сборщика мусора |
ОС |
Windows |
Windows или UNIX |
Мин требования для аппаратного обеспечения (при загрузке) |
HDD – 80 Мбайт, RAM – 15 Мбайт |
HDD - 1.3 Гбайт, RAM – 150 Мбайт |
Скорость развёртывания |
Установка занимает не больше 10 мин |
Установка занимает не меньше 30 мин |
Скорость загрузки |
Максимум 10 с |
Минимум 3 мин |
Производительность |
Хорошо |
Хорошо |
Конкурентный доступ |
Хорошо |
Отличный |
Число пользователей |
Удовлетворительно |
Не ограничено |
Большие БД |
Поддерживает средне |
Отлично |
Готовность |
Отлично |
Отлично |
Административное управление |
Хорошо |
Отлично |
Графические инструменты |
Отлично |
Хорошо |
Простота обслуживания |
Отлично |
Отлично |
Механизм данных |
Хорошо |
Отлично |
Работа с несколькими процессорами |
Приемлемо |
Отлично |
Функция соединения и выбор индексов |
Отлично |
Отлично |
Одновременный доступ нескольких пользователей |
Хорошо |
Отлично |
Обработка мультимедиа-данных |
Плохо |
Отлично |
Подключение к Интернет |
Хорошо |
Отлично |
Обработка аудио, видео, изображений |
Плохо |
Отлично |
Поиск по всему тексту |
Хорошо |
Отлично |
Функциональная совместимость |
Хорошо |
Хорошо |
Сопряжение с другими БД |
Хорошо |
Хорошо |
Единая регистрация |
Хорошо |
Хорошо |
Таблица 4 - Сравнение MySQL и PostgreSQL
Особенности |
PostgreSQL |
MySQL |
ANSI SQL совместимость |
Близка к стандарту |
Следует не всем стандартам ANSI SQL |
Скорость работы |
Медленнее |
Быстрее |
Вложенная команда Select |
Да |
Нет |
Транзакации |
Да |
Да, должен использоваться тип таблицы InnoDB |
Ответ БД |
Да |
Да |
Поддержка внешних ключей |
Да |
Нет |
Представления |
Да |
Нет |
Хранимые процедуры |
Да |
Нет |
Триггеры |
Да |
Нет |
Unions |
Да |
Нет |
Полные Joins |
Да |
Нет |
Ограничители целостности |
Да |
Нет |
Поддержка Windows |
Да |
Да |
Вакуум (очистка) |
Да |
Нет |
ODBC |
Да |
Да |
JDBC |
Да |
Да |
Различные типы таблиц |
Нет |
Да |