Kalkulator Parameter Filter Bloom
Hitung ukuran array bit dan jumlah fungsi hash optimal untuk filter Bloom dari jumlah item yang diharapkan dan tingkat false positive target. Dapatkan rincian memori yang tepat (bit, byte, KB/MB/GB) dan bagan tradeoff tingkat false positive vs. memori.
Input
Berapa banyak item yang akan Anda masukkan ke dalam filter.
Kemungkinan item yang belum pernah dimasukkan dilaporkan secara keliru sebagai ada. Lebih rendah berarti lebih akurat, dengan biaya memori lebih besar.
Output
Parameter Filter Bloom Optimal
| Metric | Value |
|---|---|
| No data yet | |
Masukkan n dan target tingkat false positive untuk melihat tradeoff memori.
Panduan
Dapatkan ukuran array bit optimal dan jumlah fungsi hash untuk filter Bloom dari dua angka yang benar-benar menggerakkannya — berapa banyak item yang Anda harapkan untuk dimasukkan, dan berapa banyak kebisingan false positive yang Anda bersedia terima.
Cara menggunakannya
- Masukkan jumlah item yang diharapkan (n) yang Anda rencanakan untuk dimasukkan ke dalam filter.
- Geser slider tingkat false positive target ke akurasi yang Anda butuhkan — lebih rendah berarti false positive lebih sedikit, tetapi array bit lebih besar.
- Baca ukuran array bit (m), jumlah fungsi hash (k), dan memori yang diperlukan yang tepat, plus bagan yang menunjukkan bagaimana memori berubah saat Anda memperketat tingkat false positive pada n yang sama.
Rumusnya
- Ukuran array bit:
m = ceil(-n · ln(p) / (ln 2)²) - Jumlah fungsi hash:
k = round((m / n) · ln 2), dengan nilai minimum 1
Ini adalah derivasi parameter optimal standar yang digunakan oleh setiap implementasi filter Bloom arus utama (Guava, BF.RESERVE milik Redis, pybloom). Karena m dan k dibulatkan ke bilangan bulat, kalkulator juga melaporkan tingkat false positive aktual pada nilai yang dibulatkan tersebut — menggunakan estimasi standar (1 - e^(-kn/m))^k — karena jarang identik dengan target yang Anda ketikkan.
Membaca bagan
Bagan memplot memori yang diperlukan terhadap tingkat false positive target, pada n yang Anda masukkan, pada skala log untuk tingkat false positive. Karena m linier dalam -ln(p), dan sumbu x adalah -log₁₀(p), tradeoff adalah garis lurus bukan kurva — memperketat tingkat false positive sebesar satu urutan besaran memerlukan biaya kenaikan memori yang proporsional dan dapat diprediksi. Pengaturan Anda saat ini ditandai dengan titik merah.
Batasan
Ini mengukur filter Bloom standar (non-counting, non-scalable), dan mengasumsikan keluarga hash ideal — fungsi hash nyata dengan bit berkorelasi akan menyimpang sedikit dari tingkat false positive teoritis. Itu tidak memperhitungkan overhead per-bit implementasi bahasa/library spesifik (beberapa implementasi membulatkan m ke pangkat dua atau kelipatan word mesin untuk pengindeksan lebih cepat), jadi perlakukan m/memori di sini sebagai minimum teoritis, bukan alokasi eksak yang akan dibuat library Anda.
Privasi
Semua berjalan di browser Anda — tidak ada yang Anda masukkan dikirim ke tempat lain.
Alat terkait
Jika Anda memerlukan hash untuk kunci penyimpanan filter Bloom (atau apa pun), lihat Hash Generator. Setelah filter Anda diukur, Cache TTL Calculator membantu menentukan berapa lama entrinya harus bertahan jika Anda menggunakannya di depan cache.
Gunakan dari kode
REST API
curl -X POST https://api.iotools.cloud/v1/tool/bloom-filter-parameter-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"n": "10000",
"targetFpRate": "1"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `bloom-filter-parameter-calculator` tool (Bloom Filter Parameter Calculator) on this input:
YOUR_INPUT_HERETempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.
| Biaya per panggilan | Mulai dari 5 kredit |
|---|