Хранилища данных.Вопрос к знатокам

stefankin

Помогите, плз, ответить на вопросы:
1. Основные принципы построения хранилищ данных
2. пример типичной (например, для целей построения OLAP-приложений) архитектуры хранилища

0000

Ну и где тут вопросы для знатоков? Все ответы ищутся в Википедии.
Данные по хранилищу мигрируют примерно так
1. Источники разношерстные, в простонародье гетерогенные -> 2. промежуточная область (staging) Хранилища -> 3. Хранилице (набор таблиц фактов, измерений и возможно суммированных (агрегированных) данных) -> 4. Отчетные системы
Из 1. в 2. переливают каким нибудь ETL (Extract-Transfor-Load) средством, например Informatica.
Из 2 в 3 перегоняются либо средствами самой БД, либо ETL
Отчетные системы могут либо соединятся непосредственно с БД (напр Business Object либо использоваться сторонний OLAP сервер, тогда данные из фактов и измерений надо выгружать на OLAP и отчеты коннектятся к нему.
Какие тебе принципы нужны я не понял. Можешь еще поискать по Википедии строение Звездочка и Снежинка (привед Деду Морозу!).
Нафига тебе это? Для собеседки или для зачета?

stefankin

Для собеседки =)
Слушай, а пример архитектуры?

stefankin

сорри, за глупый вопрос. Я поняла, ты описал архитектура. А вот про принципы.. я сама не понимаю, что понимается под принципами построения. :confused:

0000

Принципы построения - это разделение таблиц на факты и измерения (dimension). Для обычных БД это не характерно.
Вот кусочек из теста, который я писал, что б РусФинанс взяли. Лучше бы не писал :(
Хранилище данных – корпоративная база, разработанная для подготовки отчетов и анализа бизнес-процессов. Хранилище содержит унифицированные данные с нескольких источников. Обычно имеет условное разделение таблиц данных по типам: промежуточные, справочные, фактовые и агрегатные. Последние используются для витрин данных.
Для хранилища характерно денормализованые данные, отсутствие триггеров и ориентирование на select/insert DML операции.
Таблицы обычно связаны схемой звезда (в фактовой таблице имеются ключи, указывающие на значения из справочников; фактовая таблица является основной при формировании запроса). Расширением схемы является снежинка (по одной фактовой таблице на каждую ступеньку иерархии измерения).
Метаданные – данные о данных, содержащихся в хранилище. Содержат логику преобразований/трансформаций, а так же описание сущностей хранилища.

rastoman28

Если для собеседования, то под принципами построения хранилищ чаще всего понимаются два классических подхода — по Инмону и по Кимбаллу. Про это проще почитать в википедии.
Архитектура, которую описал , частный пример. Можно, на основании двух подходов построения, описанных выше, наворотить кучу других.
Для быстрого ознакомления ("заботать за пару часов") — зайди на olap.ru и пройдись по статьям, там вполне себе все хорошо разжевано.

0000

Не можешь порекомендовать что нить почитать по поводу хранилищ? Желательно на русском.
Я с ними работаю уже второй год, но вот в теоретическом плане нифига не подкован :(

stefankin

А почему ты написал : "Вот кусочек из теста, который я писал, что б РусФинанс взяли. Лучше бы не писал "
что в этом кусочке не так? или тебе Русфинанс не понравился?

0000

РусФинанс не понравился. Че, туда хочешь что ли?

Marikun

Очень хорошая подборка материалов по хранилищам данных на сайте Лиссянского

0000

Увы, сайт давно не обновлялся. По Ораклу вообще какой то раритет представлен.

Marikun

По Ораклу очень хороший блог Андрея Пивоварова oraclebi. На сайте Лиссянского очень хорошая подборка именно по теории ХД.

rastoman28

Уточни, пожалуйста, по поводу Oracle — интересует Oracle BI (OWB, ODI, ...) или СУБД Oracle и его возможности, использующиеся при реализации DWH и ETL (partition, matview, DBMS_OLAP, аналитика, ...)?

0000

С продуктами Oracle BI не сталкивался вообще.
Немного по хранилищам
На первом, где я работал, там была схема CIF, очень сильно использовалось партицирование и субпартицирование (индексирования совсем нет мат.вьюхи тока для справочников, ну и ранжирующая аналитика (DENSE_RANK, PARTITION BY). OLAP пакеты вроде никто не использовал, поскольку выдаются плоские отчеты.
На текущем месте - схема BUS. Используются матвьюхи, для отображения данных продуктивных систем (с тем же успехом можно было бы использовать обычные таблицы на стороне хранилища и переодически их дополнять партицирование не используется (нафиг не нужно при такой схеме и копеечных объемах; используются индексы с вышеуказанных матвьюх все ETL процессы нафигарены в пакетах (я собственно занимаюсь их переводом на Informatica аналитику не видел пока еще, возможно ее нет; функции OLAP выполняет SA сервер от MS через посредника MS SQL Server.
Вообщем ничего хитрого не используется.

Marikun

Где, работаешь, если не секрет? Какой-то банк?
Комбинация из Информатики, Оракла и MS SQL+MS AS кажется необычной... А что используете в качестве front-end?

0000

Так же написал выше, что в РусФинанс работаю.
MS SQL используется видимо потому как OLAP на MS SA реализован. Последний хорош тем, что в качестве отчетов позволяет использовать обычный Excel (требуется тока установка Add-ins).
Я недавно там работаю и еще не успел узнать с какого бодуна там такая длинющая цепочка.
Оставить комментарий
Имя или ник:
Комментарий: