Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к ГОСу -общий текст.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
428.47 Кб
Скачать

133. Реализация иерархий при помощи Parent –Chield

В ячейках OLAP-куба могут содержаться результаты выполнения агрегатных функций языка SQL, таких как MIN, MAX, AVG, COUNT, а в некоторых случаях — и других (дисперсии, среднеквадратичного отклонения и т.д.). Для описания значений данных в ячейках используется термин summary (в общем случае в одном кубе их может быть несколько), для обозначения исходных данных, на основе которых они вычисляются, — термин measure, а для обозначения параметров запросов — термин dimension (переводимый на русский язык обычно как "измерение", когда речь идет об OLAP-кубах, и как "размерность", когда речь идет о хранилищах данных). Значения, откладываемые на осях, называются членами измерений (members).

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

Отметим, что иерархии могут быть и несбалансированными. Типичный пример несбалансированной иерархии — иерархия типа "начальник—подчиненный" (ее можно построить, например, используя значения поля Salesperson исходного набора данных. Иногда для таких иерархий используется термин Parent-child hierarchy. Как моделировать иерархии в реляционных БД? На этот вопрос, как правило, способны ответить даже начинающие специалисты. Нужно добавить в таблицу столбец, который будет хранить значение первичного ключа родительской строки. Будем называть такой подход "Parent/Child". Хранить иерархии в таком виде очень удобно, а вот обрабатывать – не очень.

Отметим, что несбалансированные иерархии поддерживаются далеко не всеми OLAP-средствами. Например, в Microsoft Analysis Services 2000 поддерживаются оба типа иерархии, а в Microsoft OLAP Services 7.0 — только сбалансированные. Различным в разных OLAP-средствах может быть и число уровней иерархии, и максимально допустимое число членов одного уровня, и максимально возможное число самих измерений.

134. Загрузка и преобразование данных (etl)

ETL (от англ. Extract, Transform, Load — дословно «извлечение, преобразование, загрузка») — один из основных процессов в управлении хранилищами данных, который включает в себя:

извлечение данных из внешних источников;

их трансформация и очистка, чтобы они соответствовали нуждам бизнес-модели;

и загрузка их в хранилище данных.

Некоторые продукты ETL:

SAS Data Integration Server

SAP BusinessObjects Data Integrator

Службы интеграции Microsoft SQL Server (входят в линейку Microsoft SQL Server, SSIS)

IBM WebSphere DataStage (англ.);

Oracle Data Integrator

Извлечение

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

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

Трансформирование

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

Выбор только определенных столбцов, чтобы загрузить (или выбор нулевого столбца, чтобы не загружать), перевод кодированных значений (например, если исходная система хранит единицы и двойки, можно преобразовать это в разный пол для мужчин и женщин, Получение нового расчетного значения (например, sale_amount = кол-во * unit_price), Сортировка, Объединение данных из нескольких источников (например, поиск, слияние) и дедупликация данных, Агрегация,

И другие.

Загрузка

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

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