|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Здравствуйте, Есть задача построить OLAP инфраструктуру для 1С (база на SQL Server), со средствами MS SQL Server. Думаю сделать data marts (или DWH, не важно), на которой будет имплементирован семантический модель BI, со средствами SSAS. Главной проблемой кажется ETL процесс, который не знаю как лучше сделать из 1С. Может ли SSIS счемто помочь здесь? По моему, есть следующие варианты, пожалуйста подскажите каким путем идти: 1. Писать в data mart (или DWH) прямо из 1С, т.е. реализовать всю ETL логику в 1С. Если performance не будет проблемой, то это наверно лучший вариант?.. 2. Читать прямо из БД SQL Server (используя ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo) для соответствии обьэктивной модели 1С с структурой БД) средствами SSIS?.. Какова сложность имплементации, эффективность, надёжность этого подхода? 3. Может есть другие варианты, я не догадываюсь еще? Пожалуйста помогите, спасибо заранее :) P.S.: Я не очень хорошо умею писать на русском (я не русский), не обращайте внимание на синтаксические ошибки :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 13:52 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
1) в 1с сделать обработку, которая на основе метаданных создаст представления с понятными именами, например, RНоменклатура, AПродажи и т.д. 2) ETL с помощью SSIS и/или хранимых процедур, источник - представления из пункта 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 14:00 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
1. В 1с есть, по сути, свой инструментарий для кубов. С помощью консоли отчетов аналитик может очень многое. Оно не сильно интуитивно, но умеючи - очень хорошо. 2. Если Вы хотите тащить данные из 1с - определитесь для начала, какие именно. Все - бессмысленно в большинстве случаев. 3. Я бы выгружал данные в xml/текстовый файл и клал данные в хранилище с помощью SSIS. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 14:36 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Из 1С 8.1/8.2 выталкивать данные нужных документови справочников в stage-таблицы MSSQL, далее SSIS-ом раскладываем по целевым таблицам хранилища: классический ETL с чисткой, преобразованиями, SCD, логгированием, расчетом проиводных величин и формированием витрин. MOLAP поверх витрин ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 15:05 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Alex_496Из 1С 8.1/8.2 выталкивать данные нужных документови справочников в stage-таблицы MSSQL По моему опыту - лучше вытягивать, а не выталкивать , то есть инициатор должен быть SSIS, а не обработка 1с. Так можно исключить из процесса 1с-ников, как слабое звено. Всё имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 15:23 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Ну и конечно не забываем, что 1с при регламентных работах может намертво лочить таблицы. Так что не 1, ни 2 вариант не подходят. По методу выгрузке данных я солидарен с Alex_496. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 15:24 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
DjekiНу и конечно не забываем, что 1с при регламентных работах может намертво лочить таблицы. Так что не 1, ни 2 вариант не подходят. Ну, первый вариант вполне реален, я даже знаю работающее (причем достаточно большое) хранилище, реализованное по первому варианту. Но скорость разработки при этом катастрофически низкая. К тому же фактически нужны 2 команды, одна по 1с, вторая по кубам(+ появляются совершенно лишние проблемы коммуникации). Я бы так делать стал только в том случае, если под рукой куча специалистов по 1с, и очень мало по MS SQL/SSAS (и нет возможности нанять). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 15:34 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Критик, ну этим вопросом я активно консультировался с опытными 1С-никами. Самый опытный и подсказал: создается план обмена, который выталкивает в stage только дельту (InsUpdDel - записи) при этом абракадабровые названия поелй заменяются на бизнесовые англоязычные (через вспомог.таблицу)+ проверка и уведомление об изменении метаданных 1С-таблиц. Монэсники есть, их много - и эта их сфера отвественности. Кроме того, не стоит забывать что наряду с 1С могут рядом появиться и другие системы/платформы, вобщем все по Кимбаллу ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 15:45 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Alex_496, Я согласен, что технических проблем не будет. Просто 1с-ники- это обычно другое подразделение/отдел, поэтому (как правило) будет быстрее сделать какие-либо изменения в процессе самим, если импорт в stage-зону в сфере ответственности BI-щиков. А если что-то не сработало - сразу ясно, кто виноват )) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 15:52 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
ВебСервисы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 16:10 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Огромное спасибо всем :) У меня появились вопросы: Критик1) в 1с сделать обработку, которая на основе метаданных создаст представления с понятными именами, например, RНоменклатура, AПродажи и т.д. - Критик. А можно по-подробнее об этом :) paul3103. Я бы выгружал данные в xml/текстовый файл и клал данные в хранилище с помощью SSIS. - paul310. В чем преимущество этого подхода со сравнению моего первого варианта (записать данные из 1С прямо в DWH)? Зачем лишний этап (xml/текстовый файлы + SSIS) когда можно прямо в DWH писать? Alex_496Из 1С 8.1/8.2 выталкивать данные нужных документови справочников в stage-таблицы MSSQL, далее SSIS-ом раскладываем по целевым таблицам хранилища - Alex_496. То же самый вопрос: зачем надо использовать stage-таблицы, а не переслать данные прямо в DWH? Зачем лишний этап? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 16:19 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
http://www.sql.ru/forum/actualthread.aspx?tid=520870&pg=-1&hl=1%f1%20%ee%e1%f0%e0%e1%ee%f2%ea%e0 и на формуме полно тем по 1с, поищите ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 16:32 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
TRX_ - paul310. В чем преимущество этого подхода со сравнению моего первого варианта (записать данные из 1С прямо в DWH)? Зачем лишний этап (xml/текстовый файлы + SSIS) когда можно прямо в DWH писать? Затем, что: 1. Файлы - это, по-сути, тот же стэйджинг. С вопросом "нафиг стэйджинг" лучше почитать классиков. 2. Это очень понятная постановка вопроса для людей, которые 1с ковыряют: из базы должно выгружаться вот это, в таком формате, с такой периодичностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 16:57 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
если эта ваша 1С-ка сильно "нагружена" то 1С-ки пошлют вас далеко и надолго когда вы придёте к ним с планами обмена и\или прямыми запросами в базу из скриптов\ssis... дублировать саму 1С-ку мало кто будет, а значит остаётся только дублирование на уровне базы (асинхронные мирроринг или always on) или копирование бэкапов. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 17:09 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
TRX_, в том что, данные не идеальны. Их нужно чистить, преобразовывать, увязывать с другими данными (другие системы, таблицы- подпорки) а то еще и НСИ с согласованием. Помнится, еще в начале 2000-х на семинарах Алексей Шуленин говорил: бардак на входе --> бардак в кубе (возведение бардака в степень n) TAVEM, ага, перекачайте за раз веб-сервисами сотню-другую миллионов строк ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 17:14 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
копирование бэкапов точно не пойдет, ибо, например, нет технологического окна и размеры большие ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 17:22 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Alex_496TRX_, в том что, данные не идеальны. Их нужно чистить, преобразовывать, увязывать с другими данными (другие системы, таблицы- подпорки) а то еще и НСИ с согласованием. Помнится, еще в начале 2000-х на семинарах Алексей Шуленин говорил: бардак на входе --> бардак в кубе (возведение бардака в степень n) TAVEM, ага, перекачайте за раз веб-сервисами сотню-другую миллионов строк что то я сомневаюсь что в 1с есть сотня другая милионов строк :) ну а так да, через веб сервисы тяжко будет, но я просто предложил еще один вариант :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 17:24 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
TAVEM, у нас есть ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 17:38 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Дедушкаесли эта ваша 1С-ка сильно "нагружена" то 1С-ки пошлют вас далеко и надолго когда вы придёте к ним с планами обмена и\или прямыми запросами в базу из скриптов\ssis... дублировать саму 1С-ку мало кто будет, а значит остаётся только дублирование на уровне базы (асинхронные мирроринг или always on) или копирование бэкапов. У меня вьюхи, питающие кубы, находятся на связанном к серверу 1С сервере. При обновлении кубов, сервер 1С не нагружается. Да, идет трафик, но нагрузки никакой нет. 1С не предназначено под большие объемы данных, поэтому дополнительный ETL нужен только в особых случаях, например, при вычислениях на листовом уровне. В остальных же случаях наиболее оптимальный вариант- вытаскивать вьюхами данные напрямую. Возможно, что со временем 1С начинает тормозить от больших объемов, тогда часть устаревших данных перемещают в хранилище, и к вьюшкам нужно всего лишь добавить через UNION ALL нужные таблицы из хранилища. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2012, 21:02 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
Спасибо всем за ответы, очень помогли :) Решили сделать все примерно как Критик предсказал - сделать view-шки и из них тащить с помощью SSIS в хранилище. Думаю разделить всю работу на два этапа: В первый этап будет построен data marts, и имплементирован ETL с помощью SSIS. В второй этап будет сделан кубы и вся BI семантическая модель с помощью SSAS. Теперь надо выяснить deadline-ы. Будет работать один программист (который по дорогу изучает все эти OLAP технологии, SSIS/SSAS, и т.д. :)). Как думайте, какое время понадобится для каждого этапа? P.S.: Есть еще какие нибудь советы? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 11:02 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
TRX_Будет работать один программист (который по дорогу изучает все эти OLAP технологии, SSIS/SSAS, и т.д. :)). P.S.: Есть еще какие нибудь советы?рассмотрите возможность нанять удалённо готичного спеца по MS BI (архитектора) для работы в паре с вашим прогом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 11:35 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
TRX_В первый этап будет построен data marts, и имплементирован ETL с помощью SSIS. В второй этап будет сделан кубы и вся BI семантическая модель с помощью SSAS. Я бы отталкивался от кубов, то есть: нужны такие-то кубы -> для них нужны такие-то данные -> их и импортируем в том виде, какой нужен для кубов. Результат будет быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 11:45 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
И согласен с Дедушкой. Доверить делать хранилище и кубы человеку, который будет параллельно изучать инструменты - несколько рискованно. Может и будет работать, но времени уйдет уйма. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 11:48 |
|
Как реализовать ETL из 1С для ОЛАП?
|
|||
---|---|---|---|
#18+
КритикTRX_В первый этап будет построен data marts, и имплементирован ETL с помощью SSIS. В второй этап будет сделан кубы и вся BI семантическая модель с помощью SSAS. Я бы отталкивался от кубов, то есть: нужны такие-то кубы -> для них нужны такие-то данные -> их и импортируем в том виде, какой нужен для кубов. Да, я это имел ввиду - в первый этап кубы будут определены на логическом уровне, а второй этап подразумевает их создание с помощью SSAS. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 12:17 |
|
|
start [/forum/topic.php?fid=49&fpage=4&tid=1857163]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 392ms |
0 / 0 |