2011-06-30 52 views
1

我們正在構建一個應用程序。我們現在有一個ms sql數據庫,我們把所有數據放在需要的地方。 我們希望使用另一個數據庫僅用於報告,這將是主數據庫的非規範化版本,並針對快速數據檢索進行了優化。 有一對夫婦的問題,我們有:報告數據庫同步

  1. 什麼類型的數據庫最適合工作報告(SQL,RavenDB)
  2. 如何將這兩個數據庫同步?

作爲數據訪問我們使用NHibernate 3.2。

請幫忙。 謝謝

回答

2

你可以使用SQL Server分析服務來安置一個適當的數據倉庫,從你的問題聽起來像你要去的方式。 SQL Server Integration Services可用於執行將填充並保持倉庫最新的ETL(Extract-Transform-Load)過程。

這個過程已經有很多很好的綜合指南。

+0

感謝,將與此 – Luka

0

RavenDB通常不用於報告,通常的做法是將您的RavenDB數據平鋪到表結構中(使用索引)並將其導出到SQL Server並使用Crystal或SQL Reporting Services。

1

首先選擇能夠滿足您報告需求的數據庫(或搜索引擎)。然後構建一個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

這將無法保持更新,雖然嘗試... – gliljas