Table of Contents
ब्लूम फिल्टर एक स्थिर डेटा संरचना है जिसका उपयोग परीक्षण करने के लिए किया जाता है कि कोई तत्व एक सेट का सदस्य है। वे अंतरिक्ष और गति के संदर्भ में कुशल हैं, जिससे उन्हें उन अनुप्रयोगों के लिए उपयुक्त बनाया जाता है जहां कुछ स्वीकार्य झूठी सकारात्मकता के साथ त्वरित सदस्यता प्रश्नों की आवश्यकता होती है।
कैसे ब्लूम फ़िल्टर काम
एक ब्लूम फ़िल्टर थोड़ा सारणी और एकाधिक हैश कार्यों का उपयोग करता है। जब एक तत्व जोड़ा जाता है, तो प्रत्येक हैश फंक्शन इसे सरणी में एक स्थिति में मैप करता है, उन बिट्स को 1 पर सेट करता है। यह जांचने के लिए कि कोई तत्व मौजूद है, उसी हैश फंक्शन लागू होते हैं, और संबंधित बिट्स की जांच की जाती है। यदि सभी 1 पर सेट किए गए हैं, तो तत्व सेट में होने की संभावना है; यदि कोई 0 है, तो यह निश्चित रूप से नहीं है।
ब्लूम फिल्टर के लिए गणना
झूठी सकारात्मक संभावना बिट सरणी (m) के आकार पर निर्भर करती है, सम्मिलित तत्वों की संख्या (n), और हैश कार्यों की संख्या (k)। झूठी सकारात्मक की संभावना (p) को निम्नलिखित द्वारा अनुमोदित किया जा सकता है:
p ≈ (1 - e]-kn/m]]]]k]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][FLT[[[FLT:[[[]]]]]]]]]]]]]]]]]]]]]]]]]]][[[[FLT[FLT[FLT[FLT[[[FLT[[[[[[FLT:[[[[[[FLT:]]]]]]]]]]]]]]]]]]]
K और m के लिए इष्टतम मान दिए गए n के लिए झूठे सकारात्मकताओं को कम कर सकते हैं। आम तौर पर, k को चुना जाता है:
k = (m/n) * ln 2 ]
ब्लूम फिल्टर के मामले का उपयोग करें
ब्लूम फिल्टर विभिन्न क्षेत्रों में उपयोग किए जाते हैं, जिनमें शामिल हैं:
- त्वरित सदस्यता परीक्षण के लिए डेटाबेस सिस्टम
- डिस्क लुकअप को कम करने के लिए वेब कैशिंग
- डेटा सिंक्रनाइज़ेशन के लिए वितरित सिस्टम
- स्पैम फ़िल्टरिंग के लिए नेटवर्क सुरक्षा
ब्लूम फिल्टर की सीमा
जबकि कुशल ब्लूम फिल्टर में सीमाएं हैं। वे झूठे सकारात्मक लेकिन झूठे नकारात्मक नहीं पैदा कर सकते हैं। एक बार बिट्स 1 पर सेट होने के बाद उन्हें रीसेट नहीं किया जा सकता है, जिससे समय के साथ अशुद्धता हो सकती है। वे अतिरिक्त डेटा संरचनाओं के बिना व्यक्तिगत तत्वों को हटाने के लिए भी उपयुक्त नहीं हैं।