2017年數據架構師架構選型必讀
這是最好的時代,科學技術推陳出新,各種數據庫不再一家獨大,關係數據庫、非關係數據庫(NoSQL)、混合數據庫(NewSQL)各領風騷。
這也是最壞的時代,琳琅滿目的數據庫名稱和特性,讓我們目不暇接。一個個去研究顯然時間和精力有限,隨大流選一個卻又擔心走到坑裏去,沉沒成本太大。
剛好這又冬去春來,適合大興土木大搞建設的時候到了,這裏就來跟大家捭闔下。
首先還是要有個基準的判斷,這個業務係統,是選用關係型數據庫呢,還是非關係型數據庫?是偏OLTP類型呢還是更加偏OLAP類型?
如果是選擇傳統關係型數據庫,通常就隻建議在這四個數據庫裏選擇了。
Oracle雖然一直在掉分,而且分數被MySQL拉得很近,但是大家需要注意的是,這個分值並非代表使用的公司的多少,也不代表使用的套數或者數據量的大小,而主要因素是“熱度”,這東西跟股市有點差不多,供參考但不能依賴。
DBAplus Newsletter第二期中是這麼解讀的:“其實這麼看上去第一集團還是Oracle / MySQL / SQLServer,PG在快速追趕中,目前離第一集團大概還有3~4倍左右的差距,但PG作為這幾個老牌數據庫中斜率比較大的,大概在2013年年底有一個跳變,看時間點應該是PG 9.3的發布,隨後PG一直保持了非常穩健的向上發展趨勢,這個表現非常符合最近幾年PostgreSQL社區的快速發展,從9.0到去年的9.6,PG麵向傳統企業、互聯網、金融、物聯網、政企等行業發布了諸多特性,在SQL兼容性與時俱進,貼近最新發布的SQL標準,從社區發布的性能測試來看,單機TPS達到了180萬的水準。PostgreSQL正在以自己的方式構建一個龐大的生態體係。這個數據也是比較符合直觀感受的。”
那麼,具體要怎麼選擇呢?如果你是個新鮮的互聯網公司,而且也有錢找得起高工資的DBA有能力控製好開發質量,那麼不用多說,選擇開源數據庫吧,MySQL或者PG。如果JSON類LBS業務用得非常多,用PG吧,否則可以用MySQL。
選用MySQL,一個重要的新組件暫時還不推薦上:MySQL 5.7.17 Group Replication。從官方的性能測試結果看,性能是優於Galera PXC的,接近異步同步。但是目前在運維方麵的支持上不夠好,比如備份和集群客戶端支持上,離實際生產環境大規模應用還是有一段距離。
如果你其實也不知道開發團隊會設計出些什麼架構,寫出些什麼代碼,對開源數據庫的特點也基本沒太多經驗,那麼選Oracle或者SQL Server吧。業務量很大,優選Oracle,否則SQL Server也是可以的。後者幾乎是“免維護”的,至少不太請專職DBA。
當然,優先推薦的當然是Oracle,因為12cR2已經發布了。浦發銀行2017年的新項目全部采用12cR2,當然肯定是要用集群,肯定是要用PDB,肯定是要用IMO,這些技術在吉林移動、浙江移動都在核心生產上跑了好長時間了。是的,R2新出的Sharding還在考量中,雖然看起來很美。
MongoDB現在用的也非常多,曾經一度熱度超過了PG。目前看起來還是以互聯網應用為主,社群今年會有許多線下沙龍,可以多參加了解。
國內數據庫,我們相信是絕大多數人心中的痛。這個其實也沒辦法,嬰兒學步總要有個時間。
在Newsletter第二期有5家國產數據庫發布了新的產品消息:
-
螞蟻金服的OceanBase 1.0可申請試用
-
TiDB將發布RC2
-
達夢發布DM v7.1.5.145
-
巨杉數據庫發布SequoiaDB 2.6社區版
-
南大通用發布GBase UP
-
原文發布時間為:2017-02-25
本文來自雲棲社區合作夥伴DBAplus
最後更新:2017-05-15 10:03:03