Синхронизация базы данных отчетов

Мы создаем приложение. Теперь у нас есть база данных ms sql, в которую мы помещаем все необходимые данные. Мы хотим использовать другую базу данных только для отчетов, которая будет денормализованной версией основной базы данных, оптимизированной для быстрого поиска данных. У нас есть пара вопросов:

  1. Какой тип базы данных лучше всего подходит для работы с отчетами (SQL, RavenDB)
  2. Как синхронизировать эти две базы данных?

В качестве доступа к данным мы используем NHibernate 3.2.

Пожалуйста помоги. Спасибо


person Luka    schedule 30.06.2011    source источник


Ответы (3)


Вы можете использовать службы SQL Server Analysis Services для размещения надлежащего хранилища данных, что из вашего вопроса звучит так, как вы собираетесь. Службы интеграции SQL Server можно использовать для выполнения процесса ETL (извлечение-преобразование-загрузка), который будет заполнять хранилище и поддерживать его в актуальном состоянии.

По этому процессу уже существует масса хороших исчерпывающих руководств.

person Yuck    schedule 30.06.2011

Начните с выбора базы данных (или поисковой системы), которая удовлетворит ваши потребности в отчетности. Затем создайте процесс ETL, чтобы передавать данные в механизм отчетов и поддерживать их в актуальном состоянии. ETL означает извлечение-преобразование-загрузка, и есть инструменты, которые делают всю работу за вас, или вы можете написать свой собственный инструмент специального назначения.

Это помогает, если ваша схема БД предоставляет временную метку «последнего обновления» для каждой записи, чтобы вы могли использовать свои собственные инструменты ETL. Вам даже не нужно обновлять это, поскольку SQL Server сделает это за вас, если у вас есть что-то вроде:

CREATE TABLE Orders
(
OrderId int NOT NULL PRIMARY KEY,
ProductName varchar(50) NOT NULL,
LastUpdated datetime NOT NULL DEFAULT GETDATE()
)
person Michael Dillon    schedule 01.07.2011

RavenDB обычно не используется для отчетов. Обычной практикой является объединение данных RavenDB в структуру таблицы (с использованием индекса), экспорт ее в SQL Server и использование Crystal или SQL Reporting Services.

person Chris Sainty    schedule 30.06.2011