自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

百度如何能實(shí)時(shí)檢索到15分鐘前新生成的網(wǎng)頁?

開發(fā) 開發(fā)工具
百度為何能實(shí)時(shí)檢索出15分鐘之前新出的新聞?58同城為何能實(shí)時(shí)檢索出1秒鐘之前發(fā)布的帖子?搜索引擎的實(shí)時(shí)性架構(gòu),是本文將要討論的問題。

一、緣起

深入淺出搜索架構(gòu)(上篇)》詳細(xì)介紹了前三章:

(1)全網(wǎng)搜索引擎架構(gòu)與流程

(2)站內(nèi)搜索引擎架構(gòu)與流程

(3)搜索原理與核心數(shù)據(jù)結(jié)構(gòu)

深入淺出搜索架構(gòu)(中篇)》介紹了:

(4)流量數(shù)據(jù)量由小到大,常見搜索方案與架構(gòu)變遷

(5)數(shù)據(jù)量、并發(fā)量、擴(kuò)展性架構(gòu)方案

本篇將討論:

(6)百度為何能實(shí)時(shí)檢索出15分鐘之前新出的新聞?58同城為何能實(shí)時(shí)檢索出1秒鐘之前發(fā)布的帖子?搜索引擎的實(shí)時(shí)性架構(gòu),是本文將要討論的問題。

二、實(shí)時(shí)搜索引擎架構(gòu)

大數(shù)據(jù)量、高并發(fā)量情況下的搜索引擎為了保證實(shí)時(shí)性,架構(gòu)設(shè)計(jì)上的兩個(gè)要點(diǎn):

(1)索引分級

(2)dump&merge

索引分級

《深入淺出搜索架構(gòu)(上篇)》介紹了搜索引擎的底層原理,在數(shù)據(jù)量非常大的情況下,為了保證倒排索引的高效檢索效率,任何對數(shù)據(jù)的更新,并不會(huì)實(shí)時(shí)修改索引,一旦產(chǎn)生碎片,會(huì)大大降低檢索效率。

既然索引數(shù)據(jù)不能實(shí)時(shí)修改,如何保證***的網(wǎng)頁能夠被索引到呢?

索引分為全量庫、日增量庫、小時(shí)增量庫。

如下圖所述:

(1)300億數(shù)據(jù)在全量索引庫中

(2)1000萬1天內(nèi)修改過的數(shù)據(jù)在天庫中

(3)50萬1小時(shí)內(nèi)修改過的數(shù)據(jù)在小時(shí)庫中

當(dāng)有修改請求發(fā)生時(shí),只會(huì)操作***級別的索引,例如小時(shí)庫。

當(dāng)有查詢請求發(fā)生時(shí),會(huì)同時(shí)查詢各個(gè)級別的索引,將結(jié)果合并,得到***的數(shù)據(jù):

(1)全量庫是緊密存儲(chǔ)的索引,無碎片,速度快

(2)天庫是緊密存儲(chǔ),速度快

(3)小時(shí)庫數(shù)據(jù)量小,速度也快

數(shù)據(jù)的寫入和讀取都是實(shí)時(shí)的,所以58同城能夠檢索到1秒鐘之前發(fā)布的帖子,即使全量庫有300億的數(shù)據(jù)。

新的問題來了:小時(shí)庫數(shù)據(jù)何時(shí)反映到天庫中,天庫中的數(shù)據(jù)何時(shí)反映到全量庫中呢?

dump&merge

這是由兩個(gè)異步的工具完成的:

dumper:將在線的數(shù)據(jù)導(dǎo)出

merger:將離線的數(shù)據(jù)合并到高一級別的索引中去

小時(shí)庫,一小時(shí)一次,合并到天庫中去;

天庫,一天一次,合并到全量庫中去;

這樣就保證了小時(shí)庫和天庫的數(shù)據(jù)量都不會(huì)特別大;

如果數(shù)據(jù)量和并發(fā)量更大,還能增加星期庫,月庫來緩沖。

三、總結(jié)

超大數(shù)據(jù)量,超高并發(fā)量,實(shí)時(shí)搜索引擎的兩個(gè)架構(gòu)要點(diǎn):

(1)索引分級

(2)dump&merge

如《深入淺出搜索架構(gòu)(上篇)》中所述,全網(wǎng)搜索引擎分為Spider, Search&Index, Rank三個(gè)部分。本文描述的是Search&Index如何實(shí)時(shí)修改和檢索,Spider子系統(tǒng)如何能實(shí)時(shí)找到全網(wǎng)新生成的網(wǎng)頁,又是另外一個(gè)問題,未來撰文講述。

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2011-06-10 14:19:49

SEO百度收錄

2016-11-29 09:19:31

百度長文本去重網(wǎng)頁

2022-06-17 08:05:28

Grafana監(jiān)控儀表盤系統(tǒng)

2019-09-19 16:36:09

百度地圖人工智能語音

2013-06-27 09:41:19

LuaLua語言Lua語言快速入門

2021-03-03 11:36:57

Java 8Java 15Java

2015-07-08 09:43:22

程序員

2014-04-22 09:42:12

Bash腳本教程

2012-06-28 10:26:51

Silverlight

2020-01-30 11:00:45

人工智能機(jī)器學(xué)習(xí)技術(shù)

2020-10-19 18:07:00

云計(jì)算技術(shù)應(yīng)用

2018-04-24 14:52:48

LinuxBash腳本

2015-04-21 17:35:29

代碼

2021-08-01 21:38:07

網(wǎng)頁點(diǎn)燈網(wǎng)關(guān)

2015-11-23 17:34:33

秒借

2012-07-31 10:37:31

Lucene.net

2020-04-20 14:30:27

百度AI視頻

2018-04-20 16:43:23

2020-06-15 14:40:30

架構(gòu)運(yùn)維技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)