NoSQL數(shù)據(jù)庫應(yīng)用與實(shí)踐 課件 第3、4章 列式存儲(chǔ)型數(shù)據(jù)庫HBase;圖形存儲(chǔ)數(shù)據(jù)庫Neo4j_第1頁
NoSQL數(shù)據(jù)庫應(yīng)用與實(shí)踐 課件 第3、4章 列式存儲(chǔ)型數(shù)據(jù)庫HBase;圖形存儲(chǔ)數(shù)據(jù)庫Neo4j_第2頁
NoSQL數(shù)據(jù)庫應(yīng)用與實(shí)踐 課件 第3、4章 列式存儲(chǔ)型數(shù)據(jù)庫HBase;圖形存儲(chǔ)數(shù)據(jù)庫Neo4j_第3頁
NoSQL數(shù)據(jù)庫應(yīng)用與實(shí)踐 課件 第3、4章 列式存儲(chǔ)型數(shù)據(jù)庫HBase;圖形存儲(chǔ)數(shù)據(jù)庫Neo4j_第4頁
NoSQL數(shù)據(jù)庫應(yīng)用與實(shí)踐 課件 第3、4章 列式存儲(chǔ)型數(shù)據(jù)庫HBase;圖形存儲(chǔ)數(shù)據(jù)庫Neo4j_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三章

列式存儲(chǔ)型數(shù)據(jù)庫HBase單擊此處添加副標(biāo)題演講者:認(rèn)識(shí)HBase01HBase的數(shù)據(jù)類型02HBase的Shell操作04Python與HBase05HBase安裝部署03項(xiàng)目實(shí)踐:設(shè)計(jì)水費(fèi)繳費(fèi)明細(xì)表06目錄01認(rèn)識(shí)HBaseHBase的設(shè)計(jì)哲學(xué)是“NoSQL”,?即不使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫模型,?而是采用更靈活的數(shù)據(jù)存儲(chǔ)和檢索方式,?特別適合大數(shù)據(jù)和數(shù)據(jù)分析場(chǎng)景。?它允許數(shù)據(jù)橫向擴(kuò)展,?通過增加更多的節(jié)點(diǎn)來提高性能和存儲(chǔ)容量,?而不必進(jìn)行復(fù)雜的數(shù)據(jù)庫重構(gòu)或遷移。高吞吐量和低延遲:HBase支持高吞吐量的數(shù)據(jù)讀寫操作,采用基于內(nèi)存的數(shù)據(jù)訪問方式,實(shí)現(xiàn)低延遲的數(shù)據(jù)讀寫。高可用性和容錯(cuò)性:采用分布式架構(gòu),支持?jǐn)?shù)據(jù)的冗余備份和負(fù)載均衡,確保數(shù)據(jù)的高可用性和容錯(cuò)性。優(yōu)勢(shì)和特點(diǎn)包括:靈活的數(shù)據(jù)模型:HBase支持結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ),能夠處理稀疏矩陣模型的數(shù)據(jù)。?良好的伸縮性:HBase支持水平擴(kuò)展,可以輕松應(yīng)對(duì)大規(guī)模數(shù)據(jù)的存儲(chǔ)和處理需求。123456HBase概述車聯(lián)網(wǎng):HBase適用于存儲(chǔ)車聯(lián)網(wǎng)中的行駛軌跡、車輛狀況、精準(zhǔn)定位等重要數(shù)據(jù),提供低成本、彈性、靈活可靠的能力。應(yīng)用場(chǎng)景包括:廣告營(yíng)銷:HBase可以存儲(chǔ)廣告營(yíng)銷中的畫像特征、用戶事件、點(diǎn)擊流等重要數(shù)據(jù),提供高并發(fā)和低延遲的能力,幫助構(gòu)建實(shí)時(shí)競(jìng)價(jià)和廣告定位投放系統(tǒng)。?實(shí)時(shí)數(shù)據(jù)分析:HBase支持實(shí)時(shí)數(shù)據(jù)的寫入和查詢,通過與Hadoop的實(shí)時(shí)計(jì)算組件如Storm的結(jié)合,可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)分析和處理。?用戶畫像:HBase可以構(gòu)建精準(zhǔn)的用戶畫像,適用于市場(chǎng)決策、推薦系統(tǒng)等。大規(guī)模數(shù)據(jù)存儲(chǔ):HBase適用于存儲(chǔ)PB級(jí)別的海量數(shù)據(jù),支持?jǐn)?shù)據(jù)的水平擴(kuò)展和無限擴(kuò)展。?應(yīng)用場(chǎng)景02HBase的數(shù)據(jù)模型HBase數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)HBase數(shù)據(jù)模型主要由RowKey、ColumnFamily、ColumnQualifier和Timestamp四部分組成。HBase數(shù)據(jù)存儲(chǔ)概念HBase基本架構(gòu)03HBase安裝部署01安裝java環(huán)境02安裝Hadoop03啟動(dòng)Hadoop環(huán)境準(zhǔn)備解壓、配置環(huán)境變量02配置相關(guān)XML文件03下載安裝文件01HBase安裝1啟動(dòng)Hadoop2啟動(dòng)HBase3訪問頁面4進(jìn)入HBase啟動(dòng)HBase04HBase的Shell操作查看數(shù)據(jù)庫版本:version查看數(shù)據(jù)庫中所有的表:list查看數(shù)據(jù)庫集群狀態(tài):status基本操作表的相關(guān)操作創(chuàng)建表語法:create'表名','列蔟名'...插入數(shù)據(jù)語法:put'表名','ROWKEY','列蔟名:列名','值'查看數(shù)據(jù)語法:get'表名','rowkey'更新數(shù)據(jù)語法:put更新數(shù)據(jù)(數(shù)據(jù)存在屬于更新操作,數(shù)據(jù)不存在屬于數(shù)據(jù)插入操作)刪除數(shù)據(jù)語法:delete'表名','rowkey','列蔟:列'刪除整行數(shù)據(jù)語法:deleteall'表名','rowkey'刪除表:要?jiǎng)h除某個(gè)表,必須要先使用disable關(guān)鍵字禁用表,然后使用drop刪除表。05Python與HBase01配置hbase-site.xml文件安裝happybase命令:pipinstallhappybase0203環(huán)境準(zhǔn)備操作HBase啟動(dòng)數(shù)據(jù)庫:先啟動(dòng)Hadoop,再啟動(dòng)HBase,最后啟動(dòng)啟動(dòng)thrift使用jps命令驗(yàn)證已經(jīng)啟動(dòng)的服務(wù)python操作數(shù)據(jù)庫:鏈接HBase--Connection方法增加數(shù)據(jù)--put方法查指定行--row方法查看所有數(shù)據(jù)--scan方法刪除數(shù)據(jù)--delete方法關(guān)閉鏈接--close方法06項(xiàng)目實(shí)踐:設(shè)計(jì)水費(fèi)繳費(fèi)明細(xì)表要求:自來水公司,需要存儲(chǔ)大量的繳費(fèi)明細(xì)數(shù)據(jù)。以下是繳費(fèi)明細(xì)示例數(shù)據(jù):需要將類似數(shù)據(jù)存入數(shù)據(jù)庫HBase中。數(shù)據(jù)中在下一次收繳水費(fèi)時(shí)可以更新繳費(fèi)時(shí)間、表示數(shù)、用量、合計(jì)金額、查表日期、最遲繳費(fèi)日期,而用戶的基本信息不變。用戶ID3919700姓名茹喜蘭地址江西省新余市分宜縣鈐山鎮(zhèn)6單元251室性別男繳費(fèi)時(shí)間2024/6/24表示數(shù)(本次)62.5表示數(shù)(上次)40.5用量(立方)22合計(jì)金額132查表日期2024/6/9最遲繳費(fèi)日期2024/7/24安裝HBase數(shù)據(jù)模型Python操作HBase小結(jié)練習(xí):要求:項(xiàng)目實(shí)踐中只添加了一位用戶的數(shù)據(jù),請(qǐng)將以下數(shù)據(jù)存入water_rate表。用戶ID50370583018827209277471523563141181姓名荊秀榮無玉梅毋文芬己愛梅駱秀珍地址上海市上海市閘北區(qū)共和新路街道7單元192室陜西省咸陽市武功縣小村鎮(zhèn)2單元168室遼寧省本溪市南芬區(qū)南芬街道18單元97室甘肅省武威市民勤縣東壩鎮(zhèn)15單元69室河南省周口市太康縣馬頭鎮(zhèn)12單元280室性別女男男女女繳費(fèi)時(shí)間2024/8/112024/4/302024/2/22024/1/272024/5/19表示數(shù)(本次)255.8406.2274.864.2477.7表示數(shù)(上次)237.8379.2252.846.2457.7用量(立方)1827221820合計(jì)金額108162132108120查表日期2024/7/272024/4/152024/1/182024/1/122024/5/4最遲繳費(fèi)日期2024/9/102024/5/302024/3/42024/2/262024/6/18謝謝!第四章

圖形存儲(chǔ)數(shù)據(jù)庫Neo4j單擊此處添加副標(biāo)題演講者:認(rèn)識(shí)Neo4j01Neo4j安裝部署02Python鏈接Neo4j04項(xiàng)目實(shí)踐:使用Python創(chuàng)建課程知識(shí)圖05Cypher操作03目錄01認(rèn)識(shí)Neo4j設(shè)計(jì)理念:Neo4j的設(shè)計(jì)初衷是為了更好地同時(shí)也更高效地描述實(shí)體之間的關(guān)系。在現(xiàn)實(shí)生活中,每一個(gè)實(shí)體都與周圍的其他實(shí)體有著千絲萬縷的關(guān)系,這些關(guān)系里面所存儲(chǔ)的信息甚至要大于實(shí)體本身的屬性。01相關(guān)特性:基于圖的存儲(chǔ)模型、高性能的查詢語言、事務(wù)支持、可擴(kuò)展性、實(shí)時(shí)性、靈活性、集成與兼容性、可視化與監(jiān)控02Neo4j簡(jiǎn)介Neo4j簡(jiǎn)介優(yōu)點(diǎn):數(shù)據(jù)的插入、查詢操作很直觀,不用再考慮各個(gè)表之間的關(guān)系。提供的圖搜索和圖遍歷方法很方便,速度也是比較快的。更快的數(shù)據(jù)庫操作。當(dāng)然,有一個(gè)前提條件,那就是數(shù)據(jù)量較大,在MySql中存儲(chǔ)的話需要許多表,并且表之間聯(lián)系較多(即有不少的操作需要join表)。缺點(diǎn):當(dāng)數(shù)據(jù)過大時(shí)插入速度可能會(huì)越來越慢。超大節(jié)點(diǎn)。當(dāng)有一個(gè)節(jié)點(diǎn)的邊非常多時(shí)(常見于大V),有關(guān)這個(gè)節(jié)點(diǎn)的操作的速度將大大下降。提高數(shù)據(jù)庫速度的常用方法就是多分配內(nèi)存,無法直接設(shè)置數(shù)據(jù)庫內(nèi)存占用量,而是需要計(jì)算后為其”預(yù)留“內(nèi)存Neo4j簡(jiǎn)介應(yīng)用場(chǎng)景適用于圖形一類數(shù)據(jù)。這是Neo4j與其他NoSQL數(shù)據(jù)庫的最顯著區(qū)別。例如:社會(huì)關(guān)系,公共交通網(wǎng)絡(luò),地圖及網(wǎng)絡(luò)拓譜。Neo4j不適用場(chǎng)景:不適用記錄大量基于事件的數(shù)據(jù)(例如日志條目或傳感器數(shù)據(jù));不適用對(duì)大規(guī)模分布式數(shù)據(jù)進(jìn)行處理,類似于Hadoop;不適用二進(jìn)制數(shù)據(jù)存儲(chǔ);不適用適合于保存在關(guān)系型數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù)。Neo4j簡(jiǎn)介Neo4j與傳統(tǒng)數(shù)據(jù)庫的區(qū)別Ne04jRDBMS允許對(duì)數(shù)據(jù)的簡(jiǎn)單且多樣的管理高度結(jié)構(gòu)化的數(shù)據(jù)數(shù)據(jù)添加和定義靈活,不受數(shù)據(jù)類型和數(shù)量的限制,無需提前定義表格Schema需預(yù)定義,修改和添加數(shù)據(jù)結(jié)構(gòu)和類型復(fù)雜,對(duì)數(shù)據(jù)有嚴(yán)格的限制常數(shù)時(shí)間的關(guān)系查詢操作關(guān)系查詢操作耗時(shí)提出全新的查詢語言cypher,查詢語句更加簡(jiǎn)單查詢語句更為復(fù)雜,尤其涉及到j(luò)oin或union操作時(shí)數(shù)據(jù)結(jié)構(gòu)Neo4j的數(shù)據(jù)模型包含Nodes、Labels、Relationship、Properties和Schema02Neo4j安裝部署環(huán)境準(zhǔn)備下載安裝包Neo4j安裝安裝步驟非常簡(jiǎn)單,需要注意的是,在安裝過程中需要復(fù)制激活碼,粘貼到工具的“Softwarekey”Neo4j安裝安裝結(jié)束后,需要修改密碼,然后到瀏覽器中登錄即可。03Cypher操作創(chuàng)建數(shù)據(jù)CREATE命令用于創(chuàng)建節(jié)點(diǎn),語法如下:#創(chuàng)建帶有標(biāo)簽的節(jié)點(diǎn)CREATE(<node-name>:<label-name>)#創(chuàng)建帶有標(biāo)簽、屬性的節(jié)點(diǎn)CREATE(<node-name>:<label-name>{<property-name>:<property-value>})return<node-name>#使用set創(chuàng)建CREATE(<node-name>:<label-name>)set<property-name>:<property-value>,<property-name>:<property-value>return<node-name>match命令功能:查詢已有數(shù)據(jù),語法如下:match(<node-name>:<label-name>)return<node-name>.<property-name>merge命令功能:若節(jié)點(diǎn)存在,則等效于match命令;若節(jié)點(diǎn)不存在,則等效于create命令,語法如下:match(<node-name>:<label-name>)return<node-name>.<property-name>查詢數(shù)據(jù)12merge(節(jié)點(diǎn)變量1:標(biāo)簽)-[關(guān)系變量:關(guān)系]-(節(jié)點(diǎn)變量2:標(biāo)簽)merge創(chuàng)建關(guān)系create(節(jié)點(diǎn)變量1:標(biāo)簽)-[關(guān)系變量:關(guān)系]->(節(jié)點(diǎn)變量2:標(biāo)簽)Create創(chuàng)建關(guān)系創(chuàng)建關(guān)系where命令功能類似于SQL中的添加查詢條件,查詢到符合條件的數(shù)據(jù)后面還可以連接其他操作例如reture和delete,語法如下:match(節(jié)點(diǎn)變量1:標(biāo)簽)-[關(guān)系變量:關(guān)系]-(節(jié)點(diǎn)變量2:標(biāo)簽)where條件where命令010203040506刪除關(guān)系刪除需要使用delete關(guān)鍵字,同時(shí)需要配合查詢語句以及where條件,才能刪除符合條件的數(shù)據(jù),語法如下:match(節(jié)點(diǎn)變量1:標(biāo)簽)-[關(guān)系變量:關(guān)系]-(節(jié)點(diǎn)變量2:標(biāo)簽)where條件delete關(guān)系變量刪除節(jié)點(diǎn)刪除節(jié)點(diǎn)與刪除關(guān)系類似,只是delete關(guān)鍵字后面加上節(jié)點(diǎn)變量名稱,語法如下:match(節(jié)點(diǎn)變量:標(biāo)簽)where條件delete節(jié)點(diǎn)變量刪除關(guān)系和節(jié)點(diǎn)match(節(jié)點(diǎn)變量:標(biāo)簽)where條件remove節(jié)點(diǎn)變量.屬性Remove關(guān)鍵字用于刪除屬性,同樣也需要配合查詢和where同時(shí)使用,語法如下:刪除屬性04Python鏈接Neo4j環(huán)境準(zhǔn)備命令如下:pipinstallpy2neo準(zhǔn)備好數(shù)據(jù)庫,下面打開python的編輯器,創(chuàng)建py文件。鏈接代碼如下:01frompy2neoimportGraph,Node,Relationship02#連接到Neo4j數(shù)據(jù)庫03db=Graph("bolt://localhost:7687",auth=("neo4j","123456ydc"),name="demo2")04鏈接Neo4j數(shù)據(jù)庫并簡(jiǎn)單操作節(jié)點(diǎn)操作創(chuàng)建節(jié)點(diǎn)創(chuàng)建節(jié)點(diǎn)需要兩個(gè)步驟,先創(chuàng)建Node,然后執(zhí)行Create方法,語法如下:node_1=Node(*labels,**properties)db.create(node_1)創(chuàng)建關(guān)系創(chuàng)建關(guān)系需要使用Relationship方法,指定開始節(jié)點(diǎn),關(guān)系,結(jié)束節(jié)點(diǎn),基本語法如下:Relationship((start_node,type,end_node,**properties))節(jié)點(diǎn)操作刪除關(guān)系及節(jié)點(diǎn)帶關(guān)系的節(jié)點(diǎn)不能直接被刪除,但是可以直接刪除一個(gè)節(jié)點(diǎn)及與之相連的關(guān)系,需要run方法運(yùn)行Neo4j指令代碼進(jìn)行刪除。例:刪除HBase節(jié)點(diǎn)

溫馨提示

  • 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)論