2009-06-28 90 views
0

作爲我在公司擔任的角色的一部分,我被迫成爲數據庫的DBA。我們的某些表的行數已接近1億,並且我知道如何執行SQL Server的許多事情(如連接)只是在這個級別的數據中崩潰。我剩下幾個選項有關管理大型SQL Server數據庫的信息來源?

1)出去找一個有經驗的管理VLDB的DBA。這將花費我們一分錢,並以犧牲我們需要完成的其他工作爲代價。我不是一個很大的粉絲。

2)我們的大部分數據都是用於分析的歷史數據。我可以簡單地創建數據庫模式的副本,並從頭開始,對數據進行擱置,直到我找到解決問題的正確方法(這是我目前的「最佳」解決方案)。

3)聯繫開發人員社區,瞭解我是否可以充分了解大型數據庫,以便讓我們度過難關,直到實現解決方案#1。

任何人都可以提供的幫助,或任何書籍,你可以推薦將不勝感激。

+0

你也應該在ServerFault.com上提問這個問題。 – 2009-06-28 23:29:14

回答

1

這裏有一些想法,但他們都不是快速修復:

  1. 制定在大表的 數據的歸檔策略。創建 與 現有交易表格格式相似的表格和 定期將數據複製到 表格中。如果你可以用 將數據從 重新打包到tx系統中,那很好。

  2. 開發一個關係型數據倉庫 存儲大型數據集, 完整的星型模式 由事實表和 尺寸。對於 這種方法的介紹,沒有比Ralph Kimball的 Data Warehouse Toolkit更好的 書(恕我直言)。

  3. 有關人士分析,可以考慮使用MS 分析服務 預彙總,這些數據的快速查詢 。

  4. 當然,您也可以在 現有數據庫中查看 您的索引策略。請注意0​​的任何更改,因爲您可以添加索引 ,這樣可以提高插入成本和交易成本 性能的查詢成本。

  5. 您還可以在SQL Server中研究 partitioning

  6. 不要覺得不好帶來一個DBA合同的基礎上,以幫助...

對我來說,最好的辦法是,開始調查這一數據移出事務的系統如果不需要日常使用。

當然,你將需要選擇一些新技能來處理這些數據量。無論您決定做什麼,先做好備份!

您應該做的另一件事是確保您的I/O正在儘可能多的主軸上正確傳播。您的數據文件,日誌文件和sql server臨時數據庫數據文件應該全部位於單獨的驅動器上,並且數據庫系統很大。

+0

謝謝,這正是我所希望的跳躍點。 – 2009-06-29 11:34:03

0

如果你能找到一個好的DBA,他們的黃金價值是值得的。他們專注於做你正在描述的事情。如果這是一次性問題,也許你可以轉包一個。

我相信微軟提供了類似的服務。你可能想問。

0

你會想在那裏得到一個DBA,至少在合同到性能調整數據庫。

加入1億條記錄表不應該使數據庫服務器癱瘓。我們公司的客戶在我們的系統上每分鐘執行數百次(可能是數千次)。