2010-12-17 22 views
1

我們正在開發使用PostgreSQL的Java/Hibernate多用戶應用程序。並且我們正在將我們的數據庫遷移到多個模式(一個模式作爲一個公司); 現在我看到這個缺點數據庫的大小越來越多,即使有相同的數據:遷移之前有700MB;大約2GB後。使用多個模式的優點?

正因爲如此,我們面臨的備份/恢復問題比以前需要更多。 Q:可以避免浪費時間/空間來提高產能?或者,我們做錯了什麼?

+0

架構只是命名空間,爲什麼它比你的數據庫大小多一倍?你是否複製了所有的數據?如果是這樣,那麼這不會使數據庫完全非規範化。 – 2010-12-17 22:31:09

+0

我敢肯定沒有重複的數據我們檢查它。但有一個公共架構和私人模式爲每個公司具有相同的表 – 2010-12-17 22:41:17

回答

1

你需要做一個簡單的測試用例來證明這一點,以真正調查它。我們使用超過一千個模式來在db服務器上實現多個維基,並且它工作得很好。

我希望我有一個現在只有2GB的備份。 :)

+1

如果我創建100個新的空架構(312表),大小postgresql的數據文件夾大小增加了1.2GB。這不奇怪嗎? – 2010-12-18 17:49:36

1

你還沒有寫下你真的做了什麼。

我想你有一些你也複製過的常用數據(例如字典)。當這些數據對於每個公司都是通用的(不是定製的)時,您應該將其保留在單獨的模式中。

+0

是的,我們已經分開存儲常量和引用的公共模式。對於一個註冊(新公司)將創建一個沒有數據的私有模式。 – 2010-12-21 15:53:32