SQL Server 和 Oracle 以及 MySQL 有哪些区别?
SQL,在這里我理解成SQL Server。三者是目前市場占有率最高(依安裝量而非收入)的關(guān)系數(shù)據(jù)庫,而且很有代表性。排行第四的DB2(屬IBM公司),與Oracle的定位和架構(gòu)非常相似,就不贅述了。
如果要說明三者的區(qū)別,首先就要從歷史入手。
Oracle成立于1977年,早期的理論基礎,反而來自于一篇IBM的論文《A Relational Model of Data for Large Shared Data Banks》【1】。作者CODD選取了關(guān)系代數(shù)的五種運算,并基于運算,架構(gòu)了一種新型的數(shù)據(jù)存儲模型。基于這種模型,Oracle成為了一個非常典型的關(guān)系數(shù)據(jù)庫。因此也變的嚴謹、安全、高速、穩(wěn)定,并且變的越來越龐大。
由于其誕生早、結(jié)構(gòu)嚴謹、高可用、高性能等特點,使其在傳統(tǒng)數(shù)據(jù)庫應用中大殺四方,金融、通信、能源、運輸、零售、制造等各個行業(yè)的大型公司基本都是用了Oracle,早些年的時候,世界500強幾乎100%都是Oracle的用戶。
由于MySQL的早期定位,其主要應用場景就是互聯(lián)網(wǎng)開發(fā)?;旧?#xff0c;互聯(lián)網(wǎng)的爆發(fā)成就了MySQL,LAMP架構(gòu)風靡天下。而由于MySQL更多的的追求輕量、易用,以及早期的事物操作及復雜查詢優(yōu)化的缺失,在傳統(tǒng)的數(shù)據(jù)庫應用場景中,份額極少。
MS SQL Server主要面向中小企業(yè)。其最大的優(yōu)勢就是在于集成了MS公司的各類產(chǎn)品及資源,提供了強大的可視化界面、高度集成的管理開發(fā)工具,在快速構(gòu)建商業(yè)智能(BI)方面頗有建樹。 MS SQL Server是MS公司在軟件集成方案中的重要一環(huán),也為WIN系統(tǒng)在企業(yè)級應用中的普及做出了很大貢獻。
典型應用場景
關(guān)于“大型數(shù)據(jù)庫”,并沒有嚴格的界定,有說以數(shù)據(jù)量為準,有說以恢復時間為準。如果綜合數(shù)據(jù)庫應用場景來說,大型數(shù)據(jù)庫應用有以下特點:海量數(shù)據(jù)、高吞吐量;復雜邏輯、高計算量,以及高可用性。從這點上來說,Oracle,DB2就是比較典型的大型數(shù)據(jù)庫,Sybase SQL Server也算是吧。下面分別說明之前三種數(shù)據(jù)庫的應用場景。
某電信公司(非國內(nèi))下屬某分公司的數(shù)據(jù)中心,有4臺Oracle Sun的大型服務器用來安裝Solaris操作系統(tǒng)和Oracle并提供計算服務,3臺Sun Storage磁盤陣列來提供Oracle數(shù)據(jù)存儲,12臺IBM小型機,一臺Oracle Exadata服務器,一臺500T的磁帶機用來存儲歷史數(shù)據(jù),San連接內(nèi)網(wǎng),使用Tuxedo中間件來保證擴展性和無損遷移。建立支持高并發(fā)的Oracle數(shù)據(jù)庫,通過OLTP系統(tǒng)用來對海量數(shù)據(jù)實時處理、操作,建立高運算量的Oracle數(shù)據(jù)倉庫,用OLAP系統(tǒng)用來分析營收數(shù)據(jù)及提供自動報表??傤A算約750萬美金。
某互聯(lián)網(wǎng)公司,成立之初,僅有PC數(shù)臺,通過LAMP架構(gòu)迅速搭起網(wǎng)站框架。隨著業(yè)務擴張、市場擴大,迅速發(fā)展成為6臺Dell小型機的中型網(wǎng)站?,F(xiàn)在花了三年,終于成為垂直領(lǐng)域的最大網(wǎng)站,計劃中的數(shù)據(jù)中心,擁有Dell機架式服務器40臺,總預算20萬美金。
1996年,Bill Gates親自出手,從Borland挖來了大牛Anders,搞定了C#語言。微軟02年搞定了http://ASP.NET。成熟的.NET、Silverlight技術(shù),為 MS SQL Server贏得了部分互聯(lián)網(wǎng)市場,其中就有曾經(jīng)的全球最大社交網(wǎng)站MySpace,其發(fā)展歷程很有代表性,可作為一個比較特別的例子【3】。其巔峰時有超過1.5億的注冊用戶及每月400億的訪問量。應該算是MS SQL Server支撐的最大的數(shù)據(jù)應用了。
架構(gòu)。其實要說執(zhí)行的區(qū)別,主要還是架構(gòu)的區(qū)別。正是架構(gòu)導致了相同SQL在執(zhí)行過程中的解釋、優(yōu)化、效率的差異。這里只做粗略說明,就不細說了:
RBO(基于規(guī)則的優(yōu)化器)、CBO(基于成本的優(yōu)化器)
通過優(yōu)化器的選擇,以及無敵的HINT規(guī)則,給與了SQL優(yōu)化極大的自由,對CPU、內(nèi)存、IO資源進行方方面面的優(yōu)化。
注:本人經(jīng)驗尚淺,且未從事過DBA相關(guān)職業(yè),歡迎糾正錯誤及共同學習。
轉(zhuǎn)載于:https://www.cnblogs.com/WillZhang7/p/4260411.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的SQL Server 和 Oracle 以及 MySQL 有哪些区别?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路由器网络性能测试软件,路由器压力测试工
- 下一篇: linux cmake编译源码,linu