2011-03-23 70 views
2

我需要在Oracle中設計一個表格,它將在一天內存儲2-5 TB的數據。它可以增長到200TB,當記錄超過200TB時記錄將被清除。如何設計一個可以存儲非常大的數據的表格?

它是一個可行的選擇,以保持它在OLTP,或者我需要把它轉移到數據倉庫數據庫? 請注意,在設計此表或數據庫的模式時,我應該記住這一點。

另外,請指教,如果它是一個SQL服務器,因爲我可以使用任何一個數據庫。

+0

你可能會得到http://dba.stackexchange.com/ – squillman 2011-03-23 19:56:47

回答

6

這個大小讓你進入VLDB領域(非常大的數據庫)。 在這個高度,事情根本不同。

如果沒有您的應用程序的責任的完整要求,您的問題是不能回答的。您需要針對您的應用程序DO與數據進行性能設計。

我的建議是讓別人板載誰擁有以前的經驗,或者你是接近100%,註定要失敗。

如果你與甲骨文去,它提供了幾種類型的分區,你將要非常仔細地使用。您需要爲管理目的分區(移動數據,建立索引,數據恢復)以及對查詢性能:

  • 範圍分區,例如按日期範圍
  • 列表分區,用於存儲數據的片說('SE','US','GB')
  • 哈希分區。存儲在分區中的一個數據基於哈希函數
  • 也或者,你需要有人誰知道如何構建和真正真棒I/O吞吐量配置怪獸機的上面

任意組合。你需要超過1GB/s,這在你還需要存儲200TB的時候並不是很便宜。實際上,如果那200TB只是表格數據,那麼你將需要兩倍或三倍以便能夠創建索引,聚合表格,備份等。

對不起,我不能給你一個可以使用的解決方案,但是我想確保你明白你不僅僅是建立一個高於平均水平的數據庫。這是巨大的!

3

我會先看看你的磁盤子系統,並確保它可以處理2-5 TB負荷,你每天都會做的。 Oracle和SQL Server的已分配內置的。在SQL Server中,您還可以使用壓縮以儘量減少對磁盤(不知道甲骨文)

這會不會被主要用於OLAP或OLTP存儲?

+2

這更好的答案,我只是確認Oracle支持表和索引壓縮爲好。 – Ronnis 2011-03-23 19:57:48

+0

一天2-5 TB?我會遠離索引 - 壓縮與否。如果您需要查詢它,請複製到OLAP結構。而且絕對是分區。 – JasonCoder 2011-03-23 20:06:12

相關問題