您在這裡

i3原創:用Drupal 6實現千萬條記錄和300多個子站方法(一)

i3server's 的頭像
i3server 在 2009-03-18 (三) 02:53 發表

用Drupal 6實現1000萬記錄和300多個子站http://www.86-00.com城市分類黃頁

是一個有超過千萬條記錄及300多個城市子站的網站,如何Drupal實現。

項目要求:
城市分類黃頁是定位中國300多個城市分類企業信息網站。要求每個城市可以用子域名訪問,並顯示相應城市內容。如東莞分類黃頁 , 廣州分類黃頁等。

企業資料超過1000萬,管理員要對所有城市新增資料容易管理。

我製作時要解決的問題問題分別是:
1.過1000萬條記錄用Drupal的node能否承受,用什麼方法解決。
2.如何實現300多個子站,並關聯到相應的城市數據中。
3.服務器資源有限,如何用boost為300多個子站實現靜態負面。

我希望實現的方法盡裡簡單,以下將會分3篇分別說明以上實現的方法:

(一)過1000萬條記錄用Drupal的node能否承受,用什麼方法解決:
如方便管理想過將1000萬條企業資料記錄都導入到node中,但這個項目只有1台服務器,資源相當有限,這樣做搜索資料時可能很慢。所以只有將每個城市分別有自已的企業資料數據表,而其他的數據表共享。

這樣300多個子站都可以共用一套Drupal數據表,只有自己城市的企業資料表才是不同。這個做之後,最大的企業數據表就只有70 萬條記錄如: 上海分類黃頁,這樣相對來說會快些。

但由於這樣300多個城市,有會員提交企業資料時如果知道。所以自定義一個模組,用來記錄會員向那個城市提交資料,並進行管理。這樣就可以一個管理員管理300多個子站。

小結:由於服務器資源問題,將1000萬條記錄分為,300多個數據表而沒有將所有資料都放在node中,這樣將無法自動用到node的一些功能,需要自己編寫模組附加。由於世事總難完美,只有適合自身要求才是好。不過其他子站發的信息都將會統一用node表中。

城市分類黃頁是用Drupal 6最簡單的模組,只用了核心的模組和boost模組,和我自己編寫的2個簡單模塊實現。有較多的不足之處敬請指教。

下篇:用Drupal 6實現千萬級記錄和300多個子站方法(二)
用apache泛域名實現子站及關聯數據表,敬請留意,謝謝。

-------------------------------------------
By i3server
i3server.blogspot.com
www.86-00.com

很棒的經驗分享, 很讚的 drupal實做! 頁面反饋速度很快說!

千萬筆規模的資料, 是放在同一台機器上對嗎?
因為有使用了 boost模組轉成靜態
加上看起來這些企業的資訊更動的頻率其實蠻低
有沒有試過通通導入到 node 資料表, (若是 mysql機器的 RAM夠大)
由於已經轉成靜態頁面速度說不定也不會太慢喔
這樣就可以用到 node本身的進階功能了
假如進一步將 boost放的資料從硬盤移動到RAM裡面 (RAMDISK)
respone 速度還可以更快!