版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、29 七月 2022第三章:軟件開發(fā)平臺與工具 軟件開發(fā)技術(shù) 第1頁,共58頁。補充大數(shù)據(jù)現(xiàn)在是業(yè)內(nèi)炙手可熱的話題,隨著技術(shù)的發(fā)展,大數(shù)據(jù)存儲技術(shù)已經(jīng)不在是難點,但是對大數(shù)據(jù)如何做好存儲后的下一步處理將是未來競爭的焦點,目前比較受歡迎的Storm, Spark, Hadoop三個大數(shù)據(jù)處理工具都是JVM上的語言寫成的。Spark由Scala寫成,是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行計算框架,Spark基于map reduce算法實現(xiàn)的分布式計算,擁有Hadoop MapReduce所具有的優(yōu)點。Storm由java和clojure寫成,
2、storm的優(yōu)點是全內(nèi)存計算,因為內(nèi)存尋址速度是硬盤的百萬倍以上,所以storm的速度相比較hadoop非??臁adoop是實現(xiàn)了mapreduce的思想,將數(shù)據(jù)切片計算來處理大量的離線數(shù)據(jù)數(shù)據(jù)。hadoop處理的數(shù)據(jù)必須是已經(jīng)存放在hdfs上或者類似hbase的數(shù)據(jù)庫中,所以hadoop實現(xiàn)的時候是通過移動計算到這些存放數(shù)據(jù)的機器上來提高效率。第2頁,共58頁。SparkSpark是發(fā)源于美國加州大學伯克利分校AMPLab的集群計算平臺。它立足于內(nèi)存計算,從多迭代批量處理出發(fā),兼收并蓄數(shù)據(jù)倉庫、流處理和圖計算等多種計算范式,是罕見的全能選手。 Spark已正式申請加入Apache孵化器,從
3、靈機一閃的實驗室“電火花”成長為大數(shù)據(jù)技術(shù)平臺中異軍突起的新銳。本文主要講述Spark的設(shè)計思想。Spark如其名,展現(xiàn)了大數(shù)據(jù)不常見的“電光石火”。具體特點概括為“輕、快、靈和巧”。第3頁,共58頁。SparkSpark首先是一種粗粒度數(shù)據(jù)并行(data parallel)的計算范式。數(shù)據(jù)并行的范式?jīng)Q定了 Spark無法完美支持細粒度、異步更新的操作。Spark的計算抽象是數(shù)據(jù)流,而且是帶有工作集(working set)的數(shù)據(jù)流。Spark的突破在于,在保證容錯的前提下,用內(nèi)存來承載工作集。第4頁,共58頁。SparkSpark是UC Berkeley AMP lab所開源的類Hadoop
4、 MapReduce的通用的并行計算框架.Spark基于map reduce算法實現(xiàn)的分布式計算,擁有Hadoop MapReduce所具有的優(yōu)點;但不同于MapReduce的是Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學習等需要迭代的map reduce的算法。第5頁,共58頁。Spark Shark基本上就是在Spark的框架基礎(chǔ)上提供和Hive一樣的HiveQL命令接口,為了最大程度的保持和Hive的兼容性,Shark使用了Hive的API來實現(xiàn)query Parsing和 Logic Plan generation,最后的P
5、hysicalPlan execution階段用Spark代替Hadoop MapReduce。通過配置Shark參數(shù),Shark可以自動在內(nèi)存中緩存特定的RDD,實現(xiàn)數(shù)據(jù)重用,進而加快特定數(shù)據(jù)集的檢索。同時,Shark通過UDF用戶自定義函數(shù)實現(xiàn)特定的數(shù)據(jù)分析學習算法,使得SQL數(shù)據(jù)查詢和運算分析能結(jié)合在一起,最大化RDD的重復使用。第6頁,共58頁。目 錄軟件開發(fā)工具軟件開發(fā)平臺數(shù)據(jù)庫平臺 網(wǎng)絡應用開發(fā)平臺(.Net,Java,J2EE等) 嵌入式開發(fā)平臺(Linux,Tornado,mobileWin)Oracle 、Sybase、SQL Server、DB2、mySQL分布式數(shù)據(jù)庫系統(tǒng)
6、開發(fā)源代碼軟件基礎(chǔ)開發(fā)工具測試環(huán)境與工具第7頁,共58頁。軟件開發(fā)平臺網(wǎng)絡應用開發(fā)平臺.NetJavaJ2EE嵌入式開發(fā)平臺嵌入式操作系統(tǒng)嵌入式開發(fā)環(huán)境嵌入式開發(fā)平臺第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 = 新平臺 + 標準協(xié)議 + 統(tǒng)一開發(fā)工具 第9頁,共5
7、8頁。.Net.Net作為新一代互聯(lián)軟件和服務戰(zhàn)略,將使微軟現(xiàn)有的軟件在網(wǎng)絡時代不僅適用于傳統(tǒng)的個人計算機,而且能夠滿足呈現(xiàn)強勁增長的新設(shè)備的需要。到底什么是.Net呢?微軟總裁兼首席執(zhí)行官Steve Baller把它定義為:.Net代表一個集體,一個環(huán)境,一個可以作為平臺支持下一代Internet的可編程結(jié)構(gòu)。.Net的目的是想將任何語言都統(tǒng)一到.Net平臺上。最終目的是讓用戶在任何地方、任何時間,以及利用任何設(shè)備都能訪問所需的信息、文件和程序。用戶不需要知道這些文件放在什么地方,只需要發(fā)出請求,然后只管接收就可以了。所有后臺的復雜性是完全屏蔽起來的。.NET 是 Microsoft XML
8、 Web services 平臺。XML Web services 允許應用程序通過 Internet 進行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語言。第10頁,共58頁。.Net對于一個將要面向.NET平臺進行開發(fā)的人來說,了解一下.NET平臺的整個構(gòu)成是非常有必要的,如圖1所示即說明了.NET平臺的整體結(jié)構(gòu):這個圖就是著名的.NET平臺結(jié)構(gòu)圖,從這個圖上可以看到.NET Framework是在Microsoft.NET平臺上開發(fā)的基礎(chǔ)ASP.NET、Windows Forms 和VS.NET都不過是.NET平臺開發(fā)的一部分,他用于.NET應用程序的開發(fā)及展示。第11頁,共
9、58頁。.NetWindows 2000 Server在.Net結(jié)構(gòu)中,最重要要的革新就屬于Web Services。Web Server構(gòu)架在Web Server上,能夠通過SOAP與用戶端聯(lián)系,并幫助用戶端完成其提供的服務。在.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應用程序。Microsoft BizTalk Server 2002 - 建立基于XML的跨應用和組織的商業(yè)邏輯第12頁,共58頁。.NetCommerce Server 2000能夠迅速建立大規(guī)模電子商務的解決方案Microsoft Content Management Server 2002 管理動態(tài)電子商務網(wǎng)站的目錄Microsoft Exchange Server 2000 用于進行隨時隨地的通訊協(xié)作Microsoft Host Integration
11、Server 2000 用于和主機系統(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è)級解決方案的操作管理Microsoft Project Server 2002 - 提供項目管理的最佳方案Microsoft SharePoint Portal Server 2001 查詢、共享、發(fā)布商業(yè)信息Mic
12、rosoft SQL Server 2000 企業(yè)級數(shù)據(jù)庫Microsoft Visual Studio .NET和Microsoft .NET Framework對于建立,發(fā)布并運行Web Services是一個完美的解決方案。微軟官方的教程。第13頁,共58頁。JavaJava是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言, 由SUN公司的詹姆斯高斯林(James Gosling)等人于1995年5月推出的Java程序設(shè)計語言和Java平臺(即JavaEE,JavaME, JavaSE)的總稱。Java自面世后就非常流行,發(fā)展迅速,對C+語言形成了有力沖擊。Java 技術(shù)具有卓越的通
13、用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。第14頁,共58頁。JavaJava分為三個體系:Java SE(Java Platform Standard Edition,java平臺標準版)。Java SE 以前稱為J2SE。它允許開發(fā)和部署在桌 面、服務器、嵌入式環(huán)境和實時環(huán)境中使用的Java 應用程序。Java SE 包含了支持Java Web 服務開發(fā)的類,并為Java Platform,Enterprise Ed
14、ition(Java EE)提供基礎(chǔ)。Java EE(Java Platform Enterprise Edition,java平臺企業(yè)版)。這個版本以前稱為J2EE。企業(yè)版本幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務器端 Java 應用程序。Java EE 是在Java SE 的基礎(chǔ)上構(gòu)建的,它提供Web 服務、組件模型、管理和通信API,可以用來實現(xiàn)企業(yè)級的面向服務體系結(jié)構(gòu)(SOA)和Web 2.0 應用程序。Java ME(Java Platform Micro Edition,java平臺微型版)。Java ME 為在移動設(shè)備和嵌入式設(shè)備(比如手機、PDA、電視機頂盒和打印機)上運
15、行的應用程序提供一個健壯且靈活的環(huán)境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡協(xié)議以及對可以動態(tài)下載的連網(wǎng)和離線應用程序的豐富支持?;贘ava ME 規(guī)范的應用程序只需編寫一次,就可以用于許多設(shè)備,而且可以利用每個設(shè)備的本機功能。第15頁,共58頁。Java(1)Java語言特性 面向?qū)ο?、平臺無關(guān)性、自動垃圾回收。(2)Java運行環(huán)境 Java運行時環(huán)境,即Java Runtime Environment,簡稱JRE,是在任何平臺上運行Java編寫的程序都需要用到的軟件。 JRE的成分:Java類庫、綜合庫文件、用戶界面庫文件、一個用于執(zhí)行軟件的Java虛擬機、
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、免費軟件, Eclipse、NetBeans免費開源軟件第16頁,共58頁。Java優(yōu)勢:與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計的 Java 開發(fā)公司被要求所設(shè)計的 Java軟件必須相互兼容?!癑av
17、a 語言靠群體的力量而非公司的力量”是Sun公司的口號之一,并獲得了廣大軟件開發(fā)商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同。Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。Java 平臺是基于 Java 語言的平臺。這樣的平臺非常流行。因此微軟公司推出了與之競爭的.NET平臺以及模仿Java的C#語言。Java是功能完善的通用程序設(shè)計語言,可以用來開發(fā)可靠的、要求嚴格的應用程序。第17頁,共58頁。J2EEJ2EE(企業(yè)版)是建立在Java 2平臺上的企業(yè)級應用的解決方
18、案。J2EE技術(shù)的基礎(chǔ)便是Java 2平臺,不但有J2SE平臺的所有功能,同時還提供了對EJB,Servlet,JSP,XML等技術(shù)的全面支持,其最終目標是成為一個支持企業(yè)級應用開發(fā)的體系結(jié)構(gòu),簡化企業(yè)解決方案的開發(fā),部署和管理等復雜問題。事實上,J2EE已經(jīng)成為企業(yè)級開發(fā)的工業(yè)標準和首選平臺 。J2EE的優(yōu)勢 J2EE為搭建具有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良 好的機制。 J2EE使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各 個應用組件根據(jù)他們所在的層分布在不同的機器上。 第18頁,共58頁。J2EEJ2EE的4層模型運行在客戶端機器上的客戶層組件運行在J2EE服務器上
19、的Web層組件運行在J2EE服務器上的業(yè)務邏輯層組件運行在EIS服務器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件J2EE的組件、服務和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(通用對象請求代理架構(gòu)是軟件構(gòu)建的一個標準 )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è)級的應用服務開發(fā)J2SE是Java 2 standard edition是Java的標準版,用于標準的應用開發(fā)J2ME是Java 2 Micro Edition是Java的微型版,常用于手機上的開發(fā)J2EE,J2SE,J2ME是java針對不同的的使用來提供不同的服務,也就是提供不同類型的類庫。第21頁,共58頁。J2EE為搭建具
21、有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良好的機制2EE使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各個應用組件根據(jù)他們所在的層分布在不同的機器上。JAVA劣勢劣勢:j2EE的架構(gòu)很完美,第一版軟件可以做滿意,但是很不適合互聯(lián)網(wǎng)模式的持續(xù)不斷修改?;ヂ?lián)網(wǎng)軟件工程管理上的不足,持續(xù)的修修補補導致架構(gòu)的破壞。第22頁,共58頁。嵌入式操作系統(tǒng)Palm OS 是3Com公司的產(chǎn)品,是專門為掌上電腦設(shè)計的,其特點是1、操作系統(tǒng)的節(jié)能功能2、合理的內(nèi)存管理3、Palm OS的數(shù)據(jù)是以數(shù)據(jù)庫的格式來存儲的Windows CE是微軟開發(fā)的,是基于掌上型電腦類的電子設(shè)備操作,設(shè)計目標是模塊化及可伸
22、縮性,實時性能好,通信能力強大,支持多種CPU。其特點是1、具有靈活的電源管理功能,包括 睡眠/喚醒模式。2、適用了對象存儲技術(shù)。3、擁有良好的通信功能。4、支持嵌套中斷。5、更好的新城響應功能。6、256個優(yōu)先級7、 Windows CE的API是WIN32 API的子集。第23頁,共58頁。嵌入式操作系統(tǒng)Linux是一個類似于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ā)平臺x86嵌入式開發(fā)平臺arm嵌入式開發(fā)平臺其他操作系統(tǒng)Tornado、Windows Mobile第26頁,共58頁。數(shù)據(jù)庫平臺OracleSybaseSQL serverDB2mySQL分布式數(shù)據(jù)庫系統(tǒng)第27頁,共58頁。OracleOracle 是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,是目前最流行的客戶/服務器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一 。Oracle數(shù)據(jù)庫包括Oracle數(shù)據(jù)庫服務器和客戶端。Oracle數(shù)據(jù)庫服務器:Oracle Server是一個對象一關(guān)
24、系數(shù)據(jù)庫管理系統(tǒng)。它提供開放的、全面的、和集成的信息管理方法。每個Server由一個 Oracle DB和一個 Oracle Server實例組成。它具有場地自治性(Site Autonomy)和提供數(shù)據(jù)存儲透明機制,以此可實現(xiàn)數(shù)據(jù)存儲透明性。每個 Oracle數(shù)據(jù)庫對應唯一的一個實例名SID,Oracle數(shù)據(jù)庫服務器啟動后,一般至少有以下幾個用戶:Internal,它不是一個真實的用戶名,而是具有SYSDBA優(yōu)先級的Sys用戶的別名,它由DBA用戶使用來完成數(shù)據(jù)庫的管理任務,第28頁,共58頁。Oracle包括啟動和關(guān)閉數(shù)據(jù)庫;Sys,它是一個 DBA用戶名,具有最大的數(shù)據(jù)庫操作權(quán)限;Sys
25、tem,它也是一個 DBA用戶名,權(quán)限僅次于 Sys用戶??蛻舳耍簽閿?shù)據(jù)庫用戶操作端,由應用、工具、SQL* NET組成,用戶操作數(shù)據(jù)庫時,必須連接到一服務器,該數(shù)據(jù)庫稱為本地數(shù)據(jù)庫(Local DB)。在網(wǎng)絡環(huán)境下其它服務器上的 DB稱為遠程數(shù)據(jù)庫(Remote DB)。用戶要存取遠程 DB上的數(shù)據(jù)時,必須建立數(shù)據(jù)庫鏈。Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)包括物理存儲結(jié)構(gòu)和邏輯存儲結(jié)構(gòu)。由于它們是相分離的,所以在管理數(shù)據(jù)的物理存儲結(jié)構(gòu)時并不會影響對邏輯存儲結(jié)構(gòu)的存取。第29頁,共58頁。OracleOracle的特點:1、Oracle7.X以來引入了共享SQL和多線索服務器體系結(jié)構(gòu)。這減少了Orac
26、le的資源占用,并增強了Oracle的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千個用戶。2、提供了基于角色分工的安全保密管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。3、支持大量多媒體數(shù)據(jù),如二進制圖形、聲音、動畫及多維數(shù)據(jù)結(jié)構(gòu)等。4、提供了與第三代高級語言的接口軟件Pro*系列,能在C語言C+語言等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進行操縱。加上它有許多優(yōu)秀的前臺開發(fā)工具如POWERBUILD,SQL*FROMS,VISIABASIC等,可以快速開發(fā)生成基于客戶端PC平臺的應用程序,并
27、具有良好的移植性。第30頁,共58頁。Oracle5、提供了新的分布式數(shù)據(jù)庫能力??赏ㄟ^網(wǎng)絡較方便地讀/寫遠端數(shù)據(jù)庫里的數(shù)據(jù),并有對稱復制的技術(shù)。毫無疑問,優(yōu)越的性能是Oracle戰(zhàn)勝其他數(shù)據(jù)庫的首要法寶。Oracle優(yōu)越的性能使得其成為大型應用和超大型系統(tǒng)的首選數(shù)據(jù)庫,而且甲骨文公司從未停止過在這方面的進步。提供了基于角色的權(quán)限管理模式。通過角色管理,大大加強了數(shù)據(jù)庫的安全性,同時,也為DBA提供了更加方便、快捷的管理用戶和權(quán)限的途徑??闪己玫刂С执髷?shù)據(jù)存儲格式,如圖形、音頻、視頻、動畫等媒體格式。提供了良好的分布式管理功能,用戶可以很輕松地實現(xiàn)多數(shù)據(jù)庫的協(xié)調(diào)工作。提出了獨創(chuàng)性的表空間理念。
28、在數(shù)據(jù)模型方面,Oracle有著區(qū)別于其他數(shù)據(jù)庫的表空間概念。使數(shù)據(jù)在邏輯上劃分得更加清晰,而且具有更大的靈活性.第31頁,共58頁。SybaseSybase是美國Sybase公司在20世紀80年代中推出的客戶-服務器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫系統(tǒng),也是世界上第一個真正的基于客戶/服務器(Cilent/Server)結(jié)構(gòu)的RDBMS產(chǎn)品。Sybase中權(quán)限由高到低,可將用戶分為4種不同的類型,由高到低分別為:系統(tǒng)管理員、數(shù)據(jù)庫屬主、數(shù)據(jù)庫對象屬主和其他一般用戶。當首次安裝Sybase SQLServer時,自動建立系統(tǒng)管理員帳戶。系統(tǒng)管理員具有整個系統(tǒng)的最高權(quán)利,同時被賦予系統(tǒng)管理角色、系統(tǒng)安全員角色和
29、操作員角色,有權(quán)執(zhí)行所有SQL命題,也是系統(tǒng)數(shù)據(jù)庫Master的屬主,可訪問所有數(shù)據(jù)庫和數(shù)據(jù)庫對象。第32頁,共58頁。Sybase一、客戶/服務器體系結(jié)構(gòu) Sybase是一種建立在客戶/服務器體系結(jié)構(gòu)上的數(shù)據(jù)庫管理系統(tǒng) 。 從硬件角度看,客戶/服務器體系結(jié)構(gòu)是指將某項任務在兩臺或多臺機器之間進行分配,其中客戶機(Client)用來運行提供用戶接口和前端處理的應用程序,服務器機(Server)提供客戶機使用的各種資源和服務。從軟件角度看,客戶/服務器體系結(jié)構(gòu)是把某項應用或軟件系統(tǒng)按邏輯功能劃分為客戶軟件部分和服務器軟件部分??蛻糗浖糠忠话阖撠煍?shù)據(jù)的表示和應用,處理用戶界面,用以接收用戶的數(shù)據(jù)
30、處理請求并將之轉(zhuǎn)換為對服務器的請求,要求服務器為其提供數(shù)據(jù)的存儲和檢索服務;服務器端軟件負責接收客戶端軟件發(fā)來的請求并提供相應服務。第33頁,共58頁。Sybase客戶/服務器融合了大型機的強大功能和中央控制以及PC機的低成本和較好的處理平衡??蛻?服務器為任務的集中/局部分布提供了一種新的方法,這種體系能夠使用戶對數(shù)據(jù)完整性、管理和安全性進行集中控制。在緩解網(wǎng)絡交通和主機負荷以及滿足用戶需要方面,客戶/服務器體系提供了良好的解決方案??傊?,客戶/服務器的工作模式是:客戶與服務器之間采用網(wǎng)絡協(xié)議(如TCP/IP、IPX/SPX)進行連接和通訊,由客戶端向服務器發(fā)出請求,服務器端響應請求,并進行
31、相應服務。 第34頁,共58頁。Sybase二、訪問Sybase服務器的基本過程1建立客戶與服務器之間的連接,包括網(wǎng)絡連接、客戶進程與服務器進程之間的連接;2客戶端通過網(wǎng)絡發(fā)送SQL語句給服務器,用來查詢或操作服務器中的數(shù)據(jù)或數(shù)據(jù)庫對象;3服務器接收到SQL語句后,對其進行語法分析、優(yōu)化和編譯后執(zhí)行;4如果執(zhí)行的語句產(chǎn)生一個結(jié)果集,服務器通過網(wǎng)絡把結(jié)果集返回給客戶;5客戶端對收到的結(jié)果作相應的處理。第35頁,共58頁。Sybase在客戶/服務器體系,有兩種數(shù)據(jù)庫引擎結(jié)構(gòu),即多進程數(shù)據(jù)庫引擎和單進程、多線程引擎結(jié)構(gòu)。多進程結(jié)構(gòu)即多個可執(zhí)行程序同時運行。多進程數(shù)據(jù)庫引擎一般用在大型機數(shù)據(jù)庫上。單進
32、程多線程數(shù)據(jù)庫引擎在原理上和多進程數(shù)據(jù)庫引擎類似,不同的是多線程數(shù)據(jù)庫引擎自己負責調(diào)度各應用程序占用CPU的時間,而不依賴于操作系統(tǒng)。這樣,多線程數(shù)據(jù)庫引擎自我保護的能力更強。第36頁,共58頁。Sybase三、Sybase產(chǎn)品Sybase軟件可劃分為三個部分:一是進行數(shù)據(jù)管理與維護的聯(lián)機關(guān)系數(shù)據(jù)庫管理系統(tǒng) SybaseSQLServer;二是支持數(shù)據(jù)庫應用系統(tǒng)的建立和開發(fā)的一組前端工具軟件 SybaseSQLTools;三是可把異構(gòu)環(huán)境下其他廠商的應用軟件和任何類型的數(shù)據(jù)連接在一起 的接口軟件OpenClient/OpenServer。 OracleServer是一個真正的多進程數(shù)據(jù)庫引擎,
33、Sybase數(shù)據(jù)庫管理系統(tǒng)采用的是單進程多線程的引擎結(jié)構(gòu)。第37頁,共58頁。SQL ServerSQL Server的基本特征SQL Server是個關(guān)系數(shù)據(jù)庫管理系統(tǒng),它具有如下一些基本特征:a.SQL Server可以放在若干個磁盤設(shè)備上,初始安裝時所需的磁盤空 間至少要17MB。b.SQL Server支持多庫結(jié)構(gòu),也就是說Sybase系統(tǒng)中可以有多個數(shù) 據(jù)庫。Sybase可以管理多個數(shù)據(jù)庫。c.SQL Server可以編譯和運行T-SQL語句,并可返回客戶程序所要求 的結(jié)果。T-SQL語句是標準SQL的擴充,它除了有數(shù)據(jù)定義語句、 數(shù)據(jù)操縱語句和數(shù)據(jù)控制語句之外,主要增加了流程控制語
34、句。d.SQL Server可以管理多個用戶并具有較高的事務吞吐量和較低的事 務響應時間??蛻舻膽贸绦蚩梢源嫒erver中某一個或幾個數(shù)據(jù)庫的數(shù)據(jù)。第38頁,共58頁。SQL Serversql server 2005 高可用性SQL Server 2005的失敗轉(zhuǎn)移集群和數(shù)據(jù)庫鏡像技術(shù)確保企業(yè)向員工、客戶和合作伙伴提交高度可靠和可用的應用系統(tǒng)。管理工具SQL Server 2005引進了一套集成的管理工具和管理應用編程接口(APIs),以提供易用性、可管理性、及對大型SQL Server配置的支持。安全性增強SQL Server 2005旨在通過數(shù)據(jù)庫加密、更加安全的默認設(shè)置、加強的密碼
35、政策和細化許可控制、及加強的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級別的安全性??缮炜s性SQL Server 2005可伸縮性的先進性包括表格分區(qū)、復制能力的增強和64位支持。第39頁,共58頁。DB2DB2是IBM公司的產(chǎn)品,起源于System R和System R*.他支持從PC到UNIX,從中小型機到大型機;從IBM到非IBM(HP及SUN UNIX系統(tǒng)等)各種操作平臺。他既可以在主機上以主/從方式獨立運行,也可以在客戶/服務器環(huán)境中運行。其中服務平臺可以是OS/400,AIX, OS/2,HP-UNIX,SUN-Solaris等操作系統(tǒng),客戶機平臺可以是OS/2或Windows, Dos,
36、 AIX,HP-UX,SUN Solaris等操作系統(tǒng) .DB2數(shù)據(jù)庫核心又稱作DB2公共服務器,采用多進程多線索體系結(jié)構(gòu),可以運行于多種操作系統(tǒng)之上,并分別根據(jù)相應平臺環(huán)境作了調(diào)整和優(yōu)化,以便能夠達到較好的性能.第40頁,共58頁。DB2DB2核心數(shù)據(jù)庫的特色(1) 支持面向?qū)ο蟮木幊?。DB2支持復雜的數(shù)據(jù)結(jié)構(gòu),如無結(jié)構(gòu)文 本對象,可以對無結(jié)構(gòu)文本對象進行布爾匹配、最接近匹配和 任意匹配等搜索??梢越⒂脩魯?shù)據(jù)類型和用戶自定義函數(shù)。(2) 支持多媒體應用程序。DB2支持大二分對象(blob),允許在 數(shù)據(jù)庫 中存取二進制大對象和文本大對象。其中,二進制大對 象可以用來存儲多媒體對象。(3)
37、備份和恢復能力(4) 支持存儲過程和觸發(fā)器,用戶可以在建表時顯示的定義復雜的 完整性規(guī)則(5) 支持的硅sql查詢(6) 支持異構(gòu)分布式數(shù)據(jù)庫訪問(7) 支持數(shù)據(jù)復制第41頁,共58頁。mySQLMySQL是一個開放源碼的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL的特性1.使用C和C+編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性 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.既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中。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的應用:與其他大型數(shù)據(jù)庫相比,它的功能不是最全的,架構(gòu)也不是最完善的。但是其體積小、速度快、總體擁有成本低,尤其是它具備開放源碼的優(yōu)勢,迅速成為中小型企業(yè)和網(wǎng)站的首選數(shù)據(jù)庫分布式數(shù)據(jù)庫系統(tǒng)是在集中式數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)上發(fā)展起來的,是計算機技術(shù)和網(wǎng)絡技術(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:各個場地都采用同一類型的數(shù)據(jù)模型(譬如都是關(guān)系型),并且是同一型號的DBMS。同構(gòu)異質(zhì)型DDBS:各個場地采用同一類型的數(shù)據(jù)模型,但是DBMS的型號不同,譬如DB2、ORACLE、SYBASE、SQL Server等。異構(gòu)型DDBS:各個場地的數(shù)據(jù)模型的型號不同,甚至類型也不同。隨著計算機網(wǎng)絡技術(shù)的發(fā)展,異種機聯(lián)網(wǎng)問題已經(jīng)得到較好的解決,此時依靠異構(gòu)型DDBS就能存取全網(wǎng)中各種異構(gòu)局部庫中的數(shù)據(jù)。第45頁,共58頁。分
41、布式數(shù)據(jù)庫系統(tǒng)DDBS的基本特點:物理分布性:數(shù)據(jù)不是存儲在一個場地上,而是存儲在計算機網(wǎng)絡的多個場地上。邏輯整體性:數(shù)據(jù)物理分布在各個場地,但邏輯上是一個整體,它們被所有用戶(全局用戶)共享,并由一個DDBMS統(tǒng)一管理。場地自治性:各場地上的數(shù)據(jù)由本地的DBMS管理,具有自治處理能力,完成本場地的應用(局部應用)。場地之間協(xié)作性:各場地雖然具有高度的自治性,但是又相互協(xié)作構(gòu)成一個整體。第46頁,共58頁。分布式數(shù)據(jù)庫系統(tǒng)DDBS的優(yōu)點:具有靈活的體系結(jié)構(gòu)適應分布式的管理和控制機構(gòu)經(jīng)濟性能優(yōu)越系統(tǒng)的可靠性高、可用性好局部應用的響應速度快可擴展性好,易于集成現(xiàn)有的系統(tǒng)DDBS的缺點:系統(tǒng)開銷較大
42、,主要花在通信部分。復雜的存取結(jié)構(gòu)(如輔助索引、文件的鏈接技術(shù)),在集中式DBS中是有效存取數(shù)據(jù)的重要技術(shù),但在分布式系統(tǒng)中不一定有效。數(shù)據(jù)的安全性和保密性較難處理第47頁,共58頁。分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫總的趨勢是是客戶機越來越“瘦”,變成瀏覽器;而服務器的種類越來越多,容易實現(xiàn)系統(tǒng)的組裝。分布式系統(tǒng)是在集中式系統(tǒng)的基礎(chǔ)上發(fā)展而來的。DDB是數(shù)據(jù)庫技術(shù)與網(wǎng)絡技術(shù)結(jié)合的產(chǎn)物。分布式透明性是DDBS追求的目標。第48頁,共58頁。軟件開發(fā)工具開放源代碼軟件基礎(chǔ)開發(fā)工具測試環(huán)境與工具第49頁,共58頁。開放源代碼軟件 開放源代碼軟件就是在開放源代碼許可證下發(fā)布的軟件,以保障軟件用戶自由使用及
43、接觸源代碼的權(quán)利。這同時也保障了用戶自行修改、復制以及再分發(fā)的權(quán)利。簡而言之,所有公布軟件源代碼的程序都可以稱為開放源代碼軟件 第50頁,共58頁。開放源代碼軟件 1. 重要人物Richard Stallman自由軟件運動的精神領(lǐng)袖Linus TorvaldsLinux操作系統(tǒng)的創(chuàng)造者Eric Steven Raymond開放源代碼運動理論家,F(xiàn)etchmail軟件的創(chuàng)造者,大教堂與市集的作者第51頁,共58頁。開放源代碼軟件 組織及協(xié)作計劃Linux第一個采用開放源代碼軟件開放模式的軟件協(xié)作計劃Debian開放源代碼開放模式下的Linux套件Mozilla開放源代碼的瀏覽器OpenO開放源代碼的辦公軟件OpenBSD、FreeBSD和NetBSD三個不同的開放源代碼UNIX版本開放源代碼促進會(Open Source Initiative)促進開放源代碼運動發(fā)展的組織OSDN專門發(fā)布
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人住宅裝修竣工驗收合同7篇
- 二零二五年財務咨詢服務合同標的費用與服務內(nèi)容
- 2025年個人合伙退伙協(xié)議書示范文本解讀4篇
- 弱電智能化設(shè)計合同(2篇)
- 工程結(jié)算合同(2篇)
- 2024年中級經(jīng)濟師考試題庫附參考答案(奪分金卷)
- 2024年助理會計師《初級會計實務》高頻真題庫匯編及答案
- 電子控制方向課程設(shè)計
- 二零二五年度汽車零部件模具設(shè)計合作協(xié)議3篇
- 2025年二零二五民辦學校教師科研創(chuàng)新聘用協(xié)議4篇
- 2024-2025學年山東省濰坊市高一上冊1月期末考試數(shù)學檢測試題(附解析)
- 數(shù)學-湖南省新高考教學教研聯(lián)盟(長郡二十校聯(lián)盟)2024-2025學年2025屆高三上學期第一次預熱演練試題和答案
- 2020-2024年安徽省初中學業(yè)水平考試中考物理試卷(5年真題+答案解析)
- 部編版5年級語文下冊第五單元學歷案
- 高考介詞練習(附答案)
- 單位就業(yè)人員登記表
- 衛(wèi)生監(jiān)督協(xié)管-醫(yī)療機構(gòu)監(jiān)督
- 記錄片21世紀禁愛指南
- 腰椎間盤的診斷證明書
- 移動商務內(nèi)容運營(吳洪貴)任務七 裂變傳播
- 單級倒立擺系統(tǒng)建模與控制器設(shè)計
評論
0/150
提交評論