2016-03-16 62 views
0

我可以用你的幫助來設置我的數據庫結構最優化的方式(未來的證明)。 這是爲了方便根據特定客戶檔案從預訂網站獲取的數據。在此之後,我想通過主軸php來構建帶有樞軸等的儀表板以獲得見解。如何設計和準備大型併發迭代

現狀:

- 10k customer profiles per month 
- through 5 sites 
- with about 125 results 
- with 20 attributes (pricing etc) per result 

這是最小的125mio個數據爲這個第一次迭代...

繼迭代可能偏離在>#點和新的/部分重疊的客戶檔案(我猜20K )。

限制: - one MySQL database so far

我想過的列,行和表的限制,而這些是我能想到的選項。也許/希望你有更好的建議或點我一個如下:

  1. 1表的所有配置文件,不是創建每個配置文件表,並保存每行的數據(#站點,#結果,#屬性)在這一個

  2. 與1相同。但要保存每個配置文件表的行數,每個站點數據(#結果和#屬性)的blob。但是因爲我從來沒有使用特定的blob,所以我不知道如何輕鬆/難以將數據從那裏分析出去。

+0

重複的http://localhost/forums/list.php?ft = 125:643569 –

回答

0

你的第二個解決方案具有更多的併發限制比第一個做。如果兩個進程想要寫入同一個blob,那麼與分解所有內容相比,您有更多的鎖定注意事項。

首先標準化您的數據。然後,隨着你的成長,只有在你需要的地方進行規範化。規範化是一種全局優化,而非規範化既有成本也有好處。

+0

謝謝克里斯。 裏克也幫助我,以及最大行數的問題以及插入(通過加載數據)畢竟不是一個問題。 問題解決;-) – Dev