четверг, 16 января 2014 г.

Импорт данных с точки зрения бизнеса

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

1. Первоначальный/разовый импорт

Без первоначального импорта данных редко обходится внедрение любого нового решения, которое приходит на смену старому.

Часто бывает, что старое решение использует разнородные (или как модно говорить - гетерогенные) источники данных. Это могут быть несколько СУБД, файлы Excel или даже просто текстовые файлы. Но даже в случае, когда источник данных - единственная БД того же производителя, задача может быть не очень тривиальной, учитывая различия в структуре данных.

Обычно для первоначального импорта в MS SQL Server используются Integration Services, BULK INSERT (или утилита командной строки bcp) или написанный специально для этой задачи программный код. Подробнее об этих технологиях будет рассказано далее.

2. Интеграция с помощью БД

Как вы наверняка знаете, часто требуется интеграция между несколькими программными продуктами (часто даже входящими в одно решение от единственного производителя).

Один из вариантов (хотя и не самый распространённый) - интеграция с помощью БД. Интеграция может происходить разными способами:

  • реализуется обмен данными между разными БД;
  • создаются представления, возвращающие данные из другой БД;
  • приложения дорабатываются таким образом, чтобы обращаться к дополнительным БД за информацией.

Как правило, для интеграции с помощью БД используются прямые запросы, Linked servers или программный код.

3. Периодический импорт для отчётности (хранилищ данных)

Одна из самых интересных и сложных задач для импорта данных - периодический импорт для отчётности. Правда, такой интересный аспект как проектирование хранилищ данных (data warehouse) к импорту не относится, тем не менее и при импорте хватает сложных задач.

Основная сложность в том, что периодический импорт должен решать те же проблемы что и первоначальный импорт, при этом более интеллектуально, с учётом данных, внесённых во время предыдущего импорта.

Учитывая вышесказанное, для периодического импорта в MS SQL Server обычно используется Integration Services (или решение от поставщика, предоставляющего отчётность). Хотя, в зависимости от структуры данных и квалификации разработчиков может использоваться программный код, прямые запросы или что-то ещё.

Если у вас есть замечания, пожелания или новые темы – пишите в комментариях, твиттер или на olegaxenow.reformal.ru. Постараюсь учесть.

Комментариев нет:

Отправить комментарий