Postgresql

在單個 PostgreSQL 集群中使用數據庫而不是模式是否會降低性能?

  • June 13, 2022

我正在使用領域驅動設計方法來劃分我的問題。幾個數據庫以低耦合或空耦合出現。

從長遠來看,它們將是不同主機上的獨立數據庫,水平擴展。但是,目前我不需要/想要如此昂貴的部署。我只是打算在單個 PostgreSQL 集群上執行整個事情。開發環境是另一個需要單個集群的明顯情況。

Chris Richardson 的作者建議在短期內使用模式,但是我發現這意味著在使用邏輯複製來解決耦合時重寫部分 SQL 程式碼。我想他是在考慮 MySQL 的 情況下使用術語模式。https://microservices.io/patterns/data/database-per-service.html

就 SQL 程式碼不變性而言,使用單獨的數據庫似乎是完美的解決方案,但是,與按模式虛擬分割的單個數據庫相比,這是否意味著單個集群上的性能損失?

我讀過這個類似的問題https://stackoverflow.com/questions/1152405/is-it-better-to-use-multiple-databases-with-one-schema-each-or-one-database-wit/1157008# 1157008但我的顯然專注於性能損失。從邏輯的角度來看,我顯然傾向於使用數據庫來分割問題。

如果不需要連接多個數據庫的數據,將數據拆分到多個數據庫是更乾淨的解決方案,並且應該沒有性能劣勢。

是的。主要問題是您不能重用連接。這意味著您將擁有更多的連接,這意味著您將使用更多的記憶體。

OTOH 獨立的數據庫意味著每個數據庫的統計數據會更小。

引用自:https://dba.stackexchange.com/questions/313300