Arhn - архитектура программирования

Перемещение данных из производственной базы данных в хранилище данных (SQL Server)

Мы разрабатываем модуль отчетности для нашего программного обеспечения, и поэтому нам необходимо переместить некоторые данные из производственной базы данных системы в базу данных хранилища данных, которая будет использоваться в качестве источника данных для отчетов (отчеты SQL Server).

Схема в рабочей БД довольно старая, поэтому, как только у нас появятся данные в БД DW, нам потребуются некоторые дополнительные поля (например, вычисление правильного столбца даты и времени из целых столбцов «дата» и «время» в рабочей базе данных). (Не спрашивайте, он старый.)

Мы внутри обсуждаем, как это сделать эффективно. Прямо сейчас это реализовано в ужасном задании SSIS, которое в основном разрывает всю базу данных DW каждую ночь и снова создает ее из prod db, выполняя преобразования данных по ходу дела. Это не очень хорошо масштабируется.

Я изучал использование «более новых» технологий, таких как, например, репликация SQL Server для более детального перемещения данных.

Мои вопросы по этому поводу: - С репликацией часть «перемещения данных», очевидно, решена, но не часть преобразования данных. Я знаю, что могу создавать триггеры обновления в базе данных DW, но все триггеры, связанные с таблицами, похоже, стираются всякий раз, когда я выполняю повторную инициализацию подписки, что затрудняет настройку.

Я не ищу здесь точного ответа, скорее намек на то, в каком направлении двигаться. Извините, если вопрос немного размыт.

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

Репликация заинтриговала меня, потому что она полностью абстрагирует всю «дилемму» CRUD при перемещении данных, но вы можете быть правы — SSIS все равно будет лучше, если логика SSIS создана немного умнее, чем сегодня.

Данные могут быть довольно большими, поэтому стирание и повторный импорт всего, что мы делаем сегодня, определенно является проблемой, требующей решения.

20.02.2013

  • вы изучали Медленно Меняющиеся Измерения?? Проверьте это в Википедии, так как для этого есть разные формы... Может быть, это просто шаг в правильном направлении для вас (хотя это не обязательно отвечает на ваш вопрос) 20.02.2013

Ответы:


1

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

Я думаю, что SSIS — это то, что нужно, я имею в виду, именно поэтому он существует.

Поскольку вы воссоздаете БД при каждой загрузке, и если количество вычислений и изменений невелико, и вам не нужно выполнять поиск, чтобы получить суррогатные ключи из естественных ключей, вы можете создать представления в своей основной базе данных, чтобы попытаться имитировать структура целевой базы данных, чтобы вы могли выполнять прямые вставки (в значительной степени исходный компонент, сопоставленный с компонентом назначения)

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

20.02.2013

2

Просто краткое обновление по этому поводу: кажется, что нам нужно изучить функциональность CDC SQL Server, эта функциональность хорошо интегрируется с SSIS. Спасибо за подсказку о медленно меняющихся измерениях и SSIS!

20.02.2013
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..