分開數據庫的好處
阿恆
有些網頁寄存計劃提供數個甚至無限數據庫,甚麼情況下我們需要超過一個數據庫?單一數據庫和分散數據庫有甚麼相對好處和缺點?
- 無須在每一個表(table)的名稱前加上「前置名稱」(prefix)以識別不同應用系統的表,這樣表的名稱簡短了,程式的代碼也簡短了,開發人員也編寫的舒服點……
- 容易管理不同系統的存取權限,把所有表放在同一個數據庫,論壇的程式可能會搞亂網誌的表,CMS 的程式可能可以讀取論壇的資料。分開了數據庫後便可以很容易地安排甚麼系統可以讀/寫哪些數據庫。
- 不同的數據庫可以設定不同的編碼,論壇的用 UTF8,銷售系統的用 Big5,自由決定,不同的系統對數據庫編碼的要求可能不同,這樣會給你多一點彈性。
- 分開數據庫比較安全,萬一論壇系統被黑客入侵,網誌系統的資料也不會洩漏。
- 若果你是一個嚴謹的開發人員,除了 production 的數據庫外,應該也有開發用和測試用的數據庫,以免在開發和測試時一些程式錯誤不小心把 production 的數據搞亂。這種三層架構(開發系統、用戶測試系統、production 系統)在開發大型項目中是標準的模式。