學(xué)入門級數(shù)據(jù)庫先學(xué)哪個好?
越是入門,越要學(xué)一個對自己以后有幫助的數(shù)據(jù)庫,個人建議,最好學(xué)PostgreSQL。很多朋友都會說是不是MySQL是首先,我不這樣認(rèn)為。下面說說我認(rèn)為應(yīng)該學(xué)PostgreSQL的原因。
PostgreSQL對標(biāo)準(zhǔn)SQL的支持是最完整的PostgreSQL對SQL標(biāo)準(zhǔn)的支持非常棒,基本全面覆蓋了所有 SQL-2/SQL-92 和 SQL-3/SQL-99標(biāo)準(zhǔn)。換句話說,PostgreSQL是對SQL標(biāo)準(zhǔn)支持最正統(tǒng)的數(shù)據(jù)庫。
PostgreSQL是全功能的自由軟件數(shù)據(jù)庫。支持非常豐富的數(shù)據(jù)類型、支持事務(wù)和子查詢、支持多版本并行控制系統(tǒng)(MVCC)、支持?jǐn)?shù)據(jù)完整性檢查等等。
無論您是入門級的數(shù)據(jù)庫新手、還是高深莫測的數(shù)據(jù)庫管理員,PostgreSQL奉獻給您的,是最標(biāo)準(zhǔn)、最正統(tǒng)的SQL標(biāo)準(zhǔn)支持,如果您不選她、那選誰還會更合適呢?
PostgreSQL是完全開源的不需要任何商業(yè)授權(quán)MySQL也號稱是開源的,但被Oracle收購以后就不好說了。君不見Oracle是如何對待Java的,把Google折磨的死去活來,以后MySQL的開源之路肯定是越走越窄。
目前Oracle把MySQL劈成兩條路線,一條是承接原來的開源路線,但疏于維護;另一條則是閉源路線,搞的風(fēng)生水起,說白了就是要慢慢的閉源,如果您把未來寄托在MySQL這邊,這是非常危險的。
PostgreSQL則不然,她是屬于全世界的開源數(shù)據(jù)庫系統(tǒng),她擁有一支遍布全球的非常活躍的開發(fā)隊伍。除了登記注冊的全球志愿者團隊負(fù)責(zé)維護開發(fā)外,還包括很多頂尖黑客都愿意為此奉獻。
PostgreSQL跨平臺做的非常好,支持所有主流操作系統(tǒng)和編程語言無論是各種版本的Linux、Unix,或者Windows、MacOS,PostgreSQL的支持都非常好,您完全不用擔(dān)心操作系統(tǒng)問題。
主流的編程語言,包括C\C++、Pascal、PHP、GO、Python、Kotlin、C#、Java、Ruby等等,都有完善的開發(fā)接口,您完全不用擔(dān)心與編程語言的對接問題。
PostgreSQL性能表現(xiàn)非常優(yōu)異目前PostgreSQL在世界范圍的應(yīng)用非常廣泛,經(jīng)歷了各種應(yīng)用的沖擊,性能表現(xiàn)非常棒。這是與PostgreSQL獲得了全世界最頂尖的無私的開發(fā)人員奉獻有關(guān)。特別是許多牛掰的黑客都有參與。
如果您學(xué)了PostgreSQL,那您以后完全不用擔(dān)心應(yīng)用問題,學(xué)的將來剛好是用的,這成本也低了不少對吧。
PostgreSQL逐步轉(zhuǎn)變?yōu)镹ewSQL數(shù)據(jù)庫,這是未來發(fā)展的方向目前數(shù)據(jù)庫系統(tǒng)沿著三條路線,一條是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫、一條是NoSQL數(shù)據(jù)庫、還有一條是NewSQL數(shù)據(jù)庫。
傳統(tǒng)關(guān)系型數(shù)據(jù)庫無法解決當(dāng)前數(shù)據(jù)大爆炸帶來的數(shù)據(jù)表達的復(fù)雜性,由此催生了NoSQL,但NoSQL就像一個泛濫的江湖,很多語法格式都是與傳統(tǒng)的SQL不兼容的,要學(xué)就要根據(jù)不同的NoSQL去學(xué),這個成本太高了。NewSQL則不同,它兼顧了傳統(tǒng)關(guān)系型數(shù)據(jù)庫和NoSQL的優(yōu)點,兼容標(biāo)準(zhǔn)SQL,學(xué)習(xí)成本就低了很多。
PostgreSQL正在過渡到NewSQL,選擇學(xué)習(xí)PostgreSQL,恰逢其時啊!