軟件開發(fā)平臺(tái)與工具分解課件_第1頁
軟件開發(fā)平臺(tái)與工具分解課件_第2頁
軟件開發(fā)平臺(tái)與工具分解課件_第3頁
軟件開發(fā)平臺(tái)與工具分解課件_第4頁
軟件開發(fā)平臺(tái)與工具分解課件_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、29 七月 2022第三章:軟件開發(fā)平臺(tái)與工具 軟件開發(fā)技術(shù) 第1頁,共58頁。補(bǔ)充大數(shù)據(jù)現(xiàn)在是業(yè)內(nèi)炙手可熱的話題,隨著技術(shù)的發(fā)展,大數(shù)據(jù)存儲(chǔ)技術(shù)已經(jīng)不在是難點(diǎn),但是對(duì)大數(shù)據(jù)如何做好存儲(chǔ)后的下一步處理將是未來競爭的焦點(diǎn),目前比較受歡迎的Storm, Spark, Hadoop三個(gè)大數(shù)據(jù)處理工具都是JVM上的語言寫成的。Spark由Scala寫成,是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行計(jì)算框架,Spark基于map reduce算法實(shí)現(xiàn)的分布式計(jì)算,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn)。Storm由java和clojure寫成,

2、storm的優(yōu)點(diǎn)是全內(nèi)存計(jì)算,因?yàn)閮?nèi)存尋址速度是硬盤的百萬倍以上,所以storm的速度相比較hadoop非???。hadoop是實(shí)現(xiàn)了mapreduce的思想,將數(shù)據(jù)切片計(jì)算來處理大量的離線數(shù)據(jù)數(shù)據(jù)。hadoop處理的數(shù)據(jù)必須是已經(jīng)存放在hdfs上或者類似hbase的數(shù)據(jù)庫中,所以hadoop實(shí)現(xiàn)的時(shí)候是通過移動(dòng)計(jì)算到這些存放數(shù)據(jù)的機(jī)器上來提高效率。第2頁,共58頁。SparkSpark是發(fā)源于美國加州大學(xué)伯克利分校AMPLab的集群計(jì)算平臺(tái)。它立足于內(nèi)存計(jì)算,從多迭代批量處理出發(fā),兼收并蓄數(shù)據(jù)倉庫、流處理和圖計(jì)算等多種計(jì)算范式,是罕見的全能選手。 Spark已正式申請(qǐng)加入Apache孵化器,從

3、靈機(jī)一閃的實(shí)驗(yàn)室“電火花”成長為大數(shù)據(jù)技術(shù)平臺(tái)中異軍突起的新銳。本文主要講述Spark的設(shè)計(jì)思想。Spark如其名,展現(xiàn)了大數(shù)據(jù)不常見的“電光石火”。具體特點(diǎn)概括為“輕、快、靈和巧”。第3頁,共58頁。SparkSpark首先是一種粗粒度數(shù)據(jù)并行(data parallel)的計(jì)算范式。數(shù)據(jù)并行的范式?jīng)Q定了 Spark無法完美支持細(xì)粒度、異步更新的操作。Spark的計(jì)算抽象是數(shù)據(jù)流,而且是帶有工作集(working set)的數(shù)據(jù)流。Spark的突破在于,在保證容錯(cuò)的前提下,用內(nèi)存來承載工作集。第4頁,共58頁。SparkSpark是UC Berkeley AMP lab所開源的類Hadoop

4、 MapReduce的通用的并行計(jì)算框架.Spark基于map reduce算法實(shí)現(xiàn)的分布式計(jì)算,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn);但不同于MapReduce的是Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的map reduce的算法。第5頁,共58頁。Spark Shark基本上就是在Spark的框架基礎(chǔ)上提供和Hive一樣的HiveQL命令接口,為了最大程度的保持和Hive的兼容性,Shark使用了Hive的API來實(shí)現(xiàn)query Parsing和 Logic Plan generation,最后的P

5、hysicalPlan execution階段用Spark代替Hadoop MapReduce。通過配置Shark參數(shù),Shark可以自動(dòng)在內(nèi)存中緩存特定的RDD,實(shí)現(xiàn)數(shù)據(jù)重用,進(jìn)而加快特定數(shù)據(jù)集的檢索。同時(shí),Shark通過UDF用戶自定義函數(shù)實(shí)現(xiàn)特定的數(shù)據(jù)分析學(xué)習(xí)算法,使得SQL數(shù)據(jù)查詢和運(yùn)算分析能結(jié)合在一起,最大化RDD的重復(fù)使用。第6頁,共58頁。目 錄軟件開發(fā)工具軟件開發(fā)平臺(tái)數(shù)據(jù)庫平臺(tái) 網(wǎng)絡(luò)應(yīng)用開發(fā)平臺(tái)(.Net,Java,J2EE等) 嵌入式開發(fā)平臺(tái)(Linux,Tornado,mobileWin)Oracle 、Sybase、SQL Server、DB2、mySQL分布式數(shù)據(jù)庫系統(tǒng)

6、開發(fā)源代碼軟件基礎(chǔ)開發(fā)工具測試環(huán)境與工具第7頁,共58頁。軟件開發(fā)平臺(tái)網(wǎng)絡(luò)應(yīng)用開發(fā)平臺(tái).NetJavaJ2EE嵌入式開發(fā)平臺(tái)嵌入式操作系統(tǒng)嵌入式開發(fā)環(huán)境嵌入式開發(fā)平臺(tái)第8頁,共58頁。.Net根據(jù)微軟的定義:.NET is a revolutionary new platform, built on open Internet protocols and standards, with tools and services that meld computing and communications in new ways.即:.NET = 新平臺(tái) + 標(biāo)準(zhǔn)協(xié)議 + 統(tǒng)一開發(fā)工具 第9頁,共5

7、8頁。.Net.Net作為新一代互聯(lián)軟件和服務(wù)戰(zhàn)略,將使微軟現(xiàn)有的軟件在網(wǎng)絡(luò)時(shí)代不僅適用于傳統(tǒng)的個(gè)人計(jì)算機(jī),而且能夠滿足呈現(xiàn)強(qiáng)勁增長的新設(shè)備的需要。到底什么是.Net呢?微軟總裁兼首席執(zhí)行官Steve Baller把它定義為:.Net代表一個(gè)集體,一個(gè)環(huán)境,一個(gè)可以作為平臺(tái)支持下一代Internet的可編程結(jié)構(gòu)。.Net的目的是想將任何語言都統(tǒng)一到.Net平臺(tái)上。最終目的是讓用戶在任何地方、任何時(shí)間,以及利用任何設(shè)備都能訪問所需的信息、文件和程序。用戶不需要知道這些文件放在什么地方,只需要發(fā)出請(qǐng)求,然后只管接收就可以了。所有后臺(tái)的復(fù)雜性是完全屏蔽起來的。.NET 是 Microsoft XML

8、 Web services 平臺(tái)。XML Web services 允許應(yīng)用程序通過 Internet 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語言。第10頁,共58頁。.Net對(duì)于一個(gè)將要面向.NET平臺(tái)進(jìn)行開發(fā)的人來說,了解一下.NET平臺(tái)的整個(gè)構(gòu)成是非常有必要的,如圖1所示即說明了.NET平臺(tái)的整體結(jié)構(gòu):這個(gè)圖就是著名的.NET平臺(tái)結(jié)構(gòu)圖,從這個(gè)圖上可以看到.NET Framework是在Microsoft.NET平臺(tái)上開發(fā)的基礎(chǔ)ASP.NET、Windows Forms 和VS.NET都不過是.NET平臺(tái)開發(fā)的一部分,他用于.NET應(yīng)用程序的開發(fā)及展示。第11頁,共

9、58頁。.NetWindows 2000 Server在.Net結(jié)構(gòu)中,最重要要的革新就屬于Web Services。Web Server構(gòu)架在Web Server上,能夠通過SOAP與用戶端聯(lián)系,并幫助用戶端完成其提供的服務(wù)。在.Net Framework中,Web Server就是架構(gòu)在Windows 2000 Server中的ISS5.0上的。SQL Server 2000,SQL Server 提供完善數(shù)據(jù)處理功能.包含數(shù)據(jù)挖掘,XML的直接Internet支持。目前在Windows CE中推出了SQL Server2000 WindowsCE Edition .Microsoft W

10、indows Server System包括:Microsoft Application Center 2000 - 配置和管理Web應(yīng)用程序。Microsoft BizTalk Server 2002 - 建立基于XML的跨應(yīng)用和組織的商業(yè)邏輯第12頁,共58頁。.NetCommerce Server 2000能夠迅速建立大規(guī)模電子商務(wù)的解決方案Microsoft Content Management Server 2002 管理動(dòng)態(tài)電子商務(wù)網(wǎng)站的目錄Microsoft Exchange Server 2000 用于進(jìn)行隨時(shí)隨地的通訊協(xié)作Microsoft Host Integration

11、Server 2000 用于和主機(jī)系統(tǒng)之間傳輸數(shù)據(jù)Microsoft Internet Security and Acceleration Server 2000 (ISA Server) internet連接Microsoft Mobile Information Server 2002 用于支持手持設(shè)備Microsoft Operations Manager 2000 描述企業(yè)級(jí)解決方案的操作管理Microsoft Project Server 2002 - 提供項(xiàng)目管理的最佳方案Microsoft SharePoint Portal Server 2001 查詢、共享、發(fā)布商業(yè)信息Mic

12、rosoft SQL Server 2000 企業(yè)級(jí)數(shù)據(jù)庫Microsoft Visual Studio .NET和Microsoft .NET Framework對(duì)于建立,發(fā)布并運(yùn)行Web Services是一個(gè)完美的解決方案。微軟官方的教程。第13頁,共58頁。JavaJava是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言, 由SUN公司的詹姆斯高斯林(James Gosling)等人于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(tái)(即JavaEE,JavaME, JavaSE)的總稱。Java自面世后就非常流行,發(fā)展迅速,對(duì)C+語言形成了有力沖擊。Java 技術(shù)具有卓越的通

13、用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。第14頁,共58頁。JavaJava分為三個(gè)體系:Java SE(Java Platform Standard Edition,java平臺(tái)標(biāo)準(zhǔn)版)。Java SE 以前稱為J2SE。它允許開發(fā)和部署在桌 面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的Java 應(yīng)用程序。Java SE 包含了支持Java Web 服務(wù)開發(fā)的類,并為Java Platform,Enterprise Ed

14、ition(Java EE)提供基礎(chǔ)。Java EE(Java Platform Enterprise Edition,java平臺(tái)企業(yè)版)。這個(gè)版本以前稱為J2EE。企業(yè)版本幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端 Java 應(yīng)用程序。Java EE 是在Java SE 的基礎(chǔ)上構(gòu)建的,它提供Web 服務(wù)、組件模型、管理和通信API,可以用來實(shí)現(xiàn)企業(yè)級(jí)的面向服務(wù)體系結(jié)構(gòu)(SOA)和Web 2.0 應(yīng)用程序。Java ME(Java Platform Micro Edition,java平臺(tái)微型版)。Java ME 為在移動(dòng)設(shè)備和嵌入式設(shè)備(比如手機(jī)、PDA、電視機(jī)頂盒和打印機(jī))上運(yùn)

15、行的應(yīng)用程序提供一個(gè)健壯且靈活的環(huán)境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議以及對(duì)可以動(dòng)態(tài)下載的連網(wǎng)和離線應(yīng)用程序的豐富支持?;贘ava ME 規(guī)范的應(yīng)用程序只需編寫一次,就可以用于許多設(shè)備,而且可以利用每個(gè)設(shè)備的本機(jī)功能。第15頁,共58頁。Java(1)Java語言特性 面向?qū)ο蟆⑵脚_(tái)無關(guān)性、自動(dòng)垃圾回收。(2)Java運(yùn)行環(huán)境 Java運(yùn)行時(shí)環(huán)境,即Java Runtime Environment,簡稱JRE,是在任何平臺(tái)上運(yùn)行Java編寫的程序都需要用到的軟件。 JRE的成分:Java類庫、綜合庫文件、用戶界面庫文件、一個(gè)用于執(zhí)行軟件的Java虛擬機(jī)、

16、插件,可以在瀏覽器里面使用、JWS,可以讓終 端用戶連接到互聯(lián)網(wǎng)、許可文件和文檔。(3)集成開發(fā)環(huán)境IDE BEA Workshop、IntelliJ IDEA、Jbuilder、Jcreator、SUN Java Studio Enterprise、WebSphere Develop & Development Studio商業(yè)軟件,BlueJ、免費(fèi)軟件, Eclipse、NetBeans免費(fèi)開源軟件第16頁,共58頁。Java優(yōu)勢:與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計(jì)的 Java 開發(fā)公司被要求所設(shè)計(jì)的 Java軟件必須相互兼容?!癑av

17、a 語言靠群體的力量而非公司的力量”是Sun公司的口號(hào)之一,并獲得了廣大軟件開發(fā)商的認(rèn)同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同。Sun 公司對(duì) Java 編程語言的解釋是:Java 編程語言是個(gè)簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動(dòng)態(tài)的語言。Java 平臺(tái)是基于 Java 語言的平臺(tái)。這樣的平臺(tái)非常流行。因此微軟公司推出了與之競爭的.NET平臺(tái)以及模仿Java的C#語言。Java是功能完善的通用程序設(shè)計(jì)語言,可以用來開發(fā)可靠的、要求嚴(yán)格的應(yīng)用程序。第17頁,共58頁。J2EEJ2EE(企業(yè)版)是建立在Java 2平臺(tái)上的企業(yè)級(jí)應(yīng)用的解決方

18、案。J2EE技術(shù)的基礎(chǔ)便是Java 2平臺(tái),不但有J2SE平臺(tái)的所有功能,同時(shí)還提供了對(duì)EJB,Servlet,JSP,XML等技術(shù)的全面支持,其最終目標(biāo)是成為一個(gè)支持企業(yè)級(jí)應(yīng)用開發(fā)的體系結(jié)構(gòu),簡化企業(yè)解決方案的開發(fā),部署和管理等復(fù)雜問題。事實(shí)上,J2EE已經(jīng)成為企業(yè)級(jí)開發(fā)的工業(yè)標(biāo)準(zhǔn)和首選平臺(tái) 。J2EE的優(yōu)勢 J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良 好的機(jī)制。 J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各 個(gè)應(yīng)用組件根據(jù)他們所在的層分布在不同的機(jī)器上。 第18頁,共58頁。J2EEJ2EE的4層模型運(yùn)行在客戶端機(jī)器上的客戶層組件運(yùn)行在J2EE服務(wù)器上

19、的Web層組件運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件J2EE的組件、服務(wù)和API1)JDBC(Java Database Connectivity)2)JNDI(Java Name and Directory Interface)3)EJB(Enterprise JavaBean)4)RMI(Remote Method Invoke)第19頁,共58頁。J2EE5)Java IDL/CORBA(通用對(duì)象請(qǐng)求代理架構(gòu)是軟件構(gòu)建的一個(gè)標(biāo)準(zhǔn) )6)JSP7)Java Servlet8)XML9)JM

20、S10)JTS10)JTA12)JavaMail13)JAF(JavaBeans Activation Framework)第20頁,共58頁。J2EE,J2SE,J2ME的區(qū)別J2EE是Java 2 enterprise edition是Java的一種企業(yè)版用于企業(yè)級(jí)的應(yīng)用服務(wù)開發(fā)J2SE是Java 2 standard edition是Java的標(biāo)準(zhǔn)版,用于標(biāo)準(zhǔn)的應(yīng)用開發(fā)J2ME是Java 2 Micro Edition是Java的微型版,常用于手機(jī)上的開發(fā)J2EE,J2SE,J2ME是java針對(duì)不同的的使用來提供不同的服務(wù),也就是提供不同類型的類庫。第21頁,共58頁。J2EE為搭建具

21、有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個(gè)應(yīng)用組件根據(jù)他們所在的層分布在不同的機(jī)器上。JAVA劣勢劣勢:j2EE的架構(gòu)很完美,第一版軟件可以做滿意,但是很不適合互聯(lián)網(wǎng)模式的持續(xù)不斷修改?;ヂ?lián)網(wǎng)軟件工程管理上的不足,持續(xù)的修修補(bǔ)補(bǔ)導(dǎo)致架構(gòu)的破壞。第22頁,共58頁。嵌入式操作系統(tǒng)Palm OS 是3Com公司的產(chǎn)品,是專門為掌上電腦設(shè)計(jì)的,其特點(diǎn)是1、操作系統(tǒng)的節(jié)能功能2、合理的內(nèi)存管理3、Palm OS的數(shù)據(jù)是以數(shù)據(jù)庫的格式來存儲(chǔ)的Windows CE是微軟開發(fā)的,是基于掌上型電腦類的電子設(shè)備操作,設(shè)計(jì)目標(biāo)是模塊化及可伸

22、縮性,實(shí)時(shí)性能好,通信能力強(qiáng)大,支持多種CPU。其特點(diǎn)是1、具有靈活的電源管理功能,包括 睡眠/喚醒模式。2、適用了對(duì)象存儲(chǔ)技術(shù)。3、擁有良好的通信功能。4、支持嵌套中斷。5、更好的新城響應(yīng)功能。6、256個(gè)優(yōu)先級(jí)7、 Windows CE的API是WIN32 API的子集。第23頁,共58頁。嵌入式操作系統(tǒng)Linux是一個(gè)類似于UNIX的操作系統(tǒng)。是目前最為流行的一種開放源代碼的操作系統(tǒng)。三種嵌入式操作系統(tǒng)的比較Linux OS 與Windows CE 的比較嵌入式Linux OS與Windows CE的比較Plam OS與Windows CE的比較第24頁,共58頁。嵌入式開發(fā)環(huán)境emDe

23、bianBuildrootuClinuxScratchbox第25頁,共58頁。嵌入式開發(fā)平臺(tái)x86嵌入式開發(fā)平臺(tái)arm嵌入式開發(fā)平臺(tái)其他操作系統(tǒng)Tornado、Windows Mobile第26頁,共58頁。數(shù)據(jù)庫平臺(tái)OracleSybaseSQL serverDB2mySQL分布式數(shù)據(jù)庫系統(tǒng)第27頁,共58頁。OracleOracle 是以高級(jí)結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一 。Oracle數(shù)據(jù)庫包括Oracle數(shù)據(jù)庫服務(wù)器和客戶端。Oracle數(shù)據(jù)庫服務(wù)器:Oracle Server是一個(gè)對(duì)象一關(guān)

24、系數(shù)據(jù)庫管理系統(tǒng)。它提供開放的、全面的、和集成的信息管理方法。每個(gè)Server由一個(gè) Oracle DB和一個(gè) Oracle Server實(shí)例組成。它具有場地自治性(Site Autonomy)和提供數(shù)據(jù)存儲(chǔ)透明機(jī)制,以此可實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)透明性。每個(gè) Oracle數(shù)據(jù)庫對(duì)應(yīng)唯一的一個(gè)實(shí)例名SID,Oracle數(shù)據(jù)庫服務(wù)器啟動(dòng)后,一般至少有以下幾個(gè)用戶:Internal,它不是一個(gè)真實(shí)的用戶名,而是具有SYSDBA優(yōu)先級(jí)的Sys用戶的別名,它由DBA用戶使用來完成數(shù)據(jù)庫的管理任務(wù),第28頁,共58頁。Oracle包括啟動(dòng)和關(guān)閉數(shù)據(jù)庫;Sys,它是一個(gè) DBA用戶名,具有最大的數(shù)據(jù)庫操作權(quán)限;Sys

25、tem,它也是一個(gè) DBA用戶名,權(quán)限僅次于 Sys用戶。客戶端:為數(shù)據(jù)庫用戶操作端,由應(yīng)用、工具、SQL* NET組成,用戶操作數(shù)據(jù)庫時(shí),必須連接到一服務(wù)器,該數(shù)據(jù)庫稱為本地?cái)?shù)據(jù)庫(Local DB)。在網(wǎng)絡(luò)環(huán)境下其它服務(wù)器上的 DB稱為遠(yuǎn)程數(shù)據(jù)庫(Remote DB)。用戶要存取遠(yuǎn)程 DB上的數(shù)據(jù)時(shí),必須建立數(shù)據(jù)庫鏈。Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)包括物理存儲(chǔ)結(jié)構(gòu)和邏輯存儲(chǔ)結(jié)構(gòu)。由于它們是相分離的,所以在管理數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)時(shí)并不會(huì)影響對(duì)邏輯存儲(chǔ)結(jié)構(gòu)的存取。第29頁,共58頁。OracleOracle的特點(diǎn):1、Oracle7.X以來引入了共享SQL和多線索服務(wù)器體系結(jié)構(gòu)。這減少了Orac

26、le的資源占用,并增強(qiáng)了Oracle的能力,使之在低檔軟硬件平臺(tái)上用較少的資源就可以支持更多的用戶,而在高檔平臺(tái)上可以支持成百上千個(gè)用戶。2、提供了基于角色分工的安全保密管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。3、支持大量多媒體數(shù)據(jù),如二進(jìn)制圖形、聲音、動(dòng)畫及多維數(shù)據(jù)結(jié)構(gòu)等。4、提供了與第三代高級(jí)語言的接口軟件Pro*系列,能在C語言C+語言等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操縱。加上它有許多優(yōu)秀的前臺(tái)開發(fā)工具如POWERBUILD,SQL*FROMS,VISIABASIC等,可以快速開發(fā)生成基于客戶端PC平臺(tái)的應(yīng)用程序,并

27、具有良好的移植性。第30頁,共58頁。Oracle5、提供了新的分布式數(shù)據(jù)庫能力??赏ㄟ^網(wǎng)絡(luò)較方便地讀/寫遠(yuǎn)端數(shù)據(jù)庫里的數(shù)據(jù),并有對(duì)稱復(fù)制的技術(shù)。毫無疑問,優(yōu)越的性能是Oracle戰(zhàn)勝其他數(shù)據(jù)庫的首要法寶。Oracle優(yōu)越的性能使得其成為大型應(yīng)用和超大型系統(tǒng)的首選數(shù)據(jù)庫,而且甲骨文公司從未停止過在這方面的進(jìn)步。提供了基于角色的權(quán)限管理模式。通過角色管理,大大加強(qiáng)了數(shù)據(jù)庫的安全性,同時(shí),也為DBA提供了更加方便、快捷的管理用戶和權(quán)限的途徑??闪己玫刂С执髷?shù)據(jù)存儲(chǔ)格式,如圖形、音頻、視頻、動(dòng)畫等媒體格式。提供了良好的分布式管理功能,用戶可以很輕松地實(shí)現(xiàn)多數(shù)據(jù)庫的協(xié)調(diào)工作。提出了獨(dú)創(chuàng)性的表空間理念。

28、在數(shù)據(jù)模型方面,Oracle有著區(qū)別于其他數(shù)據(jù)庫的表空間概念。使數(shù)據(jù)在邏輯上劃分得更加清晰,而且具有更大的靈活性.第31頁,共58頁。SybaseSybase是美國Sybase公司在20世紀(jì)80年代中推出的客戶-服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫系統(tǒng),也是世界上第一個(gè)真正的基于客戶/服務(wù)器(Cilent/Server)結(jié)構(gòu)的RDBMS產(chǎn)品。Sybase中權(quán)限由高到低,可將用戶分為4種不同的類型,由高到低分別為:系統(tǒng)管理員、數(shù)據(jù)庫屬主、數(shù)據(jù)庫對(duì)象屬主和其他一般用戶。當(dāng)首次安裝Sybase SQLServer時(shí),自動(dòng)建立系統(tǒng)管理員帳戶。系統(tǒng)管理員具有整個(gè)系統(tǒng)的最高權(quán)利,同時(shí)被賦予系統(tǒng)管理角色、系統(tǒng)安全員角色和

29、操作員角色,有權(quán)執(zhí)行所有SQL命題,也是系統(tǒng)數(shù)據(jù)庫Master的屬主,可訪問所有數(shù)據(jù)庫和數(shù)據(jù)庫對(duì)象。第32頁,共58頁。Sybase一、客戶/服務(wù)器體系結(jié)構(gòu) Sybase是一種建立在客戶/服務(wù)器體系結(jié)構(gòu)上的數(shù)據(jù)庫管理系統(tǒng) 。 從硬件角度看,客戶/服務(wù)器體系結(jié)構(gòu)是指將某項(xiàng)任務(wù)在兩臺(tái)或多臺(tái)機(jī)器之間進(jìn)行分配,其中客戶機(jī)(Client)用來運(yùn)行提供用戶接口和前端處理的應(yīng)用程序,服務(wù)器機(jī)(Server)提供客戶機(jī)使用的各種資源和服務(wù)。從軟件角度看,客戶/服務(wù)器體系結(jié)構(gòu)是把某項(xiàng)應(yīng)用或軟件系統(tǒng)按邏輯功能劃分為客戶軟件部分和服務(wù)器軟件部分。客戶軟件部分一般負(fù)責(zé)數(shù)據(jù)的表示和應(yīng)用,處理用戶界面,用以接收用戶的數(shù)據(jù)

30、處理請(qǐng)求并將之轉(zhuǎn)換為對(duì)服務(wù)器的請(qǐng)求,要求服務(wù)器為其提供數(shù)據(jù)的存儲(chǔ)和檢索服務(wù);服務(wù)器端軟件負(fù)責(zé)接收客戶端軟件發(fā)來的請(qǐng)求并提供相應(yīng)服務(wù)。第33頁,共58頁。Sybase客戶/服務(wù)器融合了大型機(jī)的強(qiáng)大功能和中央控制以及PC機(jī)的低成本和較好的處理平衡??蛻?服務(wù)器為任務(wù)的集中/局部分布提供了一種新的方法,這種體系能夠使用戶對(duì)數(shù)據(jù)完整性、管理和安全性進(jìn)行集中控制。在緩解網(wǎng)絡(luò)交通和主機(jī)負(fù)荷以及滿足用戶需要方面,客戶/服務(wù)器體系提供了良好的解決方案??傊蛻?服務(wù)器的工作模式是:客戶與服務(wù)器之間采用網(wǎng)絡(luò)協(xié)議(如TCP/IP、IPX/SPX)進(jìn)行連接和通訊,由客戶端向服務(wù)器發(fā)出請(qǐng)求,服務(wù)器端響應(yīng)請(qǐng)求,并進(jìn)行

31、相應(yīng)服務(wù)。 第34頁,共58頁。Sybase二、訪問Sybase服務(wù)器的基本過程1建立客戶與服務(wù)器之間的連接,包括網(wǎng)絡(luò)連接、客戶進(jìn)程與服務(wù)器進(jìn)程之間的連接;2客戶端通過網(wǎng)絡(luò)發(fā)送SQL語句給服務(wù)器,用來查詢或操作服務(wù)器中的數(shù)據(jù)或數(shù)據(jù)庫對(duì)象;3服務(wù)器接收到SQL語句后,對(duì)其進(jìn)行語法分析、優(yōu)化和編譯后執(zhí)行;4如果執(zhí)行的語句產(chǎn)生一個(gè)結(jié)果集,服務(wù)器通過網(wǎng)絡(luò)把結(jié)果集返回給客戶;5客戶端對(duì)收到的結(jié)果作相應(yīng)的處理。第35頁,共58頁。Sybase在客戶/服務(wù)器體系,有兩種數(shù)據(jù)庫引擎結(jié)構(gòu),即多進(jìn)程數(shù)據(jù)庫引擎和單進(jìn)程、多線程引擎結(jié)構(gòu)。多進(jìn)程結(jié)構(gòu)即多個(gè)可執(zhí)行程序同時(shí)運(yùn)行。多進(jìn)程數(shù)據(jù)庫引擎一般用在大型機(jī)數(shù)據(jù)庫上。單進(jìn)

32、程多線程數(shù)據(jù)庫引擎在原理上和多進(jìn)程數(shù)據(jù)庫引擎類似,不同的是多線程數(shù)據(jù)庫引擎自己負(fù)責(zé)調(diào)度各應(yīng)用程序占用CPU的時(shí)間,而不依賴于操作系統(tǒng)。這樣,多線程數(shù)據(jù)庫引擎自我保護(hù)的能力更強(qiáng)。第36頁,共58頁。Sybase三、Sybase產(chǎn)品Sybase軟件可劃分為三個(gè)部分:一是進(jìn)行數(shù)據(jù)管理與維護(hù)的聯(lián)機(jī)關(guān)系數(shù)據(jù)庫管理系統(tǒng) SybaseSQLServer;二是支持?jǐn)?shù)據(jù)庫應(yīng)用系統(tǒng)的建立和開發(fā)的一組前端工具軟件 SybaseSQLTools;三是可把異構(gòu)環(huán)境下其他廠商的應(yīng)用軟件和任何類型的數(shù)據(jù)連接在一起 的接口軟件OpenClient/OpenServer。 OracleServer是一個(gè)真正的多進(jìn)程數(shù)據(jù)庫引擎,

33、Sybase數(shù)據(jù)庫管理系統(tǒng)采用的是單進(jìn)程多線程的引擎結(jié)構(gòu)。第37頁,共58頁。SQL ServerSQL Server的基本特征SQL Server是個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng),它具有如下一些基本特征:a.SQL Server可以放在若干個(gè)磁盤設(shè)備上,初始安裝時(shí)所需的磁盤空 間至少要17MB。b.SQL Server支持多庫結(jié)構(gòu),也就是說Sybase系統(tǒng)中可以有多個(gè)數(shù) 據(jù)庫。Sybase可以管理多個(gè)數(shù)據(jù)庫。c.SQL Server可以編譯和運(yùn)行T-SQL語句,并可返回客戶程序所要求 的結(jié)果。T-SQL語句是標(biāo)準(zhǔn)SQL的擴(kuò)充,它除了有數(shù)據(jù)定義語句、 數(shù)據(jù)操縱語句和數(shù)據(jù)控制語句之外,主要增加了流程控制語

34、句。d.SQL Server可以管理多個(gè)用戶并具有較高的事務(wù)吞吐量和較低的事 務(wù)響應(yīng)時(shí)間??蛻舻膽?yīng)用程序可以存取Server中某一個(gè)或幾個(gè)數(shù)據(jù)庫的數(shù)據(jù)。第38頁,共58頁。SQL Serversql server 2005 高可用性SQL Server 2005的失敗轉(zhuǎn)移集群和數(shù)據(jù)庫鏡像技術(shù)確保企業(yè)向員工、客戶和合作伙伴提交高度可靠和可用的應(yīng)用系統(tǒng)。管理工具SQL Server 2005引進(jìn)了一套集成的管理工具和管理應(yīng)用編程接口(APIs),以提供易用性、可管理性、及對(duì)大型SQL Server配置的支持。安全性增強(qiáng)SQL Server 2005旨在通過數(shù)據(jù)庫加密、更加安全的默認(rèn)設(shè)置、加強(qiáng)的密碼

35、政策和細(xì)化許可控制、及加強(qiáng)的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級(jí)別的安全性??缮炜s性SQL Server 2005可伸縮性的先進(jìn)性包括表格分區(qū)、復(fù)制能力的增強(qiáng)和64位支持。第39頁,共58頁。DB2DB2是IBM公司的產(chǎn)品,起源于System R和System R*.他支持從PC到UNIX,從中小型機(jī)到大型機(jī);從IBM到非IBM(HP及SUN UNIX系統(tǒng)等)各種操作平臺(tái)。他既可以在主機(jī)上以主/從方式獨(dú)立運(yùn)行,也可以在客戶/服務(wù)器環(huán)境中運(yùn)行。其中服務(wù)平臺(tái)可以是OS/400,AIX, OS/2,HP-UNIX,SUN-Solaris等操作系統(tǒng),客戶機(jī)平臺(tái)可以是OS/2或Windows, Dos,

36、 AIX,HP-UX,SUN Solaris等操作系統(tǒng) .DB2數(shù)據(jù)庫核心又稱作DB2公共服務(wù)器,采用多進(jìn)程多線索體系結(jié)構(gòu),可以運(yùn)行于多種操作系統(tǒng)之上,并分別根據(jù)相應(yīng)平臺(tái)環(huán)境作了調(diào)整和優(yōu)化,以便能夠達(dá)到較好的性能.第40頁,共58頁。DB2DB2核心數(shù)據(jù)庫的特色(1) 支持面向?qū)ο蟮木幊?。DB2支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如無結(jié)構(gòu)文 本對(duì)象,可以對(duì)無結(jié)構(gòu)文本對(duì)象進(jìn)行布爾匹配、最接近匹配和 任意匹配等搜索??梢越⒂脩魯?shù)據(jù)類型和用戶自定義函數(shù)。(2) 支持多媒體應(yīng)用程序。DB2支持大二分對(duì)象(blob),允許在 數(shù)據(jù)庫 中存取二進(jìn)制大對(duì)象和文本大對(duì)象。其中,二進(jìn)制大對(duì) 象可以用來存儲(chǔ)多媒體對(duì)象。(3)

37、備份和恢復(fù)能力(4) 支持存儲(chǔ)過程和觸發(fā)器,用戶可以在建表時(shí)顯示的定義復(fù)雜的 完整性規(guī)則(5) 支持的硅sql查詢(6) 支持異構(gòu)分布式數(shù)據(jù)庫訪問(7) 支持?jǐn)?shù)據(jù)復(fù)制第41頁,共58頁。mySQLMySQL是一個(gè)開放源碼的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL的特性1.使用C和C+編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性 2.支持AIX、FreeBSD、H

38、P-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 3.為多種編程語言提供了API。這些編程語言包括C、C+、 Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 4.支持多線程,充分利用CPU資源 5.優(yōu)化的SQL查詢算法,有效地提高查詢速度第42頁,共58頁。mySQL6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中。7.提供多語言支持,常見的編碼如中文的GB 2312、BIG5日文的Shift_JIS等都可以用作數(shù)據(jù)表

39、名和數(shù)據(jù)列名8.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑 、9.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具 10.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫 第43頁,共58頁。mySQLmySQL的應(yīng)用:與其他大型數(shù)據(jù)庫相比,它的功能不是最全的,架構(gòu)也不是最完善的。但是其體積小、速度快、總體擁有成本低,尤其是它具備開放源碼的優(yōu)勢,迅速成為中小型企業(yè)和網(wǎng)站的首選數(shù)據(jù)庫分布式數(shù)據(jù)庫系統(tǒng)是在集中式數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)上發(fā)展起來的,是計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物。分布式數(shù)據(jù)庫系統(tǒng)有兩種:一種是物理上分布的,但邏輯上卻是集中的。這種分布式數(shù)據(jù)庫只適宜用途比較單一的、不大的單位或部門.另一種分

40、布式數(shù)據(jù)庫系統(tǒng)在物理上和邏輯上都是分布的,也就是所謂聯(lián)邦式分布數(shù)據(jù)庫系統(tǒng),比較適宜于大范圍內(nèi)數(shù)據(jù)庫的集成。第44頁,共58頁。分布式數(shù)據(jù)庫系統(tǒng) DDBS的分類同構(gòu)同質(zhì)型DDBS:各個(gè)場地都采用同一類型的數(shù)據(jù)模型(譬如都是關(guān)系型),并且是同一型號(hào)的DBMS。同構(gòu)異質(zhì)型DDBS:各個(gè)場地采用同一類型的數(shù)據(jù)模型,但是DBMS的型號(hào)不同,譬如DB2、ORACLE、SYBASE、SQL Server等。異構(gòu)型DDBS:各個(gè)場地的數(shù)據(jù)模型的型號(hào)不同,甚至類型也不同。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,異種機(jī)聯(lián)網(wǎng)問題已經(jīng)得到較好的解決,此時(shí)依靠異構(gòu)型DDBS就能存取全網(wǎng)中各種異構(gòu)局部庫中的數(shù)據(jù)。第45頁,共58頁。分

41、布式數(shù)據(jù)庫系統(tǒng)DDBS的基本特點(diǎn):物理分布性:數(shù)據(jù)不是存儲(chǔ)在一個(gè)場地上,而是存儲(chǔ)在計(jì)算機(jī)網(wǎng)絡(luò)的多個(gè)場地上。邏輯整體性:數(shù)據(jù)物理分布在各個(gè)場地,但邏輯上是一個(gè)整體,它們被所有用戶(全局用戶)共享,并由一個(gè)DDBMS統(tǒng)一管理。場地自治性:各場地上的數(shù)據(jù)由本地的DBMS管理,具有自治處理能力,完成本場地的應(yīng)用(局部應(yīng)用)。場地之間協(xié)作性:各場地雖然具有高度的自治性,但是又相互協(xié)作構(gòu)成一個(gè)整體。第46頁,共58頁。分布式數(shù)據(jù)庫系統(tǒng)DDBS的優(yōu)點(diǎn):具有靈活的體系結(jié)構(gòu)適應(yīng)分布式的管理和控制機(jī)構(gòu)經(jīng)濟(jì)性能優(yōu)越系統(tǒng)的可靠性高、可用性好局部應(yīng)用的響應(yīng)速度快可擴(kuò)展性好,易于集成現(xiàn)有的系統(tǒng)DDBS的缺點(diǎn):系統(tǒng)開銷較大

42、,主要花在通信部分。復(fù)雜的存取結(jié)構(gòu)(如輔助索引、文件的鏈接技術(shù)),在集中式DBS中是有效存取數(shù)據(jù)的重要技術(shù),但在分布式系統(tǒng)中不一定有效。數(shù)據(jù)的安全性和保密性較難處理第47頁,共58頁。分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫總的趨勢是是客戶機(jī)越來越“瘦”,變成瀏覽器;而服務(wù)器的種類越來越多,容易實(shí)現(xiàn)系統(tǒng)的組裝。分布式系統(tǒng)是在集中式系統(tǒng)的基礎(chǔ)上發(fā)展而來的。DDB是數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物。分布式透明性是DDBS追求的目標(biāo)。第48頁,共58頁。軟件開發(fā)工具開放源代碼軟件基礎(chǔ)開發(fā)工具測試環(huán)境與工具第49頁,共58頁。開放源代碼軟件 開放源代碼軟件就是在開放源代碼許可證下發(fā)布的軟件,以保障軟件用戶自由使用及

43、接觸源代碼的權(quán)利。這同時(shí)也保障了用戶自行修改、復(fù)制以及再分發(fā)的權(quán)利。簡而言之,所有公布軟件源代碼的程序都可以稱為開放源代碼軟件 第50頁,共58頁。開放源代碼軟件 1. 重要人物Richard Stallman自由軟件運(yùn)動(dòng)的精神領(lǐng)袖Linus TorvaldsLinux操作系統(tǒng)的創(chuàng)造者Eric Steven Raymond開放源代碼運(yùn)動(dòng)理論家,F(xiàn)etchmail軟件的創(chuàng)造者,大教堂與市集的作者第51頁,共58頁。開放源代碼軟件 組織及協(xié)作計(jì)劃Linux第一個(gè)采用開放源代碼軟件開放模式的軟件協(xié)作計(jì)劃Debian開放源代碼開放模式下的Linux套件Mozilla開放源代碼的瀏覽器OpenO開放源代碼的辦公軟件OpenBSD、FreeBSD和NetBSD三個(gè)不同的開放源代碼UNIX版本開放源代碼促進(jìn)會(huì)(Open Source Initiative)促進(jìn)開放源代碼運(yùn)動(dòng)發(fā)展的組織OSDN專門發(fā)布

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論