Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 Замена DWH на бизнес модель. Как?  [new]
User2155
Member

Откуда:
Сообщений: 105
Всем привет,

я уже много лет работаю с DWH и отчетностью. Вот интересно, можно ли сделать надстройку над DWH, которая позволит работать с сущьностями, а не с таблицами? Что-то похожее есть у C#, называется EntityFramework.

Скажем, вместо 50 таблиц, сделать сущность: клиент.
Дальше у клиента набор характеристик, которые впитывают данные всех таблиц, и в дальнейшем выборки, отчеты и аналитика делаются уже с помощью сущности, а не с помощью таблиц.

У меня вопрос осложняется, т.к. клиентов миллионы и у них много характеристик. + выборки ессесно интересуют на каждую неделю и на конец месяца.

Возможно ли вообще такое?

Спасибо.
17 май 18, 22:23    [21418810]     Ответить | Цитировать Сообщить модератору
 Re: Замена DWH на бизнес модель. Как?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5113
User2155
Скажем, вместо 50 таблиц, сделать сущность: клиент.
Дальше у клиента набор характеристик, которые впитывают данные всех таблиц, и в дальнейшем выборки, отчеты и аналитика делаются уже с помощью сущности, а не с помощью таблиц.
вьюха?
17 май 18, 23:43    [21419012]     Ответить | Цитировать Сообщить модератору
 Re: Замена DWH на бизнес модель. Как?  [new]
H5N1
Member

Откуда: Yo.!
Сообщений: 15
User2155
Всем привет,

я уже много лет работаю с DWH и отчетностью. Вот интересно, можно ли сделать надстройку над DWH, которая позволит работать с сущьностями, а не с таблицами? Что-то похожее есть у C#, называется EntityFramework.

Скажем, вместо 50 таблиц, сделать сущность: клиент.
Дальше у клиента набор характеристик, которые впитывают данные всех таблиц, и в дальнейшем выборки, отчеты и аналитика делаются уже с помощью сущности, а не с помощью таблиц.

У меня вопрос осложняется, т.к. клиентов миллионы и у них много характеристик. + выборки ессесно интересуют на каждую неделю и на конец месяца.

Возможно ли вообще такое?

Спасибо.

есть. бигдата называется. клиент это развесистый avro объект в parquet файлике. фигня в том, что все равно из него приходиться витрины данных всяким BI строить, т.к. они ничего не реляционного не прочтут.
18 май 18, 00:28    [21419087]     Ответить | Цитировать Сообщить модератору
 Re: Замена DWH на бизнес модель. Как?  [new]
SpellBuilder
Member

Откуда: р.Москва, д.МО
Сообщений: 1913
User2155
Всем привет,
я уже много лет работаю с DWH и отчетностьюСпасибо.

Это как так давно работаю.
Все мало мальские систему системы имеют клиентские приложения для описания метаслоя, перевода терминов DWH в бизнес термины.
В Cognos BI, SAP BO, Oracle BI уж точно.
Хоть сейчас могу в Cognos BI, открыть framework и сделать клиентов из 50 разных систем с разными БД, опубликовать проект на портал и пользователь будет работать с одной бизнес сущность клиентов.
18 май 18, 07:18    [21419258]     Ответить | Цитировать Сообщить модератору
 Re: Замена DWH на бизнес модель. Как?  [new]
sergeyns
Member

Откуда: Москва
Сообщений: 1043
SpellBuilder
User2155
Всем привет,
я уже много лет работаю с DWH и отчетностьюСпасибо.

Это как так давно работаю.
Все мало мальские систему системы имеют клиентские приложения для описания метаслоя, перевода терминов DWH в бизнес термины.
В Cognos BI, SAP BO, Oracle BI уж точно.
Хоть сейчас могу в Cognos BI, открыть framework и сделать клиентов из 50 разных систем с разными БД, опубликовать проект на портал и пользователь будет работать с одной бизнес сущность клиентов.

Сделать то можно, вот как это будет работать ))))) - это другой вопрос, особенно если клиентов миллионы и 50 баз )))
Потому что все эти джоины будут делаться не на движке базы данных, а на движке самого Cognosа, который, по ИМХО моим наблюдениям все-таки слабоват..
18 май 18, 10:09    [21419502]     Ответить | Цитировать Сообщить модератору
 Re: Замена DWH на бизнес модель. Как?  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 443
sergeyns
Сделать то можно, вот как это будет работать ))))) - это другой вопрос, особенно если клиентов миллионы и 50 баз )))
...

Давайте разделим задачи:
  • Сделать выгрузку из 50 систем в хранилище данных. Ибо в 50 системах своя жизнь, требования, производительность, а вы тут приходите и запросами шарите по милионам клиентов. Непорядок...
  • Нарисовать модель сущностей, и затем писать запросы к ней. Тот же самый SAP BO вполне это позволяет, прячет физическую сущность от пользователя, и затем транслирует запросы от логической сущности к физической БД. И это любая БД, не SAP HANA.
  • 18 май 18, 10:40    [21419602]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    User2155
    Member

    Откуда:
    Сообщений: 105
    Давайте предположим что база одна.
    таблиц много.

    Вьюшка не спасет, т.к. данные в табличном виде не представишь.
    Представьте клиента:
    - у него есть адрес, а может быть 2 адреса, а может и три;
    - и него есть реквизиты для оплаты. А может быть несколько реквизитов;
    - у него есть куча менеджеров (с нашей стороны).
    ....

    Короче это не вьюшка, плюс конечно очень большое количество записей. Т.е. данные по клиенту должны быть как-то агрегированы заранее, чтобы последующие запросы работали быстро.

    Модель сущьностей у меня и так есть. Т.е. описания таблиц, данные хорошо очищены....
    Только ИМХО это как-то криво. Если приходит запрос от руководства, я по старинке соображаю где лежат нужные данные и делаю запросы. Запросов много, т.к. данные разные. Затем это все ложится в новую табличку и на ней строятся отчеты/кубы.

    Если бы можно было сразу к модели сущьностей запросы делать, вот тогда было бы круто, только модель не должна тормозить от большого количества данных.
    18 май 18, 11:45    [21419795]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    Дедушка
    Member

    Откуда: Город трёх революций
    Сообщений: 5113
    User2155,

    т.е. вы хотите, чтобы при появлении нового атрибута у "клиента" (например 4го адреса)
    объектная модель сАма перестроилась и подагрегировала данные по этому новому атрибуту?

    так работают кубы после добавления атрибута в схему и процессинга
    какая проблема собрать вашего клиента в снежинку?

    хотите большей "динамики" уходите на колоночные ХД и rolap
    хотите ещё большей "динамики" уходите на mpp и direct query
    18 май 18, 12:57    [21420088]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    User2155
    Member

    Откуда:
    Сообщений: 105
    Дедушка,

    как она может сама подстроится? )) Конечно надо давать описание и данные как-то затягивать.
    Куб не вариант. Представьте куб, который часов 6 процессится. К тому-же что в этом случае делать с доработками на 1-2 месяца, когда руководство хочет какое-то время отслеживать показатель и потом про него забыть - я не хочу сложный куб туда сюда пилить.

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

    Мой вопрос в том, чтобы один раз построить какую-то схему/модель данных, потом её заполнять и уже на её базе делать выборки. Да, кубы сильно похожи на то, что нужно, однако там сложно проектировать. Если у вас на экране висит 30-50 таблиц в кубе, это какой то звиздец. Классы в C# самое оно, однако они не хранят в себе данных, т.е. будут делать запросы к базе...

    Можно подробней про rolap mpp и direct query ?
    18 май 18, 13:09    [21420152]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    Alex_496
    Member

    Откуда: Moscow https://www.dvbi.ru
    Сообщений: 3622
    User2155
    Дедушка,

    как она может сама подстроится? )) Конечно надо давать описание и данные как-то затягивать.
    Куб не вариант. Представьте куб, который часов 6 процессится. К тому-же что в этом случае делать с доработками на 1-2 месяца, когда руководство хочет какое-то время отслеживать показатель и потом про него забыть - я не хочу сложный куб туда сюда пилить.

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

    Мой вопрос в том, чтобы один раз построить какую-то схему/модель данных, потом её заполнять и уже на её базе делать выборки. Да, кубы сильно похожи на то, что нужно, однако там сложно проектировать. Если у вас на экране висит 30-50 таблиц в кубе, это какой то звиздец. Классы в C# самое оно, однако они не хранят в себе данных, т.е. будут делать запросы к базе...

    Можно подробней про rolap mpp и direct query ?


    1.
    Мы делали колоночный индекс + несколько обычных индексов на внешние ключи, на популярные бизнесовые поля + партиционирование

    2.
    Например, имеется DWH на просто Oracle, которому уже тяжко справляться с нагрузкой.
    Покупается Exadata и Oraclу поверх него уже летает.
    18 май 18, 13:53    [21420281]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    User2155
    Member

    Откуда:
    Сообщений: 105
    спасибо.

    Кажется я сам ответил на свой вопрос.
    1) Таблицы с исходными данными у меня структурированы. Тут проблем нет.
    2) Поверх них надо ставить витрины данных, которые максимально обогащены всякой информацией. И вот эти витрины уже без проблем могут сидеть на колоночных индексах.

    Может тупые выводы, извиняюсь.
    Просто у меня в голове засело, что витрина данных это некая таблица, которая содержит часть нужной информации. Например, сегментация клиентов на указанную дату, или список договоров на указанную дату. А в моем случае витрина другая - там сборная солянка из всяких разных нужных мне (!!) показателей, которые можно запихать в одну строку и объединить признаком.
    Например клиент + договор + сегментация клиента + разные параметры клиента + остатки + количество чаво нибудь + каналы чаво-нибудь + все что можно забить в одну строку.

    5-6 таких витрин спасут отца русской демократии. Причем самая главная будет закрывать процентов 70% моих потребностей.
    Экзадата тоже нужна, т.к. создание витрин дело ресурсоемкое.
    18 май 18, 14:41    [21420451]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    User2155
    Member

    Откуда:
    Сообщений: 105
    ЗЫ

    много лет работал с отчетностью, но с сотнями миллионов/миллиардами строк столкнулся недавно ))) поэтому такой затуп.
    18 май 18, 14:42    [21420455]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    Alex_496
    Member

    Откуда: Moscow https://www.dvbi.ru
    Сообщений: 3622
    User2155,

    IMHO,
    витрина данных - это НЕ одна плоская таблица, в которую стянуто много чего.
    Это набор (логическое разделение) таблиц с разной степенью денормализации, посвященных определенной тематике. Это баланс между удобством, легкостью использования и обеспечением производительности (скорострельности) запросов на чтение. Кроме того, нужно не допускать "дублирование" таблиц в различных витринах.

    Живой пример одного из крупного Банка:
    Таблица остатков (основной долг, просроченный основной долг) в руб. по всем кредитным договорам с глубиной истории ~10 лет по состоянию на конец каждого месяца

    Таблица остатков (все виды остатков и начислений) в руб. по розничным кредитным договорам по состоянию на каждый день в глубину 1-2 месяца

    Таблица остатков (некоторые виды долгов) в основных валютах по некоторому подмножеству кредитных договоров с глубиной истории ~10 лет по состоянию на конец каждого месяца

    и еще несколько вариаций на ту же тему в разных подразделениях

    Хотя если подумать, то можно унифицировать в одну таблицу "Состояния договоров на каждую дату", добавив другие часто используемые показатели

    p.s.
    Exadata и им подобные стоят дорого
    18 май 18, 15:34    [21420687]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    User2155
    Member

    Откуда:
    Сообщений: 105
    Alex_496,

    По опыту получается, чем больше данных, тем меньше надо делать нормализацию.
    Т.е. стягивать все что надо в общие таблицы и накладывать на них колоночные индексы, чтобы дубликаты сжимать.
    Иначе потом придется делать join 300 млн на 900 млн, что положит любой сервер на лопатки.

    Exadata дорого? А почему?
    Если сравнить с моей зарплатой, то конечно ценик адовый, но если это крупная компания, которая должна работать с терабайтами данных, то для неё это вполне нормальная цена. Хочешь работать - покупай, не хочешь - давайте посмотрим другие варианты отчетности, но они будут совсем-совсем другие :-)
    18 май 18, 15:46    [21420735]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    казинак
    Member

    Откуда:
    Сообщений: 1061
    Alex_496
    ....
    Например, имеется DWH на просто Oracle, которому уже тяжко справляться с нагрузкой.
    Покупается Exadata и Oraclу поверх него уже летает.

    мда, какую только хрень не пишут тутошние искперты

    1)неоптимизированные sql, также повесят экзадату, как и обычный оракел,
    2)для начала нада тупо сравнить сервер с "просто оракл" и экзадату, из вашего примера, по кол-ву ядер и памяти
    18 май 18, 17:35    [21421074]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    George Nordic
    Member

    Откуда: Moscow
    Сообщений: 1030
    User2155
    Всем привет,

    я уже много лет работаю с DWH и отчетностью. Вот интересно, можно ли сделать надстройку над DWH, которая позволит работать с сущьностями, а не с таблицами? Что-то похожее есть у C#, называется EntityFramework.

    Привет! Мне кажется вопрос не про BI больше, а про управление бизнес-процессами. Но это отдельный класс систем - BPM, почитайте, может, их идеология Вас на какие-то мысли натолкнет. Потому что Бизнес-процесс подразумевает управление событиями и потоками информации.

    И, кстати, идее несколько десятков лет... Помните Rational Rose?? Еще и Soda документировать код пыталась

    Эх, мечты.... Хотя, не купи их IBM, кто знает.. И, возможно, скоро появятся новые системы и мы будем наблюдать рост интереса к системам подобного класса.

    С Уважением,
    Георгий
    20 май 18, 11:25    [21423434]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    Полковник.
    Member

    Откуда:
    Сообщений: 1699
    George Nordic,

    Георгий, не вносите путаницу. Ему всего навсего нужно натянуть об'ектную базу, базу данных умеющую работать с об'ектную н.р. КАШЕ (например), на задачи ХД (хранение и анализ). Или придумать как это сделали парни из диасофта об'ектную надстройку над базой данных.

    Он в правильном направлении роет т.к. основа ХД это бизнес процессы предприятия, зашитые в учётные системы, а не отчёты пользователей, как некоторые думают.
    20 май 18, 20:44    [21424103]     Ответить | Цитировать Сообщить модератору
     Re: Замена DWH на бизнес модель. Как?  [new]
    Полковник.
    Member

    Откуда:
    Сообщений: 1699
    User2155,

    На SAP BW похоже, но я с ним знаком только по статьям, в живую не работал.

    Иногда его используют как ХД, не имея ничего остального из SAP-a, мне попадалась статья из немецкого журнала о преимуществах такого выбора перед традиционными решениями -сразу получаешь об:ектную модель, не нужно заботиться об обработке тех же SCD при загрузке -SAP вроде бы делает это сам.
    20 май 18, 22:14    [21424269]     Ответить | Цитировать Сообщить модератору
    Все форумы / OLAP и DWH Ответить