MySQL是MySQL AB公司自主研發(fā)的搬素,是目前最流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持多線程高并發(fā)多用戶奇钞。
MySQL數(shù)據(jù)庫有簡單澡为、高效、可靠的特點蛇券。
索引順序存取數(shù)據(jù)的方法是ISAM(Indexed Sequential Access Method)存儲引擎核心算法的前身缀壤。
MySQL最擅長的是查詢性能,而不是事務(wù)處理了(須要借助第三方存儲引擎)纠亚。
標(biāo)準(zhǔn)化查詢語言的支持塘慕,高效的數(shù)據(jù)存取,不必關(guān)注事務(wù)完整性蒂胞,簡單易用图呢,而且成本低廉。
MySQL最初抓住了互聯(lián)網(wǎng)客戶骗随,造就了今天MySQL在互聯(lián)網(wǎng)行業(yè)的巨大成功蛤织。
功能比較
MySQL基本實現(xiàn)了ANSI SQL 92的大部分標(biāo)準(zhǔn),僅有少部分并不經(jīng)常被使用的沒有實現(xiàn)鸿染。
MySQL存儲引擎并沒有提供事務(wù)支持指蚜,但是通過第三方插件式存儲引擎InnoDB實現(xiàn)了SQL 92標(biāo)準(zhǔn)定義的4個事務(wù)隔離級別的全部。
Oracle數(shù)據(jù)庫就僅僅實現(xiàn)了其中的兩種(Serializable和Read Commited)涨椒,而PostgreSQL支持4種隔離級別摊鸡。
在可編程支持方面,MySQL和其他數(shù)據(jù)庫相比還有一定的差距(Procedure蚕冬、Function免猾、Trigger),所支持的功能還比較有限囤热,和其他幾大商用數(shù)據(jù)庫管理系統(tǒng)相比猎提,還存在較大的不足。
Oracle有強大的PL/SQL旁蔼,SQL Server有T-SQL锨苏,PostgreSQL也有功能很完善的PL/PGSQL的支持。
整體來說牌芋,在功能方面MySQL數(shù)據(jù)庫作為一個通用的數(shù)據(jù)庫管理系統(tǒng)暫時還無法和PostgreSQL相比蚓炬,但是其功能完全可以滿足通用商業(yè)需求。
易用性比較
MySQL的優(yōu)勢所在躺屁。
MySQL一直都奉行簡單易用的原則肯夏。
MySQL安裝包大小僅100MB左右。
性能比較
僅有Oracle數(shù)據(jù)庫能夠與其一較高下。
MySQL一直以來奉行一個原則驯击,那就是在保證足夠穩(wěn)定性的前提下烁兰,盡可能地提高自身的處理能力畜挨。
在性能和功能方面共缕,MySQL第一考慮的要素主要還是性能。
可靠性
MySQL數(shù)據(jù)庫一直追求簡單刊橘、高效暇矫、可靠主之。
MySQL的主要適用場景 Web網(wǎng)站系統(tǒng)
Web站點是MySQL最大的客戶群,也是MySQL發(fā)展史上最為重要的支撐力量李根。
MySQL的主要適用場景 日志記錄系統(tǒng)
MySQL數(shù)據(jù)庫的插入和查詢都非常高效槽奕,如果設(shè)計得較好,在使用MyISAM存儲引擎的時候房轿,兩者可以做到互不鎖定粤攒,具有很高的并發(fā)性能。
對需要大量插入和查詢?nèi)罩居涗浀南到y(tǒng)囱持,比如處理用戶的登錄日志夯接、操作日志等,都是非常適合的應(yīng)用系統(tǒng)纷妆。
MySQL的主要適用場景 數(shù)據(jù)倉庫系統(tǒng)
一種是采用昂貴的高性能主機以提高計算性能盔几,用高端存儲設(shè)備提高I/O性能,這樣做效果理想掩幢,但成本非常高问欠;
第二種就是將數(shù)據(jù)復(fù)制到多臺使用大容量硬盤的廉價PC Server上,以提高整體計算性能和I/O能力粒蜈,這樣實施效果尚可,存儲空間雖有一定限制旗国,但成本低廉枯怖;
第三種,通過將數(shù)據(jù)水平拆分能曾,使用多臺廉價的PC Server和本地磁盤來存放數(shù)據(jù)度硝,每臺機器上面都只有所有數(shù)據(jù)的一部分,這樣便解決了數(shù)據(jù)量的問題寿冕,所有PC Server一起并行計算蕊程,也解決了計算能力問題,通過中間代理程序調(diào)配各臺機器的運算任務(wù)驼唱,既可以解決計算性能問題又可以解決I/O性能問題藻茂,成本也很低廉。
第二種和第三種方案,MySQL都有較大的優(yōu)勢辨赐。
第一種方案所有數(shù)據(jù)庫系統(tǒng)都能夠?qū)崿F(xiàn)优俘,但是成本高昂。
比較成熟的數(shù)據(jù)倉庫解決方案主要是MySQL與Infobright相結(jié)合的DW系統(tǒng)掀序。
MySQL的主要適用場景 嵌入式系統(tǒng)
嵌入式環(huán)境硬件資源非常有限帆焕,在嵌入式環(huán)境下運行的軟件系統(tǒng),必須是輕量級低消耗的軟件不恭。
MySQL在資源的使用方面伸縮性非常大叶雹。MySQL有專門針對嵌入式環(huán)境的版本。