傳統系統
(1)單數據庫,單表數據量<1000W,Hibernate+Mysql
(2)單數據庫,單表數據量>1000W,Hibernate+Postgresql
互聯網系統
(1)主從數據庫,讀寫分離,Hibernate+Mysql
(2)垂直水平切分數據庫,路由規則+Jdbc+Mysql
Mysql:用的人多,解決方案成熟,使用方便,單表數據量增大,性能降低明顯
Postgresql:相對於Mysql使用複雜一點,單表數據量增大,性能影響不大
Hibernate:對Jdbc的封裝,註解映射數據庫字段與對象的關係,支持零SQL、HQL、自定義SQL(高性能要求的地方本身寫SQL)
Mybait:對Jdbc的封裝,相對於Hibernate性能相差不遠,全自定義SQL,人員足夠多的狀況下,能夠替換Hibernate
整體,不用糾結於Hibernate、Mybait誰快誰慢,Hibernate要用10臺服務器部署,Mybait同樣要10臺,不可能說Mybait用8臺或者5臺,到了要垂直水平切分數據庫的程度,基本都是本身寫框架了。Mysql與Postgresql在單數據庫,數據量不一樣的狀況下確實有差別,Mysql有大量的實踐、方案是優點
sql