2011-02-10 121 views
5

我正在管理一個相當龐大的數據庫,這個數據庫的複雜性和設計已經從單一的應用程序數據庫中增加。現在有計劃添加第五個應用程序,並攜帶它自己的模式和特定數據。我一直在研究SSO解決方案,但那不是我真正想要的。我的目標是擁有一個客戶註冊點,登錄和授權點。一個用戶數據庫服務於多個應用程序數據庫

理想情況下,每個應用程序都會請求身份驗證,並授予多個應用程序的授權,然後應用程序將連接到適當的數據庫進行操作。我沒有親身體驗這種分離程度的經驗,因爲一個數據庫多年來一直在毫無問題地攪動着。任何最佳實踐的論文,將不勝感激:)

我會設想,維持共享數據和核心數據庫 - 客戶/公司/產品

  1. 核心表和主鍵 - 要保持參照完整性應我在每個「應用程序」數據庫中有一個較小的複製表。有哪些方法可以在各種數據庫之間共享密鑰並確保參照完整性?

  2. 複製 - 兩個訂戶當前正從生產數據庫中提取數據,其中數據隨後分批生成DW解決方案進行報告。我是否會走上一條可能導致挫敗感的道路?

  3. 數據完整性 - 我怎樣才能確保例子: DATABASE_X.PREFERENCES.USER_ID =總是引用= CORE_DATABASE.USERS.USER_ID

  4. 報告 - 我願意渡過什麼類型的障礙將多個數據庫中的數據複製/轉換成一個報告數據庫?

  5. 白皮書 - 任何人都可以在實踐中找到對此策略的很好的參考?

感謝

回答

1

幾個網址給你。橫向擴展實現可以變化很大以適應需求,但希望這些可以幫助您。

http://blogs.msdn.com/b/sqlcat/archive/2008/06/12/sql-server-scale-out.aspx

這一個是2005年中心卻是非常好的 http://msdn.microsoft.com/en-us/library/aa479364.aspx#scaloutsql_topic4

這一個很好的解決方案報告... http://msdn.microsoft.com/en-us/library/ms345584.aspx

給你分析服務一個太:) http://sqlcat.com/whitepapers/archive/2010/06/08/scale-out-querying-for-analysis-services-with-read-only-databases.aspx

0

我創造了這樣的事情在幾年前使用視圖和存儲過程中的數據,使從主數據庫到下級數據庫。這將允許您很容易地將這些主表連接到其他從屬表中。

+0

嗨,感謝您的回覆!當你說引入時,是指將主數據庫數據的一個較小子集持久副本創建到每個下級數據庫或通過sp和視圖維護的虛擬鏈接。我所要求的原因是因爲我越想越想爲下屬中的每個主數據庫表創建一個「表或鍵」似乎是合理的。完整性。 – 2011-02-10 15:26:39

+0

我所做的就是將主數據留在主數據庫中,並在必要時引用。我不記得您是否可以在數據庫中進行參考性完整性,但是我將它們用作foriegn密鑰。 – smcdrc 2011-02-10 16:31:54

0

你看過使用RAC嗎?您可以有多個物理數據庫,但只有一個邏輯數據庫。這將解決您的所有完整性問題。並且您可以爲報告預留節點。

0

不要扔掉有單獨的應用程序和Web服務通過(式的)請求連接的登錄/關功能的想法。我已經看到以這種方式分開的賬單/用戶註冊系統。雖然規模非常大,但這可能不是一個好主意。

相關問題