
- •Пользователя редко интересуют все потенциально возможные комбинации значений измерений. Для этого используются срезы, отображения страниц, вращение, нарезка на кубики, агрегация, детализация.
- •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]:
обнаружение неполадок и отказов;
гибкие возможности оповещения;
автоматическое исправление неполадок;
настройка на новые (нестандартные) показатели.
Как можно улучшить структуру БД?
Оптимизация структур данных
Правильно построенная модель БД позволяет избежать проблем со скоростью доступа к информации, а также обеспечивает возможность дальнейшего масштабирования БД и подключения дополнительных источников данных. Хорошо построенная модель данных может сделать систему быстрой, гибкой и функциональной. Критериями оптимальности модели БД являются скорость поиска, уменьшение числа связей таблиц, стандартизация структур данных. Модель БД должна содержать структуры таблиц, отражающие измерения во времени или жизненный цикл объекта хранения в БД, а также статические свойства объектов (атрибуты метаданных). Избегайте добавления новых полей в БД, иначе рано или поздно экран ввода информации будет представлять собой форму с множеством полей. А главное никто не будет заполнять все поля этой формы. Модели данных должны быть построены для физического уровня хранения данных, усвоения данных на уровне бизнес-логики и для презентационного уровня, рис.1.
Рисунок 1 - Схема уровней представления данных [12]
Физический уровень отвечает за сбор информации из используемых источников данных, их очистку, агрегацию и загрузку в БД. На проектирование физической модели БД влияют следующие параметры СУБД:
размер табличных пространств для хранения таблиц, индексов, полей BLOB;
кластеры и их параметры;
размер словаря данных, включая все хранимые процедуры, функции, триггеры, пакеты, команды SQL;
управляющие файлы;
файлы журнала работы процессов;
интенсивность потока запросов, модифицирующих данные и индексы;
файлы временных табличных пространств (для хранения временных таблиц, которые строятся, например, при выполнении group by, а также других временных объектов);
интенсивность потока запросов, инициирующих создание временных таблиц;
потоки транзакций read-write, read-only, объем модифицируемых и считываемых ими данных, характеристики параллельной работы транзакций (какие и сколько их);
количество приложений, работающих параллельно с БД;
количество соединений с БД для каждого приложения;
файлы параметров старта ядра СУБД;
загрузочные модули ядра и утилиты СУБД;
входные и выходные данные, генерируемые пользовательскими программами;
скрипты управления СУБД.
Уровень бизнес-логики преобразует данные из структур физического уровня в структуры, предназначенные для решения конкретных задач. Здесь происходит вычисление показателей и индикаторов, строятся иерархии, и для каждой предметной области связываются в схемы, используемые в ней таблицы фактов и метаданных. Правильно построенная модель бизнес-логики обеспечивает конечных пользователей полноценным для решения поставленных задач набором показателей, а также позволяет добавлять новые предметные области и описывать дополнительные объекты [2,3].
Модель бизнес-логики является самым сложным объектом БД. Модель бизнес-логики должна быстро адаптироваться под требования бизнеса, повышать в конечном итоге его успешность. Модель должна позволять оперативно создавать и изменять сотни показателей, измерений. Аналитик должен достаточно быстро выбрать список необходимых показателей и затем очень долго подбирать набор условий, которыми он хочет ограничить выборку и в разрезе которых рассчитать эти показатели. Причем сначала он использует одно условие, затем, увидев результат, накладывает дополнительное условие и т.д. Таким образом, оптимальность модели во многом зависит от того, насколько быстро аналитик сможет определить набор условий в виде списка показателей, которыми он хочет ограничиться. Для каждой задачи рекомендуется создать отдельное view-представление показателей и индикаторов, действительно необходимых для ее решения [6]. На уровне модели бизнес-логики можно проводить расчет показателей, алгоритм вычисления которых может изменяться. Такой подход позволяет избежать проблем с показателями, которые в разных случаях должны рассчитываться по-разному, а также повысить скорость и удобство работы конечного пользователя, предоставляя ему действительно необходимый для поддержки решения набор атрибутов.
Презентационный уровень содержит показатели, переведенные в понятия конкретной предметной области. На этом уровне подготовленные и рассчитанные на уровне бизнес-логики показатели проецируются в соответствующие отчеты для конечных пользователей.
Рекомендации. Создавайте стабильные и легко поддерживаемые структуры. Сведение нескольких таблиц к view-представлению означает, что большинство изменений затронет только одну таблицу. Рекомендации по использованию структур данных [1]:
храните множество используемых классификаторов в одной таблице за счет добавления нового атрибута «Идентификатор классификатора»;
используйте счетчики повторяющихся групп в иерархических структурах данных;
применяйте многомерные структуры при необходимости создания множества таблиц для родственных объектов и словари атрибутов для обозначения свойств атрибутов;
создавайте каталоги данных для организации хранения и поиска объектных файлов (документов, графических файлов, др.);
типизируйте структуры данных для временных рядов, сеточных данных, каталогов;
разрабатывайте обобщенные атрибуты данных, например, вместо создания для каждого произведенного товара своего имени атрибута (количество компьютеров, ТВ, холодильников, др.), используйте следующие атрибуты: Товар: тип, Товар: объем, Товар: единица измерений;
не детализируйте сущности, а создавайте общую концепцию и выделяйте основные сущности;
описываемые сущности храните в XML-схемах, что позволяет добавлять объекты и атрибуты без вероятности потери ранее записанных данных и без необходимости глубоко изучать предметную область;
для всех сущностей выделяйте общие поля (идентификатор, дата/время создания, дата/время редактирования, автор, в том числе поля для организации связи между сущностями и т.д.);
пользовательский интерфейс создавайте в виде синхронизированных атрибутов на основе их значений в БД.
Какие методы оптимизации можно применить?
Основными направлениями повышения эффективности работы БД являются: оптимизация производительности БД, оптимизация кода, оптимизация работы СУБД, оптимизация структур данных, автоматизация мониторинга работы БД.
Оптимизация производительности БД
Производительность СУБД оценивается:
временем выполнения запросов;
скоростью поиска информации в неиндексированных полях;
временем выполнения операций импортирования БД из других форматов;
скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
максимальным числом параллельных обращений к данным в многопользовательском режиме;
временем генерации отчетов.
Оптимизация кода запросов
Ресурсоемкие операции это запросы, содержащие операторы DISTINCT, UNION, MINUS, INTERSECT, ORDER BY или GROUP BY, которые заставляют СУБД выполнять операцию сортировки. Оператор DISTINCT требует выполнить одну операцию сортировки, другие операторы заставляют ядро выполнить как минимум две операции сортировки. Всегда следует искать другие пути выполнения подобных запросов. Большинство запросов, содержащих UNION, MINUS и INTERSECT, могут быть выполнены иными способами. Не делайте ненужных объединений (joins).
Первым шагом в оптимизации запроса должно быть исключение полного сканирования таблицы. Для первоначальной оптимизации запросов рекомендуется использовать команду EXPLAIN PLAN. Использование индексов в запросах оправдано, если запрос извлекает меньше 15% строк из таблицы. Во всех остальных случаях полный просмотр таблицы (Full Table Scan FTS) будет работать быстрее.
Одна из наиболее медленных команд в SQL это команда UPDATE. Это является следствием того, что большинство согласованных изменений в таблицах требуют полного просмотра таблиц. В результате этого эти операции являются ресурсоемкими и очень медленными, когда таблицы слишком большие.
Оптимизация работы СУБД
Для оптимизации работы СУБД существует несколько способов, это:
блокировка доступа к данным при наличии конфликтующих одновременных обращений;
использование серверов приложений;
эффективное использование оперативной памяти и памяти на дисках;
правильный выбор размера буфера ввода/вывода;
кэширование данных;
повышение эффективности работы сети;
работа с объектными файлами.