Отчет о синхронизации базы данных - PullRequest
1 голос
/ 30 июня 2011

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 30 июня 2011

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

Уже есть тонна хороших подробных руководств по этому процессу.

1 голос
/ 01 июля 2011

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

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

CREATE TABLE Orders
(
OrderId int NOT NULL PRIMARY KEY,
ProductName varchar(50) NOT NULL,
LastUpdated datetime NOT NULL DEFAULT GETDATE()
)
0 голосов
/ 01 июля 2011

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

...