Эта статья открывает небольшой цикл статей об импорте данных. Перед тем, как говорить об импорте данных, имеет смысл понять, какие бизнес-задачи решает импорт. Обычно функциональность импорта решает одну из трех задач, обсуждаемых ниже.
1. Первоначальный/разовый импорт
Без первоначального импорта данных редко обходится внедрение любого нового решения, которое приходит на смену старому.
Часто бывает, что старое решение использует разнородные (или как модно говорить - гетерогенные) источники данных. Это могут быть несколько СУБД, файлы Excel или даже просто текстовые файлы. Но даже в случае, когда источник данных - единственная БД того же производителя, задача может быть не очень тривиальной, учитывая различия в структуре данных.
Обычно для первоначального импорта в MS SQL Server используются Integration Services, BULK INSERT (или утилита командной строки bcp) или написанный специально для этой задачи программный код. Подробнее об этих технологиях будет рассказано далее.
2. Интеграция с помощью БД
Как вы наверняка знаете, часто требуется интеграция между несколькими программными продуктами (часто даже входящими в одно решение от единственного производителя).
Один из вариантов (хотя и не самый распространённый) - интеграция с помощью БД. Интеграция может происходить разными способами:
- реализуется обмен данными между разными БД;
- создаются представления, возвращающие данные из другой БД;
- приложения дорабатываются таким образом, чтобы обращаться к дополнительным БД за информацией.
Как правило, для интеграции с помощью БД используются прямые запросы, Linked servers или программный код.
3. Периодический импорт для отчётности (хранилищ данных)
Одна из самых интересных и сложных задач для импорта данных - периодический импорт для отчётности. Правда, такой интересный аспект как проектирование хранилищ данных (data warehouse) к импорту не относится, тем не менее и при импорте хватает сложных задач.
Основная сложность в том, что периодический импорт должен решать те же проблемы что и первоначальный импорт, при этом более интеллектуально, с учётом данных, внесённых во время предыдущего импорта.
Учитывая вышесказанное, для периодического импорта в MS SQL Server обычно используется Integration Services (или решение от поставщика, предоставляющего отчётность). Хотя, в зависимости от структуры данных и квалификации разработчиков может использоваться программный код, прямые запросы или что-то ещё.
Если у вас есть замечания, пожелания или новые темы – пишите в комментариях, твиттер или на olegaxenow.reformal.ru. Постараюсь учесть.
Комментариев нет:
Отправить комментарий