MySql與MariaDB

來源:互聯網
上載者:User

標籤:2.x   4.0   amp   工作   tcl   大型資料庫   交易處理   一個   lin   

MySQL資料庫

MySQL資料庫是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發。MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

(1)Mysql支援大型的資料庫。可以處理擁有上千萬條記錄的大型資料庫;

(2)MySQL使用標準的SQL資料語言形式;

(3)Mysql可以允許於多個系統上,並且支援多種語言。這些程式設計語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;

(4)Mysql對PHP有很好的支援,PHP是目前最流行的Web開發語言;

(5)MySQL支援大型資料庫,支援5000萬條記錄的資料倉儲,32位系統資料表檔案最大可支援4GB,64位系統支援最大的表檔案為8TB;

(6)採用了GPL協議(一種自由軟體許可證,許可社會公眾享有:運行、複製軟體的自由,發行傳播軟體的自由,獲得軟體源碼的自由,改進軟體並將自己作出的改進版本向社會發行傳播的自由)。

 

MySQL資料庫的曆程

(1)1979年,一個名為Monty Widenius的程式員在為TcX的小公司打工,並且用BASIC設計了一個報表工具,使其可以在4MHz主頻和16KB記憶體的電腦上運行。當時,這隻是一個很底層的且僅面向報表的儲存引擎,名叫Unireg。

(2)1990年,TcX公司的客戶中開始有人要求為其API提供SQL支援。Monty直接藉助於mSQL的代碼,將它整合到自己的儲存引擎中。令人失望的是,效果並不太令人滿意,決心自己重寫一個SQL支援。

(3)1996年,MySQL 1.0發布,它只面向一小撥人,相當於內部版本。到了1996年10月,MySQL 3.11.1發布(MySQL沒有2.x版本),最開始只提供Solaris下的二進位版本。一個月後,Linux版本出現了。在接下來的兩年裡,MySQL被依次移植到各個平台。

(4)1999~2000年,MySQL AB公司在瑞典成立。Monty雇了幾個人與Sleepycat合作,開發出了Berkeley DB引擎, 由於BDB支援交易處理,因此MySQL從此開始支援交易處理了。

(5)2000,MySQL不僅公布自己的原始碼,並採用GPL(GNU General Public License)許可協議,正式進入開源世界。同年4月,MySQL對舊的儲存引擎ISAM進行了整理,將其命名為MyISAM。

(6)2001年,整合Heikki Tuuri的儲存引擎InnoDB,這個引擎不僅能持交易處理,並且支援行級鎖。後來該引擎被證明是最為成功的MySQL事務儲存引擎。MySQL與InnoDB的正式結合版本是4.0

(7)2003年12月,MySQL 5.0版本發布,提供了視圖、預存程序等功能。

(8)2008年1月,MySQL AB公司被Sun公司以10億美金收購,MySQL資料庫進入Sun時代。在Sun時代,Sun公司對其進行了大量的推廣、最佳化、Bug修複等工作。

(9)2008年11月,MySQL 5.1發布,它提供了分區、事件管理,以及基於行的複製和基於磁碟的NDB叢集系統,同時修複了大量的Bug。

(10)2009年4月,Oracle公司以74億美元收購Sun公司,自此MySQL資料庫進入Oracle時代,而其第三方的儲存引擎InnoDB早在2005年就被Oracle公司收購。

(11)2010年12月,MySQL 5.5發布,其主要新特性包括半同步的複製及對SIGNAL/RESIGNAL的異常處理功能的支援,最重要的是InnoDB儲存引擎終於變為當前MySQL的預設儲存引擎。MySQL 5.5不是時隔兩年後的一次簡單的版本更新,而是加強了MySQL各個方面在企業級的特性。Oracle公司同時也承諾MySQL 5.5和未來版本仍是採用GPL授權的開源產品。

 

MariaDB資料庫

MySQL被收購之後,面臨著被閉源的風險,因此MySQL之父 Widenius離開Sun之後,2009年重新開發代碼全部開源免費關係型資料庫,推出了MariaDB。

鑒於所有應用,MariaDB都是MySQL的代碼級量身定製的替代者,相應的版本可以直接替換(如MySQL 5.1 -> MariaDB 5.1, MariaDB 5.2 & MariaDB 5.3也是相容的。MySQL 5.5將與相容),其與MySQL保持著高度的相容性:

  • 資料及表的定義檔案(.frm)在代碼級相容;
  • 所有用戶端的API、協議和結構都是相同的;
  • 所有檔案件名、二進位檔案、路徑、連接埠、通訊端等……全都是一樣的;
  • 所有的MySQL與其他語言(PHP、Perl、Python、Java、.NET、MyODBC、Rub、MySQL C……)的串連檔案無需任何改動,在MariaDB就可工作;
  • mysql-client程式也可在MariaDB伺服器上工作。

但MariaDB絕對不是MySQL的簡單替代品,相對於MySQL,其有更多新選項、擴充、儲存引擎及漏洞修複。

 

據調研,目前Oracel已經對MySQL進行了閉源,開源的CentOS7已經不支援MySQL,而換成了的MariaDB。如果使用者需要在CentOS7上安裝MySQL需要先將MariaDB卸載掉,否則就會導致安裝衝突。

MySql與MariaDB

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.