我遇到Oracle數據庫問題,我認爲這是由數據表示問題導致的。我有一個由七個不同列表組成的層次結構,需要存儲這些元素的所有獨特潛在組合。我需要存儲所有可能的組合,因爲我需要將附加信息與它們一起存儲。表示數據組合層次結構的Oracle
從歷史上看,我們一直在管理四個列表,它來到了幾千元的組合。這很好,但需求已經改變,因爲他們不願意這樣做,現在我們正在運行七個列表。在我的真實環境中,列表存儲20到200個項目。現在令人難以置信的組合總數約爲3500億。
由於我們正在試圖與這代表什麼的例子有,你可以選擇喜歡的列表:
顏色:紅,綠,藍
形狀:圓形,方形,三角形
口味:桃子,香蕉,覆盆子
這些將被存儲爲單獨的表在Oracle中一樣的顏色,形狀,口味等,我們會做的是乘法它們放在一起(通過笛卡兒連接)得到一個爆炸表:Thi這就是我們目前在Oracle中存儲的內容。
COLOUR SHAPE FLAVOUR DATA_1 DATA_2
Red Circle Peach -- these hold additional information
Red Circle Banana
Red Circle Raspberry
Red Square Peach
Red Square Banana
...
等等。
我們發現,我們不能在Oracle表中存儲數十億條記錄,並有及時對他們進行任何操作。我試圖想出不同的方式來存儲這些信息,但我的大腦一直在干擾組合的數量。有什麼我可以做不同的存儲記錄?銘記它們都是獨特的組合,我們需要將數據與它們一起存儲。
感謝您的幫助!
你真的需要存儲關於每種可能組合的數據嗎?這些3500億條信息(或700億美元,如果你每個存儲兩條信息)在哪裏呢?如果你不這樣做,並且大部分數據字段實際上都是空的,那麼稀疏表示會有多大 - 如果只根據需要存儲記錄,當數據存在要附加到組合時? – 2013-04-05 14:00:45
@AlexPoole我們不認爲我們可以用一個稀疏表示 - 沒有數據字段將是空的,用戶可以請求任何隨意 – Kieran 2013-04-05 14:28:53