成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

海量數據處理之什么是Bloom Filter

運維 數據庫運維
Bloom Filter是一種空間效率很高的隨機數據結構,它利用位數組很簡潔地表示一個集合,并能判斷一個元素是否屬于這個集合。

【什么是Bloom Filter】

Bloom Filter是一種空間效率很高的隨機數據結構,它利用位數組很簡潔地表示一個集合,并能判斷一個元素是否屬于這個集合。Bloom Filter的這種高效是有一定代價的:在判斷一個元素是否屬于某個集合時,有可能會把不屬于這個集合的元素誤認為屬于這個集合(false positive)。因此,Bloom Filter不適合那些“零錯誤”的應用場合。而在能容忍低錯誤率的應用場合下,Bloom Filter通過極少的錯誤換取了存儲空間的極大節省。 這里有一篇關于Bloom Filter的詳細介紹,不太懂的博友可以看看。

【適用范圍】

可以用來實現數據字典,進行數據的判重,或者集合求交集

【基本原理及要點】

對于原理來說很簡單,位數組+k個獨立hash函數。將hash函數對應的值的位數組置1,查找時如果發現所有hash函數對應位都是1說明存在,很明顯這 個過程并不保證查找的結果是100%正確的。同時也不支持刪除一個已經插入的關鍵字,因為該關鍵字對應的位會牽動到其他的關鍵字。所以一個簡單的改進就是 counting Bloom filter,用一個counter數組代替位數組,就可以支持刪除了。

還有一個比較重要的問題,如 何根據輸入元素個數n,確定位數組m的大小及hash函數個數。當hash函數個數k=(ln2)*(m/n)時錯誤率最小。在錯誤率不大于E的情況 下,m至少要等于n*lg(1/E)才能表示任意n個元素的集合。但m還應該更大些,因為還要保證bit數組里至少一半為0,則m應 該>=nlg(1/E)*lge 大概就是nlg(1/E)1.44倍(lg表示以2為底的對數)。

舉個例子我們假設錯誤率為0.01,則此時m應大概是n的13倍。這樣k大概是8個。

注意這里m與n的單位不同,m是bit為單位,而n則是以元素個數為單位(準確的說是不同元素的個數)。通常單個元素的長度都是有很多bit的。所以使用bloom filter內存上通常都是節省的。

【擴展】

Bloom filter將集合中的元素映射到位數組中,用k(k為哈希函數個數)個映射位是否全1表示元素在不在這個集合中。Counting bloom filter(CBF)將位數組中的每一位擴展為一個counter,從而支持了元素的刪除操作。Spectral Bloom Filter(SBF)將其與集合元素的出現次數關聯。SBF采用counter中的最小值來近似表示元素的出現頻率。

【問題實例】

給你A,B兩個文件,各存放50億條URL,每條URL占用64字節,內存限制是4G,讓你找出A,B文件共同的URL。如果是三個乃至n個文件呢?

根據這個問題我們來計算下內存的占用,4G=2^32大概是40億*8大概是340億,n=50億,如果按出錯率0.01算需要的大概是650億個 bit。 現在可用的是340億,相差并不多,這樣可能會使出錯率上升些。另外如果這些urlip是一一對應的,就可以轉換成ip,則大大簡單了。

原文鏈接:http://blog.redfox66.com/post/2010/09/24/mass-data-topic-2-bloom-filter.aspx

【編輯推薦】

  1. 應對海量數據 Oracle數據庫機青睞至強
  2. 淘寶海量數據庫之克服隨機IO難題
  3. Oceanbase一個千億級海量數據庫
責任編輯:艾婧 來源: 碼農之家
相關推薦

2012-06-26 10:03:06

海量數據處理

2011-08-19 13:28:25

海量數據索引優化

2012-02-22 15:32:11

海量數據

2024-02-07 09:25:52

數據處理快手大模型

2024-06-19 21:12:02

2023-11-29 13:56:00

數據技巧

2023-10-05 12:43:48

數據處理

2023-05-08 14:49:54

數據處理DPU

2010-09-06 09:24:56

網格數據庫

2019-08-19 18:42:43

大數據海量數據

2016-06-16 10:52:25

IBM

2017-10-18 13:31:56

存儲超融合架構數據中心

2022-06-28 13:41:43

京東數據處理

2024-02-22 10:14:40

Filter函數Python

2019-06-12 16:21:52

時間序列PythonPandas

2013-10-12 16:53:46

SAP

2018-11-23 17:33:42

阿里云SQL Server 集群版

2022-08-26 05:18:30

分布式系統數據處理

2011-08-18 10:20:26

云計算國家統計局大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品视频一二三区 | 色香婷婷 | 欧美成人高清视频 | 嫩草懂你的影院入口 | 日韩在线免费电影 | 精品视频久久久久久 | 亚洲性爰| 国产美女一区二区 | 黄色片网站国产 | 亚洲 欧美 日韩 在线 | 中文字幕 国产精品 | 中文字幕亚洲一区二区三区 | 在线看片国产 | 天天看片天天干 | 亚洲欧洲色视频 | 国产精品久久精品 | 国产在线二区 | 日韩黄色小视频 | 国产成人网 | 黄色免费在线观看网站 | 91传媒在线观看 | 国产精品久久国产精品 | 久久se精品一区精品二区 | 在线免费观看成年人视频 | 中文字幕一区在线观看视频 | 日韩午夜网站 | 国产综合久久 | 亚洲一区二区免费视频 | 午夜影院普通用户体验区 | 精品伊人| 久久久久成人精品 | 精品毛片视频 | h视频在线看 | 久久综合一区 | 国产精品久久久久久吹潮 | 国产高潮好爽受不了了夜夜做 | 91资源在线观看 | 中文字幕一区二区三区四区五区 | 中文字幕乱码一区二区三区 | 免费观看黄网站 | 国产精品久久精品 |