oracle、MySQL、SQL Server的比較


MySql的優點:
1 MYSQL支持5000萬條記錄的數據倉庫(3.x版本就支持了)
2 MYSQL適應所有平台 。
3 MYSQL是開源軟件開源的東西似乎總是比較實在一點,不會有太多商業化的考慮。
4 學起來簡單
5 MYSQL 因為是開源的,所以支持任意修改,也就是說你可以去除你不需要的功能,從而簡化MYSQL,提高速度。
6美國西部時間200624日,測試廠商Coverity公司發表聲明,稱對MySQL數據庫軟件的源代碼進行分析后,結果表明其缺陷數量遠遠小於商業數據庫軟件的水平。
7使用CC++編寫,並使用了多種編譯器進行測試,保證源代碼的可移植性
8支持AIXFreeBSDHP-UXLinuxMac OSNovell NetwareOpenBSDOS/2 WrapSolarisWindows等多種操作系統
9為多種編程語言提供了API。這些編程語言包括CC++EiffelJavaPerlPHPPythonRubyTcl等。
10支持多線程,充分利用CPU資源
11優化的SQL查詢算法,有效地提高查詢速度
12既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名
13 提供TCP/IPODBCJDBC等多種數據庫連接途徑
14 提供用於管理、檢查、優化數據庫操作的管理工具

MySql的缺點:
1MySQL最大的缺點是其安全系統,主要是復雜而非標准,另外只有到調用mysqladmin來重讀用戶權限時才發生改變。
2MySQL的另一個主要的缺陷之一是缺乏標准的RI(Referential Integrity-RI)機制;Rl限制的缺乏(在給定字段域上的一種固定的范圍限制)可以通過大量的數據類型來補償。
3MySQL沒有一種存儲過程(Stored Procedure)語言,這是對習慣於企業級數據庫的程序員的最大限制。
4MySQL不支持熱備份。
5MySQL的價格隨平台和安裝方式變化。LinuxMySQL如果由用戶自己或系統管理員而不是第三方安裝則是免費的,第三方案則必須付許可費。UnixLinux自行安裝免
費、UnixLinux第三方安裝200美元,需要一個應用組件200美元。

 
Mssql的優點:
Microsoft SQL Server 2000 能提供超大型系統所需的數據庫服務。大型服務器可能有成千上萬的用戶同時連接到 SQL Server 2000 實例。SQL Server 2000 為這些環境提供了全面的保護,具有防止問題發生的安全措施,例如,可以防止多個用戶試圖同時更新相同的數據。SQL Server 2000 還在多個用戶之間有效地分配可用資源,比如內存、網絡帶寬和磁盤 I/O
超大型 Internet 站點可將其數據分開存放在多台服務器上,從而使處理負荷分散到多台計算機上,使站點能為成千上萬的並發用戶提供服務。
可以在一台計算機上運行多個 SQL Server 2000 實例。例如,一個為其它許多組織提供數據庫服務的組織可為每個客戶組織單獨運行一個 SQL Server 2000 實例,而全部實例可集中在一台計算機上。這樣,既隔開了每個客戶組織的數據,同時又使服務組織只需管理一台服務器計算機從而減少了費用。
SQL Server 2000 應用程序可在裝有 SQL Server 2000 的計算機上運行。該應用程序通過 Windows 進程間通訊 (IPC) 組件(例如共享內存)而非通過網絡連接到 SQL Server 2000。這使 SQL Server 2000 得以應用於應用程序必須在本地存儲數據的小型系統中。
大型 Web 站點和企業級數據處理系統通常會生成大量的數據庫處理,超出了一台計算機的支持能力。在這些大型系統中,數據庫服務由組成數據庫服務層的一組數據庫服務器 提供。SQL Server 2000 不支持采用平衡負荷的聚集形式建立數據庫服務層,但支持跨自主服務器組分存數據的機制。盡管每個服務器需分開管理,但組內的各個服務器可共同分擔數據庫處 理負荷。共享同一工作負荷的一組自主服務器稱為服務器聯合體。

高可用性
SQL Server 2005的失敗轉移集群和數據庫鏡像技術確保企業向員工、客戶和合作伙伴提交高度可靠和可用的應用系統。

管理工具
SQL Server 2005引進了一套集成的管理工具和管理應用編程接口(APIs),以提供易用性、可管理性、及對大型SQL Server配置的支持。

安全性增強
SQL Server 2005旨在通過數據庫加密、更加安全的默認設置、加強的密碼政策和細化許可控制、及加強的安全模型等特性,為企業數據提供最高級別的安全性。

可伸縮性
SQL Server 2005可伸縮性的先進性包括表格分區、復制能力的增強和64位支持。

Mssql的缺點:
1.如果更改范圍大到需要對輸入存儲過程的參數進行更改,或者要更改由其返回的數據,則您仍需要更新程序集中的代碼以添加參數、更新 GetValue() 調用,等等,這時候估計比較繁瑣了。
2.可移植性差,由於存儲過程將應用程序綁定到 SQL Server,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性。如果應用程序的可移植性在您的環境中非常重要,則將業務邏輯封裝在不特定於 RDBMS 的中間層中可能是一個更佳的選擇。
3.增加服務器負擔

 

Oracle的優點:
1. oracle的優點很多,比如跨平台,這只是oracle眾多優點之一,但這對客戶來說是非常重要的一個優點。
2. ORACLE的可用性非常強,oracle的組件功能全
3. ORACLE體系先進,所以性能優異
4. Oracle Server是一個對象一關系數據庫管理系統。它提供開放的、全面的、和集成的信息管理方法。每個Server由一個 Oracle DB和一個 Oracle Server實例組成。它具有場地自治性(Site Autonomy)和提供數據存儲透明機制,以此可實現數據存儲透明性。每個 Oracle數據庫對應唯一的一個實例名SIDOracle數據庫服務器啟動后,一般至少有以下幾個用戶:Internal,它不是一個真實的用戶名, 而是具有SYSDBA優先級的Sys用戶的別名,它由DBA用戶使用來完成數據庫的管理任務,包括啟動和關閉數據庫;Sys,它是一個 DBA用戶名,具有最大的數據庫操作權限;System,它也是一個 DBA用戶名,權限僅次於 Sys用戶。

客戶端:
為數據庫用戶操作端,由應用、工具、SQL* NET組成,用戶操作數據庫時,必須連接到一服務器,該數據庫稱為本地數據庫(Local DB)。在網絡環境下其它服務器上的 DB稱為遠程數據庫(Remote DB)。用戶要存取遠程 DB上的數據時,必須建立數據庫鏈。

Oracle數據庫的體系結構包括物理存儲結構和邏輯存儲結構。由於它們是相分離的,所以在管理數據的物理存儲結構時並不會影響對邏輯存儲結構的存取。
5. 能在所有主流平台上運行(包括 windows)。完全支持所有的工業標准。采用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持。
6. 平行服務器通過使一組結點共享同一簇中的工作來擴展windownt的能力,提供高可用性和高伸縮性的簇的解決方案。
如果windowsNT不能滿足需要, 用戶可以把數據庫移到UNIX中。
7. 安全性獲得最高認證級別的ISO標准認證。
8. 性能最高, 保持windowsNT下的TPC-DTPC-C的世界記錄。
9. 多層次網絡計算,支持多種工業標准,可以用ODBC,JDBC,OCI等網絡客戶連接
10. 長時間的開發經驗,完全向下兼容。得到廣泛的應用。完全沒有風險。

Oracle的缺點:
1 操作性較復雜, 同時提供GUI和命令行,在windowsNTunix下操作相同。
2 價格昂貴

 

MySqlMssql的異同:
根本的區別是它們遵循的基本原則



二者所遵循的基本原則是它們的主要區別:開放vs保守。SQL服務器的狹隘的,保守的存儲引擎與MySQL服務器的可擴展,開放的存儲引擎絕然不同。雖然你可以使用SQL服務器的Sybase引 擎,但MySQL能夠提供更多種的選擇,如MyISAM, Heap, InnoDB, and Berkeley DBMySQL不完全支持陌生的關鍵詞,所以它比SQL服務器要少一些相關的數據庫。同時,MySQL也缺乏一些存儲程序的功能,比如MyISAM引擎 聯支持交換功能。

發行費用:MySQL不全是免費,但很便宜


當提及發行的費用,這兩個產品采用兩種絕然不同的決策。對於SQL服務器,獲取一個免費的開發費用最常的方式是購買微軟的Office或者Visual Studio的費用。但是,如果你想用於商業產品的開發,你必須還要購買SQL Server Standard Edition。學校或非贏利的企業可以不考慮這一附加的費用。

性能:先進的MySQL


純粹就性能而言,MySQL是相當出色的,因為它包含一個缺省桌面格式MyISAMMyISAM 數據庫與磁盤非常地兼容而不占用過多的CPU和內存。MySQL可以運行於Windows系統而不會發生沖突,在UNIX或類似UNIX系統上運行則更好。你還可以通過使用64位處理器來獲取額外的一些性能。因為MySQL在內部里很多時候都使用64位的整數處理。Yahoo!商業網站就使用MySQL 作為后台數據庫。

當提及軟件的性能,SQL服務器的穩定性要比它的競爭對手強很多。但是,這些特性也要付出代價的。比如,必須增加額外復雜操作,磁盤存儲,內存損耗等等。如果你的硬件和軟件不能充分支持SQL服務器,我建議你最好選擇其他如DBMS數據庫,因為這樣你會得到更好的結果。

安全功能


MySQL有一個用於改變數據的二進制日志。因為它是二進制,這一日志能夠快速地從主機上復制數據到客戶機上。即使服務器崩潰,這一二進制日志也會保持完整,而且復制的部分也不會受到損壞。

SQL服務器中,你也可以記錄SQL的有關查詢,但這需要付出很高的代價。

安全性


這兩個產品都有自己完整的安全機制。只要你遵循這些安全機制,一般程序都不會出現什么問題。這兩者都使用缺省的IP端口,但是有時候很不幸,這些IP也會被一些黑客闖入。當然,你也可以自己設置這些IP端口。

恢復性:先進的SQL服務器


恢復性也是MySQL的一個特點,這主要表現在MyISAM配置中。這種方式有它固有的缺欠,如果你不慎損壞數據庫,結果可能會導致所有的數據丟失。然而,對於SQL服務器而言就表現得很穩鍵。SQL服務器能夠時刻監測數據交換點並能夠把數據庫損壞的過程保存下來。

 

MySqlOracle的異同:

Oraclemysql都 支持%_兩個通配符,前者匹配任意個任意字符,后者匹配最多一個任意字符。但在處理本意字符%_時,就很不相同了。mysql可以用轉義字符\來處 理;oracle也可以用轉義字符來處理,但必須在LIKE表達式后用escape '\'來說明;其中\可以是任意一個字符(注意必須是一個字符)。


 

2、對象名的大小寫敏感性
    處理諸如表,存儲過程,函數,索引,數據庫等對象時,Oracle對大小寫不敏感;mysql則由操作系統來決定。如LINUX下是敏感的,WINDOWS是不敏感的。


 

    3、查詢表信息
    mysql: show tables;
    Oracle: select table_name from tabs;


 

    4、自動增長類型的支持
    mysql: 每一個表可以有一列用auto_increment,但必須用於主關鍵字。其起始值可以用AUTO_INCREMENT=500000作為表屬性來約束,不能設步長,不能循環使用。
    Oracle: sequence對象來支持該類型。可以在觸發器和SQL語句中用nextval,currval來取值;注意CURRVAL需要在同一SESSION里方能取值正確。
    查詢語句如SELECT  seqid_main.nextval from dual
    創建語句如CREATE SEQUENCE SEQID_MAIN INCREMENT BY 1 START WITH 1 NOCYCLE CACHE 20 NOORDER;


 

    5、限制記錄數的支持
mysql: limit [start-index,]count子句來實現,非常簡單,並且支持DELETE語法,應該對用戶非常方便。
    Oracle: 沒有直接的子句可以提供支持。但近似可以用row_number函數來實現。
  row_number() over (order by col1 desc,col2) as row,然后對row來進行過濾處理。如果沒有排序子句則可以用更簡單的rownum來實現。


 

    6、連接操作符的支持
    其實mysqlOracle都支持左、右、內聯操作。不過Oracle的語法如 a.id=b.id(+)來表示左聯操作比較直觀和容易構造。


 

    7null的處理
    Oracle: nvl函數。
    mysql: 默認上下文環境如‘’0UNDEF等。


 

    8、字符聯接
    Oracle: ||(常用)
    mysql: concat


 

    9、日期型的轉換
    mysql: DateFormat,默認支持的各種格式(基於當前區域設置)。
    Oracle: to_date/to_char


 

    10、注釋行的開頭字符
    mysql: #
    Oracle: -


    11、外表關聯支持
    mysql: 4.0版本后創建InnoDB類型的表。
    Oracle: 現在的差不多都支持,很老的就不知道了,等等。

 

MssqlOracle的異同:

 體系結構  
  Microsoft按照客戶/服務器體 系結構的分布進行操作。這種方法產生不必要的代價和復雜性。在Internet中,Oracle已經發現了一個較好的答案。在 Internet Computing的多層(multi-tiered)體系結構中,集中(centralization)可以簡化應用的部署和維護, 數據的管理和備份,並向客戶提供了高級的性能、安全性與可靠性——結果使總的操作成本更低。Oracle具有使所有數據和文檔存儲在少數幾個高性能數據庫 的能力,這種能力使客戶可以集中管理他們所有的數據,並且信息管理和訪問更加容易、可靠且價格更加便宜。  
  開放(openness)  
  SQL Server只在Windows上運行,MicroSoft這種專有策略的目標是將客戶鎖定到Windows環境中,限制客戶通過選擇一個開放的基於標准的解決方案來獲取革新和價格競爭帶來的好處。此外,人們也都知道,Windows平台本 身的可靠性、安全性和可伸縮性也是有限的。 Oracle能在所有主要的平台(其中包括Windows)上運行,並且完全支持所有的工業標准,所以,客戶 可以利用很多種第三方應用程序、工具、網關和管理實用程序。Oracle采用開放策略,它使得客戶可以選擇一種最適合他們特定需要的解決方案。利用 Oracle8i,操作系統實質上將變得無關緊要。Oracle8iInternet文件系統(iFS)是一種突破,這種突破性給所有數據類型提供了一 種易於使用的數據管理接口,這樣減少了客戶對Windows之類的專用操作系統的依賴。  
  可伸縮性  
  由於SQLServer7.0的並行實施和共存模型並不成熟,這使得人們更加關心該產品處理日益增多的用戶數和數據卷(volumes)的能力。Oracle在下列兩個方面提供了一個優越的可伸縮性:  
  簇:Oracle並行服務器 通過使一組節點共享同一簇中的工作負載來擴展Windows NT的能力,Oracle提供具有高可用性和高伸縮性的簇解決方案,而Microsoft只 提供克服錯誤的簇。根據Gartner Group的一份報告(10/97),Microsoft2001年以前將不會有一個可伸縮的簇解決方案。 Oracle自從1997年以來就已經有這種能力。  
  伸縮到其他操作系統:因為Oracle是一個開放的解決方案,客戶可以從他們的系 統移到Unix或另一個操作系統,當Windows NT不能滿足他們的需要。SQL Server與單個平台的結合意味着,當一個客戶達到 Windows NT的限制時,除了放棄他們的系統並移到一個新平台上的一個新數據庫以外——一個最能節省時間和金錢的建議,他們再也沒有其他選擇。  
  安全性  
  由於Internet的出現而帶來的全球數據訪問也同時增加了潛在的安全危險。對於數據庫的安全要求決不會比以前更高,而SQL Server7.0還沒有獲得任何類型的安全證書。 相比之下,Oracle是唯一獲得最高認證級別的ISO標准認證的數據庫。Oracle高級的安全特性考慮了強制實施的細小權限,先進的審查,增強的訪問 控制,安全的分布是處理與復制,以及使用附加的外部簽發機制的能力。SQL Server7.0沒有這些特性。利用Oracle產品,企業可以將真正集成 的安全機制廉價地遷入到業務系統中。


可擴展性  
  今天的Internet是一個令人激動的新世界,它具有鮮明的圖像,實時的視頻點播,高保真的語音和聲音,以及諸如金融數 據趨勢和地理編碼之類的復雜信息。通過集中管理文本、圖像、音頻、視頻和地理信息,Oracle8iinterMedia使客戶能夠利用Web的多媒體 特性。相比之下,Microsoft SQL Server 7.0對非傳統的數據類型缺乏內置的支持。作為一種替代的策略,Microsoft提倡將非 傳統的數據存儲到單獨的服務器里的平面(flat)文件中,然后使用OLE-DB將它們鏈接在一起。使用這種策略,集成在Web中發現的各種數據類型,將 會產生復雜的、不安全的、維護量大的數據包(mess),這種數據包缺乏事物的完整性。  
  性能  
  低性能可能是很致命的 (fatal),因為雇員的生產能力被阻礙,客戶由於過多的等待時間而丟失。根據事物處理委員會(TPC)審查的標准與結果,Oracle提供了比 SQL Server7.0更高級的性能。到199811月為止,Oracle一直是Windows NTTPC-DTPC-C標准的世界記錄保持 者。實際上,OracleNT TPC-C結果幾乎比Microsoft的快兩倍。Microsoft 從來沒有宣布一個TPC-D結果,這就意味着盡 管SQL Server7.0中有假定的環境,但它仍然不適合於數據倉庫應用。Oracle也保持了SAP,BaanPeoplesoft標准的世界記 錄。通過一貫地演示正式標准與實際情況之間的性能關系,Oracle已被證明,它可以處理最緊迫的數據倉庫和OLTP應用的工作負載要求。

 

操作簡單  
   使數據庫易於安裝、使用和管理——組合在一起稱為操作簡單“——是一個減少成本的關鍵因素。盡管Microsoft產品具有易於使用的美譽,但 SQL Server7.0缺乏數據庫管理的特性,而這種特性是復雜的數據庫系統所必須的。例如,對於SQL Server6.5 SQL Server7.0,Microsoft需要使用單獨的管理工具。 為了易於安裝,Oracle使用了一個基於Java的實用程序,該實用程序提 供了安裝和運行一個預調整和預配置的Oracle8i數據庫所需要的一切內容。操作簡單的最重要部分是易管理性, Oracle Enterprise Manager(企業管理器)提供一個集成的管理控制台來集中管理多個服務器。客戶也可以單獨購買所有三個或其中任 何一個可選的管理包,這些管理包提供了高級的功能來調整和診斷數據庫,管理數據庫環境的復雜變化。  
  革新  
  PC Week已經說過,“SQL Server7.0並沒有向客戶提供其競爭對手尚未提供的任何新東西。根據Information Week(9/14/98),“即使在經濟的 市場中:Windows NT環境,SQL Server7仍然不是OLTP數據庫競爭者的對手。SQL Server7.0中,許多關鍵任務數據庫 應用所必需的功能(高可用性/可伸縮性、安全、性能等)仍然沒有。Microsoft現在正在努力地追趕Oracle又一個技術領 先的傳統,新發布的Oracle8i也不例外。通過諸如iFS、數據庫JavaWebDBinterMediaWebToGo之類的革新, Oracle帶頭使各個公司獲得Internet計算的好處。特別在Windows NT中,由於Oracle是第一個發布NT數據庫簇解決方案的廠商, 第一次支持超過大內存(VLM),第一次將高可用性和可伸縮性帶到安裝有Oacle並行服務器的NT中,所以Oracle在擴展NT能力方面已經成為一個 明確的領導者。
 技術風險  
  SQL Server7.0是一個完全重寫的產品版本。該產品經歷了聯系的延遲,並且具有非常長的beta測試周期,這通常代表開發問題。一份Gartner報告(8/98)說,引擎的重新設計時非常深的...我們建議在1999年中期以前,不要將該產品部署在 規模比較大的產品應用中。正如一份Giga報告(3/98)所說的那樣,“SQL Server仍有許多需要證明。可伸縮性、可靠性、多用戶的性能、簇 的開發、對象特性的支持等都有問題。一個特別危險的因素是重新加在數據庫問題。由於基本的數據結構發生變化,Microsoft將要求所有 SQL Server6.06.5站點必須先卸載然后重新加載數據,這個過程需要好幾天的時間。Microsoft已經承認6.57.0之間存在后向 兼容問題。利用SQL Server7.0,許多以前存在的基本的6.5代碼將必須重寫,以便利用象行級鎖定和分布聯合之類的新特性。公司在使它們的生產 率和信息冒風險時必須非常謹慎。 利用Oracle沒有任何風險。Oracle8已經發布一年多了,並被部署在成百上千個用戶站點上。在500家財團公司 中,將近90%的公司使用Oracle產品和服務器。
廠商風險  
  Microsoft的核心能力是在桌面和操作系統軟件的開發,該公司在企業級數據管理沒有什么經驗。從技術和業務來看, Microsoft只在最近才進入數據管理領域,到目前為止還沒有獲得信任。 Microsoft的成功是由於依靠客戶軟件的連續廢棄與升級,以及硬件和 操作系統盡可能的傳播。在企業范圍內若要獲得成功,則要求高效利用已有的數據資源,並合並服務器資源。在另一個方面,Oracle已有二十多年的向客戶解 決方案的經驗。一個公司的數據是它們最有價值的資產,Microsoft不能指望涌進這個市場,然后一夜之間獲得信任。Oracle已經花費了幾年的艱苦 努力才贏得其客戶群的信任以及它目前享受到的榮譽。每天成千上萬的客戶在Oracle上運行它們的業務所獲得的成功就是Oracle技術和業務模型完美的 有利證明。  

 

總結  
  SQL Server7.0已比原來的計划幾乎晚兩年發行。在這段時間內,有關哪個廠商具有 Windows NT上最好的數據庫解決方案的戰斗已經打響,並最終由Oracle獲勝。自從1996年以來,Oracle一直是Windows NT上 的市場領導者。在過去的四年里,Oracle已在NT上享有令人震驚的2000%收入增 長。在這期間,Microsoft的收入占NT市場的份額實際上已經減少了27.8%Oracle的伙伴的巨大成功補充了Oracle的客戶的成功。一 份最近的ARM研究(1998)表明,在1997年的EPT市場中,數據庫營業收入的52%進入Oracle,相比之下, Microsoft SQL Server只占5%。事實上,在ASP3200NT安裝中,70%是在Oracle上。只有20%是在 SQL Server上。 隨着它們最新的數據庫升級,Microsoft達到了Oracle在十年前通過Oracle6達到的水平。 SQL Server7.0仍然比Oracle8i落后幾年,並且在可伸縮性、體系結構、功能、安全性、擴展性等方面存在嚴重問題,這將阻礙它在關鍵任務 應用中的使用。客戶對選擇SQL Server7.0將持嚴重的保留態度,特別是在Oraclr8i這樣高可靠和先進的產品已經存在的時候。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM