既然MySQL 8和PostgreSQL 10已經發布了,如今是時候回顧一下這兩大開源關係型數據庫是如何彼此競爭的。算法
在這些版本以前,人們廣泛認爲,Postgres在功能集表現更出色,也因其「學院派」風格而備受稱讚,MySQL則更善長大規模併發讀/寫。數據庫
可是隨着它們最新版本的發佈,二者之間的差距明顯變小了。網絡
特性比較架構
首先來看看咱們都喜歡談論的「時髦」功能。併發
業務介紹兌吧集團包含兌吧網絡和推啊網絡,兌吧網絡是一家致力於幫助互聯網企業提高運營效率的用戶運營服務平臺,提供積分商城和媒體運營服務。推啊網絡是一家互動式廣告平臺,通過多年的探索與實踐,獨創了全新的移動廣告模式,實現了廣告主、媒體、用戶多方雙贏。在推啊的廣告場景中,廣告主可得到更好的投放效果,媒體方能獲得更好的流量變現效率,受衆端具備更好的用戶體驗,目前推啊已經服務超過15000家媒體,阿里雲hbase主要服務於"推啊"的廣告業務。運維 "推啊"的總體業務流程以下圖:函數 總體產品架構廣告平臺基礎架構完善,能有效支持業務,其中核心數據平臺爲公司全部業務提供強有力的數據支撐。其中整個數據平臺根據處理業務不一樣大體分爲3個模塊:阿里雲
HBase在"推啊"使用場景HBase在推啊主要用於流式數據統計,存儲用戶畫像的相關數據,屬於實時統計模塊中主要存儲。 爲何從物理HBase遷移到阿里雲HBase最開始咱們是物理機房自建HBase,選擇阿里雲HBase主要出於如下幾個考慮:blog
整個遷移實戰過程根據咱們業務的發展,從3個階段闡述下阿里雲hbase的使用狀況以及遇到的問題 |
MySQL 8 | PostgreSQL 10 |
查詢 & 分析 | ||
公用表表達式 (CTEs) | New | |
窗口函數 | New | |
數據類型 | ||
JSON支持 | Improved | |
GIS / SRS | Improved | |
全文檢索 | ||
可擴展性 | ||
邏輯複製 | New | |
半同步複製 | New | |
聲明式分區 | New |
過去常常會說MySQL最適合在線事務,PostgreSQL最適合分析流程,但如今不是了。
公共表表達式(CTEs)和窗口函數是選擇PostgreSQL的主要緣由。可是如今,經過引用同一個表中的boss_id來遞歸地遍歷一張僱員表,或者在一個排序的結果中找到一箇中值(或50%),這在MySQL上再也不是問題。
在PostgreSQL中進行復制缺少配置靈活性,這就是Uber轉向MySQL的緣由。可是如今,有了邏輯複製特性,就能夠經過建立一個新版本的Postgres並切換到它來實現零停機升級。在一個巨大的時間序列事件表中截斷一個陳舊的分區也要容易得多。
就特性而言,這兩個數據庫如今都是一致的。