
- •60 Критерии выбора субд.
- •62 Тенденции развития современных технологий управления базами данных.
- •5. Управление данными в отдельных проектах
- •63 Какие критерии оптимизации бд можно выбрать?
- •Оптимизация структур данных
- •64 Как можно улучшить структуру бд? Оптимизация структур данных
- •65 Какие методы оптимизации можно применить?
- •Оптимизация структур данных
- •66 Что из себя представляет многомерная модель?
- •Пользователя редко интересуют все потенциально возможные комбинации значений измерений. Для этого используются срезы, отображения страниц, вращение, нарезка на кубики, агрегация, детализация.
- •73 Назовите характеристики технических носителей
- •78 Назовите перспективные технологии хранения данных
- •79. Кто отвечает за сохранность данных и как это делается?
73 Назовите характеристики технических носителей
Для хранения данных используется флэш-память, магнитооптические диски, оптические диски, HDD. Существуют специальные высокопроизводительные архитектуры для хранения больших объемов данных (СХД), способные интегрироваться в вычислительную сеть (Например, IBM TotalStorage DS8000).
Запоминающие устройства можно представить как трехзвенную систему: устройства и системы для активно используемых данных (дисковые системы), периодически используемых данных (CD/MO/DVD устройства) и данных долговременного хранения (ленточные библиотеки). Быстрые или оперативные устройства с произвольным доступом хранения служат для работы с данными, в которых пользователи для выполнения своей работы нуждаются постоянно. Это - жесткие диски, дисковые системы и RAID системы. Они имеют небольшое время доступа и самую высокую частоту обращения.
Принципиальное отличие систем 1-го и 2-го уровня от систем 3-го уровня заключается в том, что первые две - это системы произвольного доступа, а последние - последовательного доступа. Такое разделение четко определяет области их использования. При этом основные отличия систем 1-го и 2-го состоит в емкости и скорости доступа.
74 Как можно обеспечить надежность хранения данных - Многоуровневая организация данных
Надежность хранения данных можно обеспечить с помощью хранения информации на надежных носителях; создания регулярных копий данных; репликации данных на основе удаленного хранилища; создания запасного удаленного центра, имеющего зеркальное отображение основных БД; регулярного проведение тестирования средств восстановления данных. При потере данных необходимое восстановление должно проходить быстро и автоматически.
Надежность БД может основываться на применении теории методов надежности, которая позволяет получить ряд четких, хорошо измеряемых интегральных показателей. Надежная БД должна, прежде всего, обеспечивать низкую вероятность потери работоспособности. Быстрое реагирование на потерю или искажение данных и восстановление их достоверности и работоспособности за время меньшее, чем порог между сбоем и отказом, обеспечивает высокую надежность.
Это трехуровневая схема хранения:
Копирование винчестера за счет 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 |
Да |
Да |
Различные типы таблиц |
Нет |
Да |