《數據科學與工程導論》課件-07 數據庫系統_第1頁
《數據科學與工程導論》課件-07 數據庫系統_第2頁
《數據科學與工程導論》課件-07 數據庫系統_第3頁
《數據科學與工程導論》課件-07 數據庫系統_第4頁
《數據科學與工程導論》課件-07 數據庫系統_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據科學與工程導論IntroductiontoDataScienceandEngineering開篇實例從圖書館找一本書……100年前50年前今天數據庫的起源與發展關系數據庫數據倉庫與OLAP123第7章

數據庫系統SQL語言47.1數據庫的起源與發展什么是數據管理維基百科:數據管理,即對數據資源的管理。而數據資源管理,致力于發展處理企業數據生命周期的適當的建構、策略、實踐和程序。百度百科:數據管理是利用計算機硬件和軟件技術對數據進行有效的收集、存儲、處理和應用的過程。其目的在于充分有效地發揮數據的作用。數據管理經歷了四個發展階段:人工管理、文件系統、數據庫系統、大數據管理7.1數據庫的起源與發展數據管理系統的演變穿孔紙帶文件系統數據庫管理系統(DBMS)網狀數據庫、層次數據庫、關系數據庫面向對象數據庫決策支持系統和數據倉庫MPP數據庫Hadoop/Spark生態系統數據管理歷程7.1數據庫的起源與發展人工管理文件系統數據庫系統大數據管理系統數據不保存數據不共享數據不獨立應用程序管理數據數據管理歷程7.1數據庫的起源與發展人工管理文件系統數據庫系統大數據管理系統數據長期儲存由文件系統管理數據數據共享性差且冗余度大文件面向應用數據管理歷程7.1數據庫的起源與發展人工管理文件系統數據庫系統大數據管理系統DBMS出現數據冗余度減少數據充分共享數據管理歷程7.1數據庫的起源與發展人工管理文件系統數據庫系統大數據管理系統硬件基礎設施數據庫服務器數據庫管理軟件DBMS數據管理歷程7.1數據庫的起源與發展人工管理文件系統數據庫系統大數據管理系統數據庫和數據倉庫的挑戰數據增長速度非常迅速難以滿足高并發讀寫的需求難以滿足對海量數據高效率存儲和訪問的需求難以滿足對數據庫高可擴展性和高可用性的需求數據管理歷程7.1數據庫的起源與發展人工管理文件系統數據庫系統大數據管理系統由于大數據要處理大量、非結構化的數據,所以在各處理環節中都可以采用并行處理。目前,Hadoop、MapReduce和Spark等分布式處理方式已經成為大數據處理各環節的通用處理方法。大數據技術生態數據庫的起源與發展關系數據庫數據倉庫與OLAP123第7章

數據庫系統SQL語言47.2關系數據庫數據庫系統的類型Codd十二條法則7.2關系數據庫1,信息準則:關系數據庫中的所有信息都應在邏輯層上用表中的值顯式的表示。2,保證訪問準則:依于表名,主鍵和列名,保證能以邏輯方式訪問數據庫中的每個數據項。3,空值的系統化處理:RDBMS支持空值(不同于空的字符串或空白字符串,并且不為0)系統化的表示缺少的信息,且與數據類型無關。4,基于關系模型的聯機目錄:數據庫的描述在邏輯上應該和一般數據采用同樣的方式,使得授權用戶可以使用查詢一般數據所用的關系語言來查詢數據庫的描述信息。5,合理廣泛的子語言準則:一個關系系統可以具有幾種語言和多種終端使用方式(表格填空方式,命令方式等)。6,視圖更新準則:所有理論上可更新的視圖也應該允許由系統更新。Codd十二條法則7.2關系數據庫7,高階的插入,更新和刪除:把一個基本關系或導出關系作為一個操作對象進行數據的檢索以及插入,更新和刪除。8,數據的物理獨立性:無論數據庫的數據在存儲表示上或存取方法上做任何變化,應用程序和終端活動要都保持邏輯上的不變性。9,數據的邏輯獨立性:當基本表中進行理論上信息不受損害的任何變化時,應用程序和終端和終端活動都要保持邏輯上的不變性。10,數據完整的獨立性:關系數據庫的完整性約束必須是用數據子語言定義并存貯在目錄中的,而不是在應用程序中加以定義的。11,分布的獨立性:一個RDBMS應該具有分布獨立性。用戶不必了解數據庫是否是分布式的。12,無破壞準則:若RDBMS有某種低級語言,這一低級語言不能違背或繞過完整性準則以及高級關系語言表達的約束。數據庫的事務處理7.2關系數據庫一致性前后一致隔離性并發持久性永久原子性不可分割數據庫的事務處理7.2關系數據庫原子性一致性獨立性持久性原子性很容易理解,就是說事務里的所有操作要么全部做完,要么都不做,事務成功的條件是事務里的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要回滾。A¥1572.35B¥122.71A¥1562.35Step1:-¥100B¥132.71Step2:+¥100A¥1562.35Step1:-¥100A¥1572.35數據庫的事務處理7.2關系數據庫原子性一致性獨立性持久性一致性就是說數據庫要一直處于一致的狀態,事務的運行不會改變數據庫原本的一致性約束。a+b=10UPDATEATO3……UPDATEBTO7UPDATEATO4……UPDATEBTO7UPDATEATO4……數據庫的事務處理7.2關系數據庫原子性一致性獨立性持久性所謂的獨立性是指并發的事務之間不會互相影響,如果一個事務要訪問的數據正在被另外一個事務修改,只要另外一個事務未提交,它所訪問的數據就不受未提交事務的影響。A¥1562.35Step1:-¥100B¥132.71Step2:+¥100B¥122.71B¥122.71B¥132.71數據庫的事務處理7.2關系數據庫原子性一致性獨立性持久性持久性是指一旦事務提交后,它所做的修改將會永久保存在數據庫上,即使出現宕機也不會丟失。總結:這些原則解決了數據的一致性、系統的可靠性等關鍵問題,為關系數據庫技術的成熟以及在不同領域的大規模應用創造了必要的條件。關系7.2關系數據庫學號姓名班級年齡性別住址課號電話100張三計9120男上海楊浦上海89150200李四計9219男上海徐匯上海88888300王五計9318女上海浦東上海77777400趙六計9419女上海靜安上海99999500劉七計9521男上海普陀上海88666課號課程名地點教師1DB5101周老師2DB5102錢老師3DM5103金老師ID學號課號分數110019922001983300297studentcoursegrade主鍵主鍵主鍵關系代數7.2關系數據庫關系代數是一種抽象的查詢語言,用對關系的運算來表達查詢,作為研究關系數據語言的數學工具。集合運算并、交、差、廣義笛卡爾積關系運算選擇(Selection)投影(Projection)連接(Join)除(Division)索引7.2關系數據庫DBMS為每個主鍵建立一個索引為具有唯一約束性的字段自動建立索引對于經常檢索的字段,可為其建立額外的索引快速查詢對排序數據的即時訪問數據庫的起源與發展關系數據庫數據倉庫與OLAP123第7章

數據庫系統SQL語言4什么是數據倉庫7.3數據倉庫與OLAP數據倉庫一詞最早是在1990年,由BillInmon提出的。數據倉庫的四個基本特征:數據倉庫的數據是面向主題的(SubjectOriented)數據倉庫的數據時集成的(Integrate)數據倉庫的數據不可更新(Non-Volatile)數據倉庫的數據時隨時間不斷變化(TimeVariant)的什么是數據倉庫7.3數據倉庫與OLAP數據倉庫是是一個面向主題的、集成的、相對穩定的、反映歷史變化的數據集合,用于支持管理決策。數據倉庫的四種類型傳統數據倉庫實時處理數據倉庫關聯發現數據倉庫數據集市數據倉庫產生的原因7.3數據倉庫與OLAP數據處理的類型操作型處理(OLTP):數據的收集、整理、存儲、查詢和增、刪、改操作。分析型處理(OLAP):數據的再加工,往往要訪問大量的歷史數據,進行復雜的統計分析。與傳統數據庫的區別7.3數據倉庫與OLAP是數據庫系統的主要應用特點:數據存取頻率高、響應時間要快、存取數據量小、數據存儲正確可靠。為了有效地對事務進行處理,數據庫管理系統在技術和管理上采取了很多措施:提出了事務的概念采用日志、備份等恢復技術和并發控制技術采用索引技術快速定位數據操作型數據處理與傳統數據庫的區別7.3數據倉庫與OLAP典型的分析型應用就是決策支持系統。需要具備的基本功能是:建立各種數學模型,對數據統計分析,得出有用的信息作為決策的依據。常規應用實例:某產品的銷售經理希望通過調整該產品在各零售店的分配數量來擴大其銷售量。需要查詢歷史數據庫中各類零售店最近若干年(例如5年)內每天的銷售記錄。統計運算計算出近5年來各店的年度銷售量。比較確定銷售量增長較快的零售店。決策支持系統:需要花數小時甚至更長時間的處理、需要遍歷數據庫中的大部分數據,進行復雜的計算,需要消耗大量的系統資源。分析型數據處理與傳統數據庫的區別7.3數據倉庫與OLAPOLTP和OLAP的對比操作型數據分析型數據細節的綜合的,或提煉的當前數據歷史數據更新的不可更新,只讀的生命周期符合軟件開發生命周期以數據為中心的生命周期對性能要求高對性能要求寬松一個時刻操作一個單元一個時刻操作一個集合事務驅動分析驅動面向應用面向分析一次操作數據量小,計算簡單一次操作數據量大,計算復雜支持日常操作 支持管理需求傳統數據倉庫的架構7.3數據倉庫與OLAPERPCRMHRFinanceMiscSOURCEDATAOperationalSystemsPull/pushRDBMSEBCDICFlatfilesXMLSpreadSheetsLegacydataStagingAreaTransformationAndloadprocessesCRMREVENUESALESAggregationEDWOtherReferencedataExternalSourcesDataWarehouseArchitectureDataMiningPortalMetadataInfoTacticalReportingBusinessIntelligenceAnalyticsForecasting傳統數據倉庫的架構7.3數據倉庫與OLAPERPCRMHRFinanceMiscSOURCEDATAOperationalSystemsPull/pushRDBMSEBCDICFlatfilesXMLSpreadSheetsLegacydataStagingAreaTransformationAndloadprocessesCRMREVENUESALESAggregationEDWOtherReferencedataExternalSourcesDataWarehouseArchitectureDataMiningPortalMetadataInfoTacticalReportingBusinessIntelligenceAnalyticsForecasting面臨的挑戰:數據量增長過快,導致運算效率下降數據抽取處理的代價過高,無法在統一的視圖下處理無法處理多種類型的數據不具備進行搜索或關聯分析以發現隱藏關系的能力不具備數據挖掘等高級分析的能力數據倉庫架構的挑戰7.3數據倉庫與OLAP數據增長速度迅速數據源類型眾多需要數據庫虛擬化技術需要數據挖掘和機器學習的支持基于大數據技術的數據倉庫架構7.3數據倉庫與OLAP核心系統信用卡系統網銀現有業務系統ETL調度客服系統Flume宏觀政策/經濟社交網絡自然環境FTP定期加載非/半結構化數據ECIF-MDM其他系統……國際業務平臺實時交易數據Kafka實時接收實時決策平臺(StreamSQL)流式處理實時監測自助分析平臺(SQL)自助報表交互分析數據探索平臺(R)分析預測量化模型非結構化處理平臺(Hadoop/HBase)日志處理影像存儲語音分析視頻識別數據倉庫平臺(Hadoop)貼源區基礎區主題區元數據區計算資源管理平臺

(Virtualization,Multi-tenantSLA,Audit)離線批處理(SQL)數據加工主題模型Operational

DW

Traditional

DW

Data

MartContext-independentDW關系型數據庫與NoSQL數據存儲7.3數據倉庫與OLAP關系型數據庫的局限性難以滿足高并發讀寫的需求難以滿足對海量數據高效率存儲和訪問的需求難以滿足對數據庫高可擴展性和高可用性的需求NoSQL數據存儲不需要固定的表結構,通常也不存在連接操作。在大數據存取上具備關系型數據庫無法比擬的性能優勢。非關系型數據庫以鍵值對存儲,它的結構不固定,每一個元組可以有不一樣的字段,每個元組可以根據需要增加一些自己的鍵值對,這樣就不會局限于固定的結構,可以減少一些時間和空間的開銷。NoSQL

/NewSQL…7.3數據倉庫與OLAP大數據管理技術的四維象限7.3數據倉庫與OLAP根據應用的需求,可以從兩個維度入手。應用類型維度操作型應用分析型應用數據模型維度關系模型NoSQL數據模型大數據管理技術的新格局7.3數據倉庫與OLAP大數據管理技術的新格局7.3數據倉庫與OLAP面向操作型應用的關系數據庫技術傳統的基于行存儲的關系數據庫系統IBM的DB2、Oracle、微軟的SQLServer等面向實時計算的內存數據庫系統Altibase,Timesten,Hana等面向OLTP應用的newSQLVoltDB、Clustrix、NuoDB等大數據管理技術的新格局7.3數據倉庫與OLAP面向分析型應用的關系數據庫技術數據倉庫領頭羊TeraData列存儲數據庫系統MonetDB、InfiniDB、LucidDB,Vertica,SybaseIQ等基于列存儲技術的內存數據庫MonetDB和Vertica大數據管理技術的新格局7.3數據倉庫與OLAP面向操作型應用的

NoSQL

技術NoSQL數據庫系統相對于關系數據庫系統具有的優勢:數據模型靈活、支持多樣的數據類型高度的擴展性。NoSQL數據庫系統鍵值(key-value)存儲數據庫:Dynamo列式存儲數據庫:BigTable、HBase文檔存儲數據庫:MongoDB大數據管理技術的新格局7.3數據倉庫與OLAP面向分析型應用的

NoSQL

技術MapReduce技術以其創新的設計理念、高度的擴展性和容錯性,獲得了學術界和工業界的青睞,圍繞MapReduce的數據分析生態系統已經在幾年前形成。為了進一步提升計算性能和數據的實時分析能力,Hadoop與內存計算模式進行混合,目前已經成為實現高實時性的大數據查詢和計算分析新的趨勢。這種混合計算模式之集大成者當屬UCBerkeleyAMPLab開發的Spark生態系統。數據倉庫的應用7.3數據倉庫與OLAP數據庫的起源與發展關系數據庫數據倉庫與OLAP123第7章

數據庫系統SQL語言4結構性查詢語言(SQL)7.4SQL語言1974年,IBM的Boyce和Chamberlin將Codd關系數據庫的12條準則的數學定義以簡單的關鍵字語法表現出來,里程碑式地提出了SQL(StructuredQueryLanguage)語言。1976年IBM的Codd發表了一篇里程碑的論文“R系統:數據庫關系理論”,介紹了關系數據庫理論和查詢語言SQL。隨后,Oracle的創始人LarryEllison仔細地閱讀了這篇文章,幾個月后,Ellison他們就開發了Oracle1.0。SQL的強大功能7.4SQL語言適用于數據分析的自然語言基于關系代數、面向集合高效的語言聲明式語言:直接表述想要的結果,而非獲得方式優化的處理將結果與方式脫鉤有助于持續優化SQL引擎持續創新內部處理、語言結構和數據訪問一直在增強SQL的強大功能7.4SQL語言SQL廣受歡迎7.4SQL語言描述數據的方法:數據模型7.4SQL語言Adatamodel

isacollectionofconceptsfordescribingdata.Aschemaisadescriptionofaparticularcollectionofdata,usingagivendatamodel.Therelationalmodelofdataisthemostwidelyusedmodeltoday.Mainconcept:relation,basicallyatablewithrowsandcolumns.Everyrelationhasaschema,whichdescribesthecolumns,orfields.關系數據模型7.4SQL語言屬性(表格的列)元組(表格的行)關系(二維表格)抽象級別7.4SQL語言Viewsdescribehowusersseethedata.ConceptualschemadefineslogicalstructurePhysicalschemadescribesthefilesandindexesused.(sometimescalledtheANSI/SPARCmodel)抽象級別7.4SQL語言PhysicalSchemaConceptualSchemaView1View2View3DBExample:UniversityDatabaseConceptualschema:

Students(sid:string,name:string,login:string,age:integer,gpa:real)

Courses(cid:string,cname:string,credits:integer)

Enrolled(sid:string,cid:string,grade:string)ExternalSchema(View):Course_info(cid:string,enro

溫馨提示

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

評論

0/150

提交評論