Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 1C: экстракция и трансформация данных в "снежинку"  [new]
bascomo
Member

Откуда: Москва
Сообщений: 113
Привет,

кто-нибудь сталкивался с механизмом (чьей-либо разработкой), который бы выполнял следующее:
1. Экстракция данных из ряда типовых конфигураций 1С на основе метаданных,
2. Агрегация их и укладывание их в хранилище
3. Создание ключей/индексов?

Видение того, как это работает:
1. Выбираются объекты и их нужные поля (не все подряд) по псевдонимам,
2. Механизм строит запросы к различным базам, конвертируя псевдонимы в физические поля,
3. Агрегирует информацию в целевые объекты,
4. Строит "снежинку",
5. Строит индексы

Кроссверсионный, для 7.7-8.2 версий 1С

Или придётся писать самому? Скорее всего, но вдруг кто-то заморачивался?


Может быть, какой-нибудь ETL вроде Pentaho? Но там же ручками всё придётся.
А в 1С уже хранится информация о том, что там за объекты есть и как они друг с дружкой связаны.

Собственно, не велика проблема, если бы была одна база данных - но их больше 50, и писать запросы одной структуры для каждой, возвращающие один и тот же набор данных - уныло, поскольку копипаст не пройдёт: псевдонимы объектов и полей одинаковы, но физические имена таблиц и полей различаются.
14 авг 15, 19:08    [18019889]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Voyager_lan
Member

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

Конечно. И писали и делали на более чем 100 базах :)
Руками все равно придется делать, т.к. обработка решает задачи на стороне источника данных
14 авг 15, 19:44    [18020004]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Jurii
Member

Откуда: Moscow http://cognos.narod.ru http://ai4you.gr8.com/
Сообщений: 3038
2 bascomo:

Мне приходилось автоматизировать некоторые операции, главным образом - по автоматическому формированию необходимых SQL-запросов для нескольких десятков баз 1С, в которых физические названия таблиц и полей - разные, а псевдонимы - известны заранее.
14 авг 15, 21:35    [18020368]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33093
Блог
bascomo,

1) обработка, которая генерит представления с человеческими именами на основе метаданных
2) пакет загрузки, где имя базы и имя сервера параметризировано

все
15 авг 15, 11:44    [18021827]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
SpellBuilder
Member

Откуда: р.Москва, д.МО
Сообщений: 1913
Резюмирую, в связи засилием 1С, делали почти все и ничего сложного в принципе нет. В некотором ПО даже коннекторы по 1С8 есть.
17 авг 15, 16:54    [18029748]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Shtock
Member

Откуда: СПб
Сообщений: 3005
Мы писали сами. Кури планы обмена - это наше всё.
18 авг 15, 10:02    [18032251]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
bascomo
Member

Откуда: Москва
Сообщений: 113
Написал решение из 3-х кусков:
1. C#, который вытаскивает метаданные из произвольного числа баз 1С
2. C# GUI, где галками определяются объекты и нужные поля по именам-псевдонимам, из каких источников и в какое местоположение сложить
3. C# ETL, который берёт настройки по шагу 2 и делает всю работу
5 июн 18, 22:05    [21471223]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33093
Блог
bascomo,

Все это добро поддерживать нужно, причем не факт, что etl-щик буде знать c# и 1с.
Гораздо проще держать простейшую 1с обработку, которая в указанной базе создаст кучу представлений на основе объектов 1с.
5 июн 18, 23:40    [21471353]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2032
Критик,

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

bascomo,
как 3 шаг справляется с обходом сотни источников (источник = 1 база). параллелить умеет? умеет-ли определять обновленные/удаленные/новые или валит тупо весь источник на цель? что с общими для всех справочниками?
6 июн 18, 09:14    [21471655]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
alexdr
Member

Откуда:
Сообщений: 214
bascomo
Написал решение из 3-х кусков:

Детали будут, или так, похвастаться?
6 июн 18, 10:36    [21471845]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 2166
ShIgor
Критик,

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

Я Вам одну умную вещь скажу, возможно, достаточно неожиданную. Все view должны пересоздаваться вручную, ничего автоматического быть не должно. Когда на 1С накатывается новая конфигурация - все view должны ломаться обязательно. И вдумчиво исправляться только ПОСЛЕ письма пользователей конкретной базы 1С, что именно поменяли в конфигурации.

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

То есть автоматизировать МОЖНО. Но НЕ НУЖНО.
6 июн 18, 12:16    [21472227]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33093
Блог
Andy_OLAP,

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

а в моем - команда первичного источника поддерживает и интерфейс выгрузки (обработку + те самые вьюхи), и, если что, виноваты они
6 июн 18, 12:46    [21472327]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 1827
Andy_OLAP,

+ (условно) если на 10 изменений, допустим есть одно ломающее логику (с воплями пользователей)
в вашем варианте получается 10 часов работы программистов vs 1 час работы пользователей

нет, если бизнес готов увеличивать расходы ради максимальной минимизации ошибки (причем последние проценты этогро, как все знают дороже всего стоят) то да..., но обычно бизнесу проще с пониманием отнестить "внесли изменения - в отчетности что-то поехало - программисты отчетности быстренько исправили)
6 июн 18, 14:34    [21472781]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 2166
StarikNavy
обычно бизнесу проще с пониманием отнестить "внесли изменения - в отчетности что-то поехало - программисты отчетности быстренько исправили)

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

Так что пусть оно лучше ломается как молоденькая девушка на первом свидании.
6 июн 18, 17:03    [21473464]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 2166
StarikNavy
в вашем варианте получается 10 часов работы программистов vs 1 час работы пользователей

Нет, в "моем" варианте получается 10-20-30 часов осмысленной работы программистов с перепиской с пользователями отчетов vs 1 час работы "мартышек", которые документацию на отчеты получили, а что там "внутри", никто не знает и знать не хочет.
6 июн 18, 17:05    [21473471]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
alexdr
Member

Откуда:
Сообщений: 214
Критик
Гораздо проще держать простейшую 1с обработку, которая в указанной базе создаст кучу представлений на основе объектов 1с.

В таком решении, мне кажется, есть один "слабый момент". ETL-щик зависит от добросовестности "запускателя обработки". Забыл/не забыл, запустил/не запустил. Запускать когда? При каждом новом "чихе" в конфигурации или только при изменении модели хранения данных? Я видел/пользовался такими решениями. Обычно, обновление вью происходит со значительным запозданием по сравнению с изменением модели хранения данных. Это происходит тогда, когда обработка запускается вручную, когда ее запуск ничем не регламентирован.

Правда, как вариант, можно ее запуск зашедулить и обновлять слой представлений на ежедневной основе - DROP VIEW/CREATE VIEW.

То, о чем написал bascomo, в части чтения метаданных 1С и построения на этой основе слоя представлений, можно запихнуть в SSIS-пакет и управлять его выполнением также, как можно управлять выполнением любого другого SSIS-пакета имея при этом "самый свежий" актуальный слой представлений, полностью отражающий текущую схему хранения данных 1С.

Andy_OLAP
Все view должны пересоздаваться вручную, ничего автоматического быть не должно.

Это, конечно, жесть, на мой взгляд. Дорого, долго и неэффективно. А главное, ни от чего не страхует.
7 июн 18, 12:21    [21475476]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 1827
Andy_OLAP
бизнес-решения уже по кривой отчетности приняли, кому теперь тумаков развешивать

ну, грамотные кадры должны не только в IT , но у тех же фининстистах сидеть
7 июн 18, 12:59    [21475699]     Ответить | Цитировать Сообщить модератору
 Re: 1C: экстракция и трансформация данных в "снежинку"  [new]
.Евгений
Member

Откуда:
Сообщений: 324
bascomo
Написал решение из 3-х кусков:
1. C#, который вытаскивает метаданные из произвольного числа баз 1С
2. C# GUI, где галками определяются объекты и нужные поля по именам-псевдонимам, из каких источников и в какое местоположение сложить
3. C# ETL, который берёт настройки по шагу 2 и делает всю работу

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

а в моем - команда первичного источника поддерживает и интерфейс выгрузки (обработку + те самые вьюхи), и, если что, виноваты они
Andy_OLAP
А на практике такая формула получается совсем некошерной - "внесли изменения - отчетность несколько дней получалась кривая - никто не знает и не понимает и не помнит, какая именно кривая - бизнес-решения уже по кривой отчетности приняли, кому теперь тумаков развешивать, никто не знает - отчет в госорганы из кривых данных уже улетел, купили банку вазелина, ждем комиссию с проверкой".

Вечная тема. Развитая СККД на входе ХД значительно облегчает жизнь.
7 июн 18, 14:15    [21476059]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить