国产草草影院ccyycom/一级一级特黄女人精品毛片/亚洲人成在线观看/久久久久久久国产视频

Sql Server之旅——終點站 nolock引發的三級事件的一些思考

Oracle 11g R2 RAC Windows 2008安裝

  返回  

SQL Server 和 Oracle 以及 MySQL 有哪些區別

2017/8/11 11:09:25 瀏覽:
SQL,在這里我理解成SQL Server。三者是目前市場占有率最高(依安裝量而非收入)的關系數據庫,而且很有代表性。排行第四的DB2(屬IBM公司),與Oracle的定位和架構非常相似,就不贅述了。
  1. 如果要說明三者的區別,首先就要從歷史入手。
    1. Oracle:中文譯作甲骨文,這是一家傳奇的公司,有一個傳奇的大老板Larry Ellision。 Ellision 32歲還一事無成,讀了三個大學,沒得到一個學位文憑,換了十幾家公司,老婆也離他而去。開始創業時只有1200美元,卻使得Oracle公司連續12年銷售額每年翻一番。
      Oracle成立于1977年,早期的理論基礎,反而來自于一篇IBM的論文《A Relational Model of Data for Large Shared Data Banks》【1】。作者CODD選取了關系代數的五種運算,并基于運算,架構了一種新型的數據存儲模型?;谶@種模型,Oracle成為了一個非常典型的關系數據庫。因此也變的嚴謹、安全、高速、穩定,并且變的越來越龐大。
      由于其誕生早、結構嚴謹、高可用、高性能等特點,使其在傳統數據庫應用中大殺四方,金融、通信、能源、運輸、零售、制造等各個行業的大型公司基本都是用了Oracle,早些年的時候,世界500強幾乎100%都是Oracle的用戶。
    2. MySQL :MySQL的最初的核心思想,主要是開源、簡便易用。其開發可追溯至1985年,而第一個內部發行版本誕生,已經是1995年。到1998年,MySQL已經可以支持10中操作系統了,其中就包括win平臺。但依然問題多多,如不支持事務操作、子查詢 、外鍵、存儲過程和視圖等功能。下圖是一個截止至2006年的數據庫市場占有率【2】:
      圖中可以看出,MySQL的爆發實際是在01、02年,尤其是02年發布的4.0 Beta版,正式選定InnoDB作為默認引擎,對事務處理能力及數據緩存能力有了極大的提高。同年4.1版開始支持子查詢,至此MySQL終于蛻變成一個成熟的關系型數據庫系統。05年的5.0版本又添加了存儲過程、服務端游標、觸發器、查詢優化以及分布式事務功能,但同年被Oracle抄了后路,InnoDB被Oracle收編。08年,MySQL被Sun收購,09年,Oracle收購了Sun和MySQL。
      由于MySQL的早期定位,其主要應用場景就是互聯網開發。基本上,互聯網的爆發成就了MySQL,LAMP架構風靡天下。而由于MySQL更多的的追求輕量、易用,以及早期的事物操作及復雜查詢優化的缺失,在傳統的數據庫應用場景中,份額極少。
    3. SQL Server:一提到SQL Server,大家一般都只想到Microsoft SQL Server,而非Sybase SQL Server。SQL Server最初是由Microsoft, Sybase and Ashton-Tate三家公司攔下的生意,是為IBM(又出現了)公司的OS/2操作系統開發的。隨著OS/2項目的失敗,大家也分道揚鑣。 Microsoft自然轉向自己的win操作系統,作為windows NT軟件方案的一部分。而Sybase則專注于Linux/Unix方向的數據庫開發。
      MS SQL Server主要面向中小企業。其最大的優勢就是在于集成了MS公司的各類產品及資源,提供了強大的可視化界面、高度集成的管理開發工具,在快速構建商業智能(BI)方面頗有建樹。 MS SQL Server是MS公司在軟件集成方案中的重要一環,也為WIN系統在企業級應用中的普及做出了很大貢獻。
  2. 典型應用場景
    關于“大型數據庫”,并沒有嚴格的界定,有說以數據量為準,有說以恢復時間為準。如果綜合數據庫應用場景來說,大型數據庫應用有以下特點:海量數據、高吞吐量;復雜邏輯、高計算量,以及高可用性。從這點上來說,Oracle,DB2就是比較典型的大型數據庫,Sybase SQL Server也算是吧。下面分別說明之前三種數據庫的應用場景。
    1. Oracle。Oracle的應用,主要在傳統行業的數據化業務中,比如:銀行、金融這樣的對可用性、健壯性、安全性、實時性要求極高的業務;零售、物流這樣對海量數據存儲分析要求很高的業務。此外,高新制造業如芯片廠也基本都離不開Oracle;電商也有很多使用者,如京東(正在投奔Oracle)、阿里巴巴(計劃去Oracle化)。而且由于Oracle對復雜計算、統計分析的強大支持,在互聯網數據分析、數據挖掘方面的應用也越來越多。一個典型場景是這樣的:
      某電信公司(非國內)下屬某分公司的數據中心,有4臺Oracle Sun的大型服務器用來安裝Solaris操作系統和Oracle并提供計算服務,3臺Sun Storage磁盤陣列來提供Oracle數據存儲,12臺IBM小型機,一臺Oracle Exadata服務器,一臺500T的磁帶機用來存儲歷史數據,San連接內網,使用Tuxedo中間件來保證擴展性和無損遷移。建立支持高并發的Oracle數據庫,通過OLTP系統用來對海量數據實時處理、操作,建立高運算量的Oracle數據倉庫,用OLAP系統用來分析營收數據及提供自動報表??傤A算約750萬美金。
    2. MySQL。MySQL基本是生于互聯網,長于互聯網。其應用實例也大都集中于互聯網方向,MySQL的高并發存取能力并不比大型數據庫差,同時價格便宜,安裝使用簡便快捷,深受廣大互聯網公司的喜愛。并且由于MySQL的開源特性,針對一些對數據庫有特別要求的應用,可以通過修改代碼來實現定向優化,例如SNS、LBS等互聯網業務。一個典型的應用場景是:
      某互聯網公司,成立之初,僅有PC數臺,通過LAMP架構迅速搭起網站框架。隨著業務擴張、市場擴大,迅速發展成為6臺Dell小型機的中型網站?,F在花了三年,終于成為垂直領域的最大網站,計劃中的數據中心,擁有Dell機架式服務器40臺,總預算20萬美金。
    3. MS SQL Server。windows生態系統的產品,好處壞處都很分明。好處就是,高度集成化,微軟也提供了整套的軟件方案,基本上一套win系統裝下來就齊活了。因此,不那么缺錢,但很缺IT人才的中小企業,會偏愛 MS SQL Server 。例如,自建ERP系統、商業智能、垂直領域零售商、餐飲、事業單位等等。
      1996年,Bill Gates親自出手,從Borland挖來了大牛Anders,搞定了C#語言。微軟02年搞定了ASP.NET。成熟的.NET、Silverlight技術,為 MS SQL Server贏得了部分互聯網市場,其中就有曾經的全球最大社交網站MySpace,其發展歷程很有代表性,可作為一個比較特別的例子【3】。其巔峰時有超過1.5億的注冊用戶及每月400億的訪問量。應該算是MS SQL Server支撐的最大的數據應用了。
  3. 架構。其實要說執行的區別,主要還是架構的區別。正是架構導致了相同SQL在執行過程中的解釋、優化、效率的差異。這里只做粗略說明,就不細說了:
    1. Oracle: 數據文件包括:控制文件、數據文件、重做日志文件、參數文件、歸檔文件、密碼文件。這是根據文件功能行進行劃分,并且所有文件都是二進制編碼后的文件,對數據庫算法效率有極大的提高。由于Oracle文件管理的統一性,就可以對SQL執行過程中的解析和優化,指定統一的標準:
      RBO(基于規則的優化器)、CBO(基于成本的優化器)
      通過優化器的選擇,以及無敵的HINT規則,給與了SQL優化極大的自由,對CPU、內存、IO資源進行方方面面的優化。
    2. MySQL:最大的一個特色,就是自由選擇存儲引擎。每個表都是一個文件,都可以選擇合適的存儲引擎。常見的引擎有 InnoDB、 MyISAM、 NDBCluster等。但由于這種開放插件式的存儲引擎,比如要求數據庫與引擎之間的松耦合關系。從而導致文件的一致性大大降低。在SQL執行優化方面,也就有著一些不可避免的瓶頸。在多表關聯、子查詢優化、統計函數等方面是軟肋,而且只支持極簡單的HINT。
    3. SQL Server :數據架構基本是縱向劃分,分為:Protocol Layer(協議層), Relational Engine(關系引擎), Storage Engine(存儲引擎), SQLOS。SQL執行過程就是逐層解析的過程,其中Relational Engine中的優化器,是基于成本的(CBO),其工作過程跟Oracle是非常相似的。在成本之上也是支持很豐富的HINT,包括:連接提示、查詢提示、表提示。

聯系我們

濟南鑒信DATAHELP服務器數據恢復中心
數據恢復服務熱線:0531-62399989
數據恢復服務電話:0531-62399989
公司傳真:0531-55575577
數據恢復業務Mail:DATAHELP@163.COM
數據恢復公司地址:濟南市山大路157號華強電子世界三樓Q3059,Q3060