2009-11-26 27 views
3

一位客戶希望我將1000億條記錄複製到一個空的Oracle數據庫中。幾乎所有記錄都有大約6個字段,其中只有一個是varchar字段,其中99.99%的這些varchar字段包含空值。他希望每天都這樣做。需要什麼樣的Oracle服務器,並且有什麼特別的東西需要記住?Oracle中每天有100億條記錄 - 這是一個問題嗎?

+6

一天有1000億條記錄?這個客戶的名字是什麼,「埃施朗」? ;) – Xiaofu 2009-11-26 09:15:41

+2

另外,您可能想嘗試ServerFault姊妹站點http://serverfault.com以獲得更多管理員類型的事情,因爲您的主要挑戰將是Andrew在下面提到的基礎架構。 – Xiaofu 2009-11-26 09:25:00

+0

只是爲了澄清:1000億記錄將被複制到EMPTY數據庫。我不打算在數據庫中擁有超過1000億條記錄。主要原因是複製(僅複製已更改的記錄)不是一種選擇。 – 2009-11-26 11:52:47

回答

18

每天有100億條記錄相當於每秒輸入約1,157,407行。是的 - 這是一個重要的問題,這不是獲得真正答案的地方 - 如果您有這些數據數量和硬件的非常大的預算,那麼請直接與Oracle溝通,讓他們參與項目。

+0

+1正確。這個項目非常龐大。 – Christian13467 2009-11-26 10:55:29

+0

經過短暫的討論後,這個想法被放棄了,取而代之的是更簡單的事情。 – 2009-11-27 06:07:35

+0

聽起來很不錯! :) – 2009-11-27 12:13:09

5

如果這是你有,那麼第一件事,我會建議將與他們一起工作,瞭解客戶的真正需求這項技術要求背後的業務要求,如果他們有足夠的預算來滿足技術要求的話。然後檢查是否有比滿足上述技術要求更好的滿足業務需求的方式。原因如下:

要問這會運行多久,併購買大量的磁盤空間?這是增量還是覆蓋?

每天一年,或每天爲未來20年等

即使假設每個字段的大小隻有一個字節,即在每天約有1/2 TB的作品出來。如果它每天都是一組不同的記錄,那麼就會加起來。

然後看看導入端。這又是一個奇妙的每秒行數。

+0

業務需求很簡單:每天在Oracle上提供另一個數據庫中的數據。出於其他原因,使用複製進行優化不是一種選擇。 – 2009-11-26 10:10:23

+1

好 - 所以你每天都要看一份拷貝(即每天不要超過1000億*新記錄)。在這種情況下,這更像是一個報告複製品? – 2009-11-26 10:17:19

+1

我想我所質疑的業務需求是他們之後需要處理的數據。他們是否需要那裏的所有數據?它可以在插入之前進行轉換,以幫助他們實現目標?它可以處理源數據庫等嗎?源數據庫中的數據每天更改多少。每天加載增量Feed會比這種規模的每日滿載更容易。如果真的需要這種規模的每日滿負荷,那麼我們正在討論一個非平凡的要求,正如其他地方建議的那樣,應該與供應商 – 2009-11-26 13:26:07

2

每天有100億條記錄!我懷疑客戶真的需要這個。問他爲什麼,你可能會找到一個替代解決方案。

如果事實證明我錯了,您的客戶真的需要這個,我很好奇原因!

+0

我不確定客戶是否知道所涉及的數據量,但他們願意花錢購買,所以問題更像這樣:它會多昂貴。 – 2009-11-26 11:54:19

相關問題