Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы 2013.docx
Скачиваний:
0
Добавлен:
13.01.2020
Размер:
4.38 Mб
Скачать

28. Особенности проектирования и разработки oltp и olap приложений.

OLTP - online transaction processing OLAP - online analysis processing Технология OLTP — это работа с оперативной базой данных, в которую данные вносятся, удаляются, изменяются и просматриваются — в общем обычная база. Технология OLAP — это работа с хранилищем данных (это совершенно отдельная база, в которую данные загоняются из оперативной базы и из других источников ), в которой структура такова, что по ней очень удобно анализировать данные. Там данные обычно храняться по какой-то хронологии, в смысле они отсортированны по определенной дате. Что-то берется за основу, запихивается куча параметров, от которых отходят ответвления ( получается некоторая звезда, либо снежинка, может еще что-то боле сложное ) — эти ответвления, есть нечто иное как класификаторы. Там задача ставится в том, чтобы быстро выбирать данные, в ущерб размеру ( обычно объем хранимой информации где-то около 15% от общего объема базы). Оттуда данные не удаляются, они там не изменяются, они оттуда только выбираются. Структура БД заточена под анализ (гиперкубы или реляционная модель, где в центре есть таблица фактов), отчеты и запросы не фиксированы, развитые средства для анализа (графики, диаграммы).

По-классике, методологически верно (и прочая, прочая), после создания OLTP-системы необходимо создать так называемые DataWarehouses (Хранилища Данных) или DataMarts (Киоски/витрины данных), в которые с некоторой периодичностью переносить данные из OLTP-системы. Заодно решается вопрос трансформации данных, очистки. Данные можно переносить не все и в той форме, в которой он будут нужны для многомерного анализа. И затем, уже по этим хранилищам/витринам происходит вся OLAP-вакханалия.

Краткое сравнение баз данных OLAP и OLTP

Задачи проектирования баз данных OLTP во многом отличаются от тех, которые приходится решать при проектировании баз данных OLAP. Прежде всего, в базах данных OLTP применяется нормализация для устранения повторяющихся данных в целях экономии пространства, повышения производительности операций вставки и обновления, а также достижения других преимуществ, но в результате нормализации количество таблиц в базе данных увеличивается. С другой стороны, базы данных OLAP предназначены для аналитической обработки данных, поэтому становятся более удобными ненормализованные таблицы. Дело в том, что в базах данных OLTP состав хранимых данных постоянно изменяется, поэтому структура применяемых в них таблиц должна обеспечивать повышение производительности операций вставки, обновления и удаления, но реализация этого требования в конечном итоге приводит к снижению производительности операций чтения.

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