當前位置:編程學習大全網 - 遊戲軟體 - 數據庫的種類有哪些?

數據庫的種類有哪些?

很長時間以來,關系型數據庫壹直是大公司的專利,市場被Oracle/DB2等企業數據庫牢牢把持。但是隨著互聯網的崛起、開源社區的發展,上世紀九十年代MySQL1.0的發布,標誌著關系型數據庫的領域社區終於有可選擇的方案。

MySQL

第壹個介紹的單機RDBMS就是MySQL。相信大多數朋友都已經對MySQL非常熟悉,基本上MySQL的成長史就是互聯網的成長史。我接觸的第壹個MySQL版本是MySQL4.0,到後來的MySQL5.5更是經典——基本所有的互聯網公司都在使用。MySQL也普及了「可插拔」引擎這壹概念,針對不同的業務場景選用不同的存儲引擎是MySQLtuning的壹個重要的方式。比如對於有事務需求的場景使用InnoDB;對於並發讀取的場景MyISAM可能比較合適;但是現在我推薦絕大多數情況還是使用InnoDB,畢竟5.6後已經成為了官方的默認引擎。大多數朋友都基本知道什麽場景適用MySQL(幾乎所有需要持久化結構化數據的場景),我就不贅述了。

另外值得壹提的是MySQL5.6中引入了多線程復制和GTID,使得故障恢復和主從的運維變得比較方便。另外,5.7(目前處於GA版本)是MySQL的壹個重大更新,主要是讀寫性能和復制性能上有了長足的進步(在5.6版本中實現了SCHEMA級別的並行復制,不過意義不大,倒是MariaDB的多線程並行復制大放異彩,有不少人因為這個特性選擇MariaDB。MySQL5.7MTS支持兩種模式,壹種是和5.6壹樣,另壹種則是基於binloggroupcommit實現的多線程復制,也就是MASTER上同時提交的binlog在SLE端也可以同時被apply,實現並行復制)。如果有單機數據庫技術選型的朋友,基本上只需要考慮5.7或者MariaDB就好了,而且5.6、5.7由Oracle接手後,性能和穩定性上都有了明顯的提升。

PostgreSQL

PostgreSQL的歷史也非常悠久,其前身是UCB的Ingres,主持這個項目的MichaelStronebraker於2023年獲得圖靈獎。後來項目更名為Post-Ingres,項目基於BSDlicense下開源。1995年幾個UCB的學生為Post-Ingres開發了SQL的接口,正式發布了PostgreSQL95,隨後壹步步在開源社區中成長起來。和MySQL壹樣,PostgreSQL也是壹個單機的關系型數據庫,但是與MySQL方便用戶過度擴展的SQL文法不壹樣的是,PostgreSQL的SQL支持非常強大,不管是內置類型、JSON支持、GIS類型以及對於復雜查詢的支持,PL/SQL等都比MySQL強大得多,而且從代碼質量上來看,PostgreSQL的代碼質量是優於MySQL的,另外相對於MySQL5.7以前的版本,PostgreSQL的SQL優化器比MySQL強大很多,幾乎所有稍微復雜的查詢PostgreSQL的表現都優於MySQL。

從近幾年的趨勢上來看,PostgreSQL的勢頭也很強勁,我認為PostgreSQL的不足之處在於沒有MySQL那樣強大的社區和群眾基礎。MySQL經過那麽多年的發展,積累了很多的運維工具和最佳實踐,但是PostgreSQL作為後起之秀,擁有更優秀的設計和更豐富的功能。電腦培訓發現PostgreSQL9以後的版本也足夠穩定,在做新項目技術選型的時候,是壹個很好的選擇。另外也有很多新的數據庫項目是基於PostgreSQL源碼的基礎上進行二次開發,比如Greenplum等。

  • 上一篇:迷妳世界怎麽免費獲得迷妳幣
  • 下一篇:求妖精的尾巴所有op ed 插曲 以及柯南op30開始至今的 531797042@qq.com 謝謝 麻煩了
  • copyright 2024編程學習大全網