2011-01-25 72 views
0

假設您有一個任意但有限容量的關係數據庫,並且該數據庫包含一個不斷生成新事件的在線系統的歷史事件信息。數據庫應該包含用於報告目的的事件信息,但應該清除(N)天之前的事件。鑑於您有足夠的歷史信息來推斷事件發生率相對穩定且不隨時間增加或減少,您是否會設計出最佳百分比(60%,70%,80%......)豐滿度爲這個數據庫?如果是這樣,那你爲什麼選擇這個百分比?最佳數據庫完整性?

回答

1

這取決於。

那麼,稍微有點幫助,你說事件發生率是「相對穩定」的。您需要足夠的保證金來處理統計和緊急情況下的不安情況。你可以從你的歷史中得到統計數據,但緊急情況只能在你猜。

實際使用的空間量取決於它的存儲方式。在相關說明中,如果超過某種程度的豐滿度,許多文件系統會變得非常慢;您可能希望將此百分比作爲總利潤率的一部分。另外,考慮一下事件清除的粒度:事件發生的頻率如何?

另外,請考慮耗盡容量的後果。你的系統會崩潰嗎?無論如何,這個系統有多重要?你能否做緊急清除以增加額外空間?額外的容量相對於中斷的代價來說有多昂貴?

0

這不是一個數據庫設計問題,而是一個操作問題。

你是夜間維護過程(或者你還沒有過期的數據)需要保持足夠的空間容納任何合理的日常事件量。大概由於空間不足而導致的故障不是一種選擇。但你只知道你的日常音量是多少,方差是多少。如果您的平均每日交易量爲5,000,000個事件,差異爲+/- 4,000,000個事件,並且您的標準差爲2,000,000,那麼您將需要保留更多的可用空間,比如果您擁有相同的空間平均每日交易量,但方差爲+/- 500,000,標準差爲50,000。直到你有一些統計數據通知你,你只是猜測。

在Terabyte硬盤的價格低於200美元的世界裏,擔心空間不值得。從操作的角度來看,更重要的是,恕我直言,就是在數據和索引頁面上維護多少可用空間,以便儘量減少插入和更新操作的頁面拆分以及從中取得的性能。再次,您需要了解一些有關實際數據的信息才能確定。