一、數據庫對比
性能 學習成本 兼容
MySql MySQL更加靈活
postgreSQL
PostgreSQL
的社區支持是非常棒的,還有來自於獨立廠商的商業支持。
可靠性是PostgreSQL的最高優先級。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用
PostgreSQL的文檔非常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。
Sql語氣類似Mysql
,數據類型較多,需要學習了解
PostgreSQL不支持嵌入式應用,依然堅守在傳統的客戶端/服務器架構上,和Mysql的學習成本更高,配置上相對於MySq更加復雜. 很多組喜歡使用PostgreSQL,因為它的可靠性好,在保護數據方面很擅長,而且是個社區項目,不會陷入廠商的牢籠之中
GreenPlum database greenplum 基於postgresql關系型數據庫,語言基本和mysql相似. 發現同等資源配比條件下,GreenPlum的性能遠好於Mysql,有部分原因是得益於GreenPlum本身采用了更高效的算法,比如說做多表join時,采用的是hash join方式。
GP是在開源的PostgreSQL基礎上開發的。GP不是開源的,是商業版的,PostgreSQL是開源的,支持海量數據存儲,
線性擴展
Greenplum與其他分布式大數據產品如Yonghong Z-DataMart一樣采用了通用的MPP並行處理架構,在MPP架構中增加節點就可以線性提高系統的存儲容量和處理能力。Greenplum在擴展節點時操作簡單,在很短時間內就能完成數據的重新分布。
GreenPlum:基於PostgreSQL的分布式關系型數據庫
GreenPlum是一個底層是多台PostgreSQL分表分庫的分布式數據庫,它有如下特點
· 支持標准SQL,幾乎所有PostgreSQL支持的SQL,greenplum都支持
· 支持ACID、分布式事務
· 支持上百台集群(這一點有點不好,hadoop可以萬台)
只能在linux上安裝使用,安裝比較復雜,學習起來比較困難
二、PostgreSQL主要優勢:
PostgreSQL完全免費,而且是BSD協議,如果你把PostgreSQL改一改,然后再拿去賣錢,也沒有人管你,這一點很重要,這表明了PostgreSQL數據庫不會被其它公司控制。oracle數據庫是商業數據庫,不開放。而MySQL數據庫雖然是開源的,但現在隨着SUN被oracle公司收購,現在基本上被oracle公司控制,其實在SUN被收購之前,MySQL中最重要的InnoDB引擎也是被oracle公司控制的,而在MySQL中很多重要的數據都是放在InnoDB引擎中的。所以如果MySQL的市場范圍與oracle數據庫的市場范圍沖突時,oracle公司必定會犧牲MySQL,這是毫無疑問的。
與PostgreSQl配合的開源軟件很多,有很多分布式集群軟件,如pgpool、pgcluster、slony、plploxy等等,很容易做讀寫分離、負載均衡、數據水平拆分等方案,而這在MySQL下則比較困難。
PostgreSQL源代碼寫的很清晰,易讀性比MySQL強太多了,懷疑MySQL的源代碼被混淆過。所以很多公司都是基本PostgreSQL做二次開發的。
PostgreSQL在很多方面都比MySQL強,如復雜SQL的執行、存儲過程、觸發器、索引。同時PostgreSQL是多進程的,而MySQL是線程的,雖然並發不高時,MySQL處理速度快,但當並發高的時候,對於現在多核的單台機器上,MySQL的總體處理性能不如PostgreSQL,原因是MySQL的線程無法充分利用CPU的能力。