हम ट्विटर के Algebird में HyperLogLog के कार्यान्वयन का उपयोग कर रहे हैं। हमारे सिस्टम में एक नंबर एन और एक चेक दिया गया है जो धीरे-धीरे बढ़ते संग्रह के वर्तमान आकार का अनुमान लगाने के लिए हाइपरलॉगॉग का उपयोग करता है और यदि यह एन से कम या कम है, तो हम इस जांच का परीक्षण करने वाले एकीकरण या सिस्टम परीक्षण को कैसे लिख सकते हैं और है पास करने की गारंटी है, अगर हाइपरलॉगॉग को कॉल करने वाला हमारा कोड सही है? परीक्षण के तहत प्रणाली गैर-निर्धारिती है, क्योंकि, एक बात के लिए, यह बहु-थ्रेडेड है।HyperLogLog का उपयोग कर कोड के लिए विश्वसनीय एकीकरण परीक्षण?
मेरी पहली सोचा था सही तरीके से एकीकरण परीक्षण है जो उपयोग के इस मामले विश्वसनीय है लिखने के लिए "हमारे मानकों ड्रॉप" करने के लिए है। तो एक निश्चित बिंदु पर पोस्ट करने के लिए पर्याप्त संख्या में आइटम (एम) क्या है यह सुनिश्चित करने के लिए कि HyperLogLog अनुमानों के साथ एन से अधिक होने के रूप में आइटम की कुल संख्या का अनुमान लगाएगा, कहें,> = 0.9 99 999?
या क्या कोई बेहतर तरीका है?
मानक त्रुटि सीमाएं कॉन्फ़िगर करने योग्य हैं, लेकिन यह हमें सीधे अधिकतम त्रुटि सीमाएं नहीं बताती है जो हम संभवतः थोड़ी देर में देख सकते हैं - जो कि मैं यादृच्छिक असफल सीआई से बचने के लिए देखभाल करता हूं बर्बाद समय और बाल खींचने!
मैं भी चिंतित हैं कि जिस तरह से हम परीक्षण में यादृच्छिक डेटा उत्पन्न प्रासंगिक मायनों में समान रूप से वितरित यादृच्छिक डेटा है, जो वास्तव में संभावना गणना प्रभावित कर सकता है उत्पन्न नहीं हो सकता हूँ।
क्या आपके पास प्रति-बाल्टी "ऊंचाई"/"अग्रणी शून्यों की संख्या" के साथ "नकली आइटम" डालने की क्षमता है? –
@GregoryNisbet मुझे नहीं लगता कि ऐसा करने के लिए एक एपीआई विधि है। –