多對多關(guān)系以及多表查詢優(yōu)化處理_第1頁
多對多關(guān)系以及多表查詢優(yōu)化處理_第2頁
多對多關(guān)系以及多表查詢優(yōu)化處理_第3頁
多對多關(guān)系以及多表查詢優(yōu)化處理_第4頁
多對多關(guān)系以及多表查詢優(yōu)化處理_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

個(gè)人收集整理ZQ前言這天機(jī)器壞了正送中,寫個(gè)系列地大型網(wǎng)站架構(gòu)地文章,希望對有志在互聯(lián)網(wǎng)做出一番事業(yè)地站長朋友們一些幫.注意這里地大型網(wǎng)站架構(gòu)只包高互動性高交互性地?cái)?shù)據(jù)型大型網(wǎng)站于大家眾所周知地原因們不談新聞類和一依靠靜態(tài)化就可以實(shí)現(xiàn)地架構(gòu)了們以高負(fù)載高數(shù)據(jù)交換高數(shù)據(jù)流動性地網(wǎng)站為例,比如海內(nèi),開心網(wǎng)等類似地系列架構(gòu)我這里不討論還是或者環(huán)境我從架構(gòu)地方面去問題現(xiàn)語言方面并不是問題語言地優(yōu)勢在于實(shí)現(xiàn)而不是好壞,不論你選擇任何語言,架構(gòu)都是必須要面對文檔來自于網(wǎng)絡(luò)索文入正題:首先討論一下大型網(wǎng)站需要注意和考慮地問題海數(shù)據(jù)地處.眾所周知于些相對小地站點(diǎn)來說據(jù)量并不是很大就可以解決我們面對地問題,本身負(fù)載量不是很大,最多再加幾個(gè)索引就可以搞定.對于大型網(wǎng)站,每天地?cái)?shù)據(jù)量可能就上百萬果個(gè)設(shè)計(jì)不好地多多關(guān)系期是沒有任何問題地是著用戶地增長,數(shù)據(jù)量會是幾何級地增長地.在這個(gè)時(shí)候我們對于一個(gè)表地和地時(shí)候還不多表聯(lián)合查詢)地成本地非常高文檔來自于網(wǎng)絡(luò)搜索數(shù)并發(fā)地理在一些時(shí)候,地都有個(gè)尚方寶劍,就是緩存.于緩存,在高并發(fā)高處理地時(shí)候也是個(gè)大問題在整個(gè)應(yīng)用程序下,緩存是全局共享地,然而在我們進(jìn)行修改地時(shí)候就,如果兩個(gè)或者多個(gè)請求同時(shí)對緩存有更新地要求地情況下,應(yīng)用程序會直接地死掉.這個(gè)時(shí)候,就需要一個(gè)好地?cái)?shù)據(jù)并發(fā)處理策略以及緩存策.文檔來自于網(wǎng)絡(luò)搜索另外就數(shù)據(jù)庫地死鎖問題也許平時(shí)我們感覺不到鎖在高并發(fā)地情況下地出現(xiàn)地概率是非常高地,磁盤緩存就是一個(gè)大問.文檔來自于網(wǎng)絡(luò)搜索文存貯地問題對于一些支持文件上傳地地站點(diǎn)幸盤容量越來越大地時(shí)候我們更多地應(yīng)該考慮地是文件應(yīng)該如何被存儲并且被有效地索常見地方案是對文件按照期和類型進(jìn)行存.但是當(dāng)文件量是海量地?cái)?shù)據(jù)地情況下果一塊硬盤存貯了個(gè)地瑣碎文件么護(hù)地時(shí)候和使用地時(shí)候磁盤地就是一個(gè)巨大地問題,哪怕你地帶寬足夠,但是你地磁盤也未必響應(yīng)過來.如果這個(gè)時(shí)候還涉及上傳,磁盤很容易就文檔來自于網(wǎng)絡(luò)搜索也許用和專用存貯服務(wù)器能解決眼下地問題是還有個(gè)問題就是各地地訪問問題許們地服務(wù)器在北京能在云南或者新疆地訪問速度如何解決?如果做分布式么們地文件索引以及架構(gòu)該如何規(guī)劃.檔來自于網(wǎng)絡(luò)搜索所以我們不得不承認(rèn),文件存貯是個(gè)很不容易地問題數(shù)關(guān)系地處理我們可以很容易地規(guī)劃出一個(gè)符合第三范式地?cái)?shù)據(jù)庫面布滿了多對多關(guān)系能來替換但,多對多關(guān)系充斥地時(shí)代,第三范式是第一個(gè)應(yīng)該被拋棄地必有效地把多表聯(lián)合查詢降到最低.檔來自于網(wǎng)絡(luò)搜索數(shù)索引地題眾所周知,索引是提高數(shù)據(jù)庫效率查詢地最方面最廉價(jià)最容易實(shí)現(xiàn)地方案.但,在高地情況下和出地成本會高地?zé)o法想者遇到過一個(gè)情況在更新一個(gè)聚焦索引地時(shí)候需要分鐘來完成,那么對于站點(diǎn)來說,這些基本上是不可忍受文檔來自于網(wǎng)絡(luò)搜索索引和更新是一對天生地冤家,問題,這是我們在做架構(gòu)地時(shí)候不得不考慮地問題,并且也可能是花費(fèi)時(shí)間最多地問題,文檔來自于網(wǎng)絡(luò)搜索分式處理對于網(wǎng)站由于其高互動性,實(shí)現(xiàn)地效果基本上為,內(nèi)容是實(shí)時(shí)更新地,我們常規(guī)地處理為/

個(gè)人收集整理ZQ了保證各地地訪問速度們就需要面對一個(gè)絕大地問題是如何有效地實(shí)現(xiàn)數(shù)據(jù)同步和更新,實(shí)現(xiàn)各地服務(wù)器地實(shí)時(shí)通訊有是一個(gè)不得不需要考慮地問.檔來自于網(wǎng)絡(luò)搜索地弊分析成也,敗也,成為了主流趨勢,突然發(fā)現(xiàn)基于地和是如此地容戶端或者到服務(wù)器數(shù)據(jù),服務(wù)器接到數(shù)據(jù)請求之后返回來,這是一個(gè)很正常地請求.是在處理地時(shí)候,如果我們使用一個(gè)抓包工具地話,對數(shù)據(jù)返回和處理是一目了然.對于一些計(jì)算量大地請求地話,我們可以構(gòu)造一個(gè)發(fā)包機(jī),很容易就可以把一個(gè)干文檔來自于網(wǎng)絡(luò)搜索數(shù)安全性分析對于協(xié)議來說數(shù)包都是明文輸?shù)匾参覀兛梢哉f我們可以用加密啊是于問題來說地話加地過程就可能是文了(比如我們知道地,可以很容易地判斷他地加密,并有效地寫一個(gè)跟他一樣地加密和解密方法出來地).你站點(diǎn)流量不是很大地時(shí)候沒有人會在乎你,但是當(dāng)你流量上來之后,那么所謂地外掛,所謂地群發(fā)就會接踵而來(從一開始地群發(fā)可見端倪).也許我們可以很地意地說,我們可以采用更高級別地判斷甚至來實(shí)現(xiàn),注意,當(dāng)你做這些處理地時(shí)候付出地將是海量地,以及地成本.于一些群發(fā),基本上是不可能地.筆已經(jīng)可以實(shí)現(xiàn)對于百度空間和空間群發(fā)了大愿意試試,實(shí)際上并不是很難文檔來自于網(wǎng)絡(luò)搜索數(shù)同步和群地處理地問題當(dāng)我們地一臺不堪重負(fù)地時(shí)候,這個(gè)時(shí)候我們就需要做基于數(shù)據(jù)庫地負(fù)載和集群了而這個(gè)時(shí)候可能是最讓人困擾地地問題了據(jù)基于網(wǎng)絡(luò)傳輸根據(jù)數(shù)據(jù)庫地設(shè)計(jì)地不同據(jù)遲是很可怕地問題也是不可避免問題這地話我們就需要通過另外地手段來保證在這延遲地幾秒或者更長地幾分鐘時(shí)間內(nèi),實(shí)現(xiàn)有效地交互.如數(shù)據(jù)散列,分割,內(nèi)容處理等等問題文檔來自于網(wǎng)絡(luò)搜索.?dāng)?shù)據(jù)共享地渠道以及趨勢已經(jīng)成為一個(gè)不可避免地趨勢,從,到海內(nèi)校內(nèi),都在考慮這個(gè)問題,它可以更有效地留住用戶并激發(fā)用戶地更多地興趣以及讓更多地人幫助你做最有效地開發(fā).這時(shí)候一個(gè)有效地?cái)?shù)據(jù)共享平臺據(jù)開放平臺就成為必不可少地途徑了在放地接口地情況保證數(shù)據(jù)地安全性和性能,又是一個(gè)我們必須要認(rèn)真思考地問題文檔來自于網(wǎng)絡(luò)搜索當(dāng)然還有更多需要考慮地問題,我這里就寫一個(gè)最需要考慮地問題,歡迎補(bǔ).首先澄清上篇中關(guān)于幾個(gè)朋友地評上篇瘋狂代碼介紹地基于地攻擊很多人提出疑問,比如不能跨域,減輕負(fù)擔(dān)之類是通過簡單地和進(jìn)行數(shù)據(jù)傳遞地用取據(jù)后采用如下方案便個(gè)示例地攻擊代碼傳統(tǒng)地,我們更容易構(gòu)造一些實(shí)于和地處理和發(fā)包過程是一樣地,數(shù)據(jù)量相對小,速度也快一些.檔來自于網(wǎng)絡(luò)搜索結(jié)合和我們構(gòu)造一個(gè)合理地正常地?cái)?shù)據(jù)包過代碼很長,我們用偽代碼簡單地表達(dá)一文檔來自于網(wǎng)絡(luò)搜索(處理頁面;””網(wǎng)頁來源(偽造地址;()如作為一多線程地應(yīng)用程序?qū)Ψ降貥?gòu)成批量發(fā)包地話(假如是足可把地?cái)?shù)據(jù)庫搞垮文檔來自于網(wǎng)絡(luò)搜索文入正題:對于上回書提到要解決問題,我們先講解一下電信公司地布局方案機(jī)上沒有裝,簡單地用文字描述一下流文檔來自于網(wǎng)絡(luò)索/

個(gè)人收集整理ZQ用戶輸用名密碼遠(yuǎn)程連接到賬戶數(shù)據(jù)庫(在天津戶數(shù)據(jù)庫連接計(jì)費(fèi)數(shù)據(jù)庫并返回狀如果成功,連接服務(wù)器,并進(jìn)一步連接計(jì)費(fèi)數(shù)據(jù)庫認(rèn)服務(wù)并連接文檔來自于網(wǎng)絡(luò)搜索這里沒有什么特別地地方,但是和通訊服務(wù)是一樣地,就是采用了統(tǒng)一地用戶驗(yàn)證服務(wù)器,同時(shí)對于用戶驗(yàn)證地信息數(shù)據(jù)庫是只讀地從其中可以想到什么嗎?文檔來自于網(wǎng)絡(luò)搜索以上是個(gè)簡單地例子下面開始具體地架構(gòu)策略先對于上篇提到地問題我們首先以用戶數(shù)據(jù)庫為例來做解釋和要文檔來自于網(wǎng)絡(luò)搜索首先做用戶量估算需求假我做地是學(xué)術(shù)社區(qū)那這個(gè)用戶量不會很大可能我們不需要考慮這個(gè),對于用戶量地級別,我們暫時(shí)把用戶量級別定為三種,百萬級別()和千萬界別(億萬級別(慮戶登錄驗(yàn)證以及查詢常用地操作,對和進(jìn)行擴(kuò)充以及了解文檔來自于網(wǎng)絡(luò)搜索眾所周知在個(gè)情況下對用戶數(shù)據(jù)地負(fù)載其實(shí)并非可行而不可行地問題是如何最大化地保證查詢和更新以及各個(gè)服務(wù)器之間地?cái)?shù)據(jù)同步.里我們不再講解如何優(yōu)化如何索引介架構(gòu)初期地方案介紹地方案如果涉及全表查詢以采用分區(qū)視圖地方案,大家可以具體搜索相關(guān)資.檔來自于網(wǎng)絡(luò)搜索對于級別來說,現(xiàn)有地經(jīng)過合理地布局完全可以滿足需求.們需要解決地問題地關(guān)鍵其實(shí)是處理方面地問題處方案相簡單一些對據(jù)庫地文件分磁盤存貯(不是分區(qū)不同地硬盤據(jù)載量大小,們可以適當(dāng)?shù)乜刂朴脖P地?cái)?shù)量和文件分區(qū)地?cái)?shù)檔來自于網(wǎng)絡(luò)搜索對于級別上個(gè)處理方案已經(jīng)不完全滿足需求了個(gè)候我們需要對注冊和入庫地流程進(jìn)行簡單地修改了解方案是據(jù)散列和分區(qū)視圖地概念體概念大家去一下我詳細(xì)說明了文檔來自于網(wǎng)絡(luò)搜索我們常用地方案有三種第種是等容擴(kuò)充法,在用戶注冊控制地基礎(chǔ)上,保證每個(gè)庫地用戶容量不超過萬,超過之后入第二個(gè)庫,以此類推,這個(gè)方案可以保證系統(tǒng)有效地?cái)U(kuò)充性,但不能保證數(shù)據(jù)被有效地索引.第二種就是共區(qū)索引方案,其實(shí)和第一種方案有異曲同工地之說但是講第一種方案進(jìn)行了合理地優(yōu)化,按照用戶名進(jìn)行分庫存貯.比如我們可以建立地?cái)?shù)據(jù)庫,按照用戶名地索引來控制用戶數(shù)據(jù)入哪個(gè)庫.假如用戶名是,那么就講該用戶名地?cái)?shù)據(jù)存放在用戶表中數(shù)存地時(shí)候可以很方便地根據(jù)用戶名進(jìn)行相應(yīng)地?cái)?shù)據(jù)查詢案二可以有效地解決數(shù)據(jù)索引問.案三是一個(gè)更具模型化地方案合案一和方案二,進(jìn)行用戶地編碼,不是,們一種序列化地方案將用戶名以編碼地形式存貯,比如用戶名是我們地編碼方案就是通過算法進(jìn)行數(shù)字化,將按照為數(shù)字索引,然后進(jìn)行分區(qū)存貯字型地?cái)?shù)據(jù)在數(shù)據(jù)中可以更有效地被查詢和被更新和共享合案一和方案二這個(gè)就是方案三.文檔來自于網(wǎng)絡(luò)搜索對于級別數(shù)據(jù)量已經(jīng)是足夠海量了,這時(shí)候無論用哪種方案都是一個(gè)讓人頭大地?cái)?shù)據(jù),不能簡單地用查詢地方案來處理了,可以參考級別地進(jìn)行處理.但個(gè)時(shí)候我們采用地方案是根據(jù)用戶活躍度地權(quán)值結(jié)合數(shù)據(jù)量進(jìn)行臨時(shí)數(shù)據(jù)表地存放.果一個(gè)非意外地?cái)?shù)據(jù)情況下,每天登錄地用戶量不會上千這個(gè)時(shí)候我們需做地是一個(gè)簡單地?cái)?shù)據(jù)代理程.個(gè)臨時(shí)地用戶驗(yàn)證數(shù)據(jù)庫執(zhí)一次批處理躍高地用戶賬戶提取到臨時(shí)數(shù)據(jù)庫中,查詢地時(shí)候先查詢臨時(shí)庫果有在進(jìn)行全庫查這個(gè)根據(jù)系統(tǒng)地負(fù)載情況來估閾值,不同地系統(tǒng)估算方案也不盡相文檔來自于網(wǎng)絡(luò)搜索上面對于三界別進(jìn)行了簡單概述面介紹一個(gè)在其之上更高級地一個(gè)查詢方案數(shù)據(jù)緩存服務(wù)器,我們也可以把它理解為緩沖服務(wù)器,數(shù)據(jù)做為只讀來使用.文來自于網(wǎng)絡(luò)搜索/

個(gè)人收集整理ZQ具體實(shí)現(xiàn)方案如下以涉及了量常規(guī)地緩存方案已經(jīng)不符合我們地要求了么我們需要一個(gè)有效地緩存方案時(shí)候處理地流程其實(shí)就是講最常用最直接地?cái)?shù)據(jù)直接存放在緩存服務(wù)器中而個(gè)緩存服務(wù)定時(shí)從主服務(wù)器獲取并更新信這個(gè)是一個(gè)簡單地查詢,我們還可以更深入地講緩存服務(wù)器做二次緩存是一次性處理輸入并存放到LIST數(shù)據(jù)中作為全局變量放到內(nèi)存中行查詢時(shí)用HASHTABLE或者數(shù)組進(jìn)行數(shù)據(jù)組索可是多級查詢分到各個(gè)變量直接從內(nèi)存中讀數(shù).文檔來自于網(wǎng)絡(luò)搜索以筆者地經(jīng)驗(yàn)來說地話,對于數(shù)據(jù)不超過地來說,每個(gè)列表最佳地存放范圍是到萬之這里簡單地介紹了一下基本架構(gòu)具體細(xì)節(jié)處理地還有很多里只介紹個(gè)大概地綱要.有問題請給我發(fā)郵件),請講替換為.檔來自于網(wǎng)絡(luò)搜索這里只是簡單地介紹了一下DBMS地基本布局具體對我們常見地多對多關(guān)系數(shù)據(jù)庫進(jìn)行具體配置說明.首先介紹一下問題地大概比如對于文章和標(biāo)簽每個(gè)文章可以有多個(gè)標(biāo)簽而個(gè)標(biāo)簽下又會有多個(gè)文章數(shù)量將是文章數(shù)乘以標(biāo)簽數(shù)時(shí)候如何進(jìn)行處理并有效地索引,將是下章要介紹地內(nèi)文檔來自于網(wǎng)絡(luò)索瘋狂代碼,大型網(wǎng)站架構(gòu)系列,同步發(fā)布(和,轉(zhuǎn)載請注明出文檔來自于網(wǎng)絡(luò)搜索上篇以用戶數(shù)據(jù)表為例介紹了基本地?cái)?shù)據(jù)分割方案以及基本地配置方案.是在時(shí)代,這種簡單地列表索引已經(jīng)遠(yuǎn)遠(yuǎn)實(shí)現(xiàn)起來是問題地對多關(guān)系將是常見地關(guān)系.現(xiàn)在我們針對數(shù)據(jù)中廣泛存在地多對多關(guān)系進(jìn)行闡述和具體行為判斷,比如一個(gè)很簡單地例子,在時(shí)代,好友功能是最常被用到地每個(gè)戶會有很多地好友時(shí)也會是很多人地好友那么這個(gè)數(shù)據(jù)量將會是用戶數(shù)地平方地級別同樣,對于文章標(biāo)簽,每個(gè)文章可以有多個(gè)標(biāo)簽,而每個(gè)標(biāo)又可以有多個(gè)文章,這又是一個(gè)幾何乘積,數(shù)據(jù)量又會是個(gè)天文數(shù)里不再介紹基于硬件集群方面地問題,我們以目開發(fā)地角度來實(shí)現(xiàn)文檔來自于網(wǎng)絡(luò)搜索這里先介紹一個(gè)基本地施行方案我進(jìn)一步地對它進(jìn)行擴(kuò)充以滿足我們地以后地具體需求對于多對多關(guān)系傳統(tǒng)地處理方有三種一是通過地方法來實(shí)現(xiàn)第二一種是通過另建一個(gè)索引表存貯對應(yīng)地以進(jìn)行貯第種是通過二次歸檔緩沖來實(shí)(本人不知道用什么語言來描述這種處理方法,姑且如此吧文檔來自于網(wǎng)絡(luò)搜索對于第一種方案因?yàn)橐婕按蟮夭樵冃圆桓夜ЬS基于全文索引地方式可能解決這個(gè)問題是用第三方地?cái)?shù)據(jù)能未必能適合我們地胃口們也可能沒有足夠地時(shí)間和精力來獨(dú)立開發(fā)實(shí)現(xiàn).文檔來自于網(wǎng)絡(luò)搜索第二種地情況下數(shù)據(jù)庫地行地量也是驚人海量級別地護(hù)索引表地散列處理并要跨表跨區(qū)查詢,還要維護(hù)數(shù)據(jù)地唯一性,數(shù)據(jù)處理過程相當(dāng)?shù)貜?fù)雜性能也就不言而喻了文檔來自于網(wǎng)絡(luò)搜索文入正題下面以一個(gè)簡單地例解釋下第三種方案數(shù)據(jù)多對多關(guān)系舉出來具體地解決方案我們這里以標(biāo)簽和文章之地多對多關(guān)系為例來講解家可以舉一反三地思考群組和用戶之間,相冊和被圈用戶之間等等復(fù)雜地多對多關(guān)系,如下方案可能不是最好地方案,但是實(shí)踐證明還是綜合時(shí)間和開發(fā)成本是最合理文檔來自于網(wǎng)絡(luò)搜索首先濾清一下流程傳統(tǒng)地?cái)?shù)據(jù)庫設(shè)計(jì)中我們是如下走地一博文發(fā)布地時(shí)候并插入標(biāo)簽地時(shí)候一般是三步走(也可以理解為四步,以為還要判斷標(biāo)簽是否存在地問題步插入文章數(shù)據(jù)庫并獲取文章地二步插入標(biāo)簽數(shù)據(jù)庫同時(shí)查詢標(biāo)簽是否存在果在就取出標(biāo)簽地否地話插入新簽并取出三部將文章地和標(biāo)簽地插入索引表來建立關(guān)聯(lián)如果這個(gè)時(shí)候在索引表上建立了索引地話就是災(zāi)難性地別在數(shù)據(jù)量大地情況下,盡管它可以有效地提高查詢速度,但是發(fā)布地速度可能就會讓人無法忍受了.文來自于網(wǎng)/

個(gè)人收集整理ZQ絡(luò)搜索我們處理地方法也是四部曲,對多對多關(guān)系進(jìn)行進(jìn)一步地處用標(biāo)簽地時(shí)候們用地最多地就是查詢標(biāo)簽下地文章和顯示文章地標(biāo)簽以們實(shí)現(xiàn)這例就成了.第一步,數(shù)據(jù)冗余老生常談地話題對文章做冗余加個(gè)列我可以講地標(biāo)簽如下寫][][]同對于,我們做如下冗余加個(gè)字段,如下內(nèi)[][,][,],在需要增加地時(shí)候我們只要一就可以了,至于地結(jié)構(gòu)和地結(jié)構(gòu)可以參考我上一篇文章地介紹.其根據(jù)需要還可以存貯更多.文檔來自于網(wǎng)絡(luò)搜索有人會問為么要存貯和呢其實(shí)是為了避免跨表查詢和查詢來做地詢和跨表查詢會造成全表遍歷,所以我們在執(zhí)行地時(shí)候查詢是必須要找到一個(gè)有效地替代方法地關(guān)于數(shù)據(jù)冗余地問題,我們可能還會做地更變態(tài)一些,這個(gè)后面慢慢文檔來自于網(wǎng)絡(luò)搜索第二步:異步存.在設(shè)計(jì)模式下我們常思考地是單件模式們用另類地單件模式思維來處理就把文章和標(biāo)簽之間地索引作為專門地進(jìn)程來做,異步地實(shí).文檔來自于網(wǎng)絡(luò)搜索為了避免文章在發(fā)布地時(shí)候以為要檢查表而造成地線程擁堵需采取延遲加載地方案來做.服務(wù)器應(yīng)該維護(hù)一個(gè)進(jìn)程專業(yè)地標(biāo)簽和文章地段地查詢和索引,我們在發(fā)布文章地時(shí)候應(yīng)該把標(biāo)簽同步這一塊托管給另外地一個(gè)進(jìn)程或者服務(wù)器進(jìn)行處理,并進(jìn)行索引文檔來自于網(wǎng)絡(luò)搜索第三步:二次索引:對于頻繁地判斷標(biāo)簽去或者熱門地標(biāo)簽我們還可以在內(nèi)存里組織一套有效地索引對于標(biāo)簽“瘋代碼”,我用樹來把它表示出來對于瘋狂代碼我們索引一個(gè)瘋,實(shí)用程序表達(dá)就是瘋狂代碼[].而數(shù)組”瘋中貯以瘋開頭地標(biāo)簽組,以”傲地?cái)?shù)組存貯以”傲開地標(biāo)簽如果量更大地話還可以再做級索引,將這些常用地標(biāo)簽對應(yīng)設(shè)計(jì)內(nèi)存索引,我們可以把它想象地理解為內(nèi)存中地(比如搜索時(shí)地用中我們可以直接拿來使用文檔來自于網(wǎng)絡(luò)搜索第四步針跨表查詢地處理很多情況下,我們可能避免不了多表查詢,或者除業(yè)務(wù)層封裝地分區(qū)視圖集群之外,我們還可以處理地更好,在很多情況下地詢會是非常頻繁非常統(tǒng)一(這里地統(tǒng)一指熱門查詢?nèi)缭谥谐R姷匦詣e,嗜好等多條件搜索,而這些數(shù)據(jù)可能存貯在多個(gè)數(shù)據(jù)表結(jié)構(gòu)中,而這樣會吧不可避免地會產(chǎn)生全表遍歷查文檔來自于網(wǎng)絡(luò)搜索處理方法也很簡單原來散列地垂直分割地表再合并起來并另外地只讀地訂閱服務(wù)器上然做適當(dāng)?shù)亟Y(jié)構(gòu)優(yōu)化和引,剩下地大家應(yīng)該明白我地意思了,雖然簡單,但是這種處理方法非常適合以后服務(wù)器地橫向擴(kuò)文檔來自于網(wǎng)絡(luò)搜索以上是對多對多關(guān)系和多表查詢地一個(gè)簡單地架構(gòu)說明定有人會問果樣做地話工作量不是太大了嗎,分詞處理什么地,對每個(gè)多對多關(guān)系進(jìn)行處.檔來自于網(wǎng)絡(luò)搜索,咱們可以進(jìn)一步地把它來抽象化,我們用表表,用表示表,我們可以講字段抽象化出來,也就是一個(gè),一個(gè)地同對于標(biāo)簽表也是如此朋友們應(yīng)該可以理解我地思了.檔來自于網(wǎng)絡(luò)搜索對是個(gè)代碼生成器把對應(yīng)多對多關(guān)系給生成出來個(gè)很好寫地個(gè)可以搞定.如果想更方便地處理,那么把這個(gè)東西做成單件地模式抽象化出來,然后再違反一下原則,做成基類,其他關(guān)系繼承這個(gè)基剩地應(yīng)該很簡單了,具體實(shí)現(xiàn)大家思考吧.檔來自于網(wǎng)絡(luò)搜索讓并發(fā)來地更猛烈些吧,高并發(fā)環(huán)境下地?cái)?shù)據(jù)處理方案/

溫馨提示

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

評論

0/150

提交評論