Bitget App
Giao dịch thông minh hơn
Mua CryptoThị trườngGiao dịchFuturesSao chépBots‌Earn

Bloom Filter

Nâng cao
share

Bloom filter là mt cu trúc d liu xác sut đưc thiết kế đ kim tra hiu qu xem mt phn t có thuc v mt tp hp hay không. Nó đưc phát minh bi Burton Howard Bloom vào năm 1970 và đã tr thành mt công c cơ bn trong khoa hc máy tính nh khng qun lý các tp d liu ln vi mc tiêu th b nh ti thiu. Khác vi các cu trúc d liu truyn thng như bng băm hoc cây tìm kiếm nh phân, bloom filter có th đưa ra câu tr li chc chn khi mt phn t không có trong tp hp, nhưng ch đưa ra câu tr li xác sut khi mt phn t có trong tp hp. Điu này có nghĩa là mc dù có th xy ra kết qu dương tính gi, nhưng không th có âm tính gi.

Khái nim ct lõi ca bloom filter xoay quanh mt mng các bit, ban đu tt c đưc đt là 0, và mt lot các hàm băm. Khi mt phn t đưc thêm vào bloom filter, nó đưc truyn qua mi hàm băm đ to ra nhiu v trí trong mng bit. Các bit nhng v trí này sau đó đưc đt thành 1. Đ kim tra xem mt phn t có trong tp hp hay không, nó li đưc băm bng các hàm tương t và các bit tương ng đưc kim tra. Nếu tt c các bit nhng v trí này là 1, phn t đưc coi là có th có trong tp hp; nếu bt k bit nào là 0, phn t chc chn không có trong tp hp.

Mt trong nhng ưu đim đáng k ca bloom filter là hiu qu v không gian. Chúng yêu cu ít b nh hơn đáng k so vi các cu trúc d liu khác cho cùng mt nhim v, đc bit khi sng phn t tăng lên. Ví d, ch cn dưi 10 bit cho mi phn t đ đt đưc xác sut dương tính gi 1%, bt k sng phn t trong tp hp. Điu này làm cho bloom filter đc bit hu ích trong các ng dng mà vic s dng b nh là mt vn đ quan trng, chng hn như b đnh tuyến mng, h thng cơ s d liu và h thng phân tán.

Tuy nhiên, bloom filter cũng có mt s hn chế. Không th xóa các phn t khi tp hp là mt nhưc đim chính, vì vic xóa các bit đã đưc đt bi nhiu phn t s dn đến âm tính gi. Các biến th như bloom filter đếm đã đưc phát trin đ gii quyết vn đ này, cho phép xóa các phn t bng cách duy trì s ln mi bit đã đưc đt. Ngoài ra, t l dương tính gi tăng lên khi thêm nhiu phn t, điu này có nghĩa là kích thưc ca mng bit và sng hàm băm phi đưc chn cn thn da trên sng phn t d kiến và t l dương tính gi có th chp nhn đưc.

Trong các ng dng thc tế, bloom filter đã đưc s dng rng rãi trong nhiu lĩnh vc. Ví d, trong Bitcoin, chúng đưc s dng đ tăng cưng quyn riêng tư trong các ng dng Xác minh Thanh toán Đơn gin hóa (SPV) bng cách cho phép ngưi dùng truy vn giao dch mà không tiết l đa ch ca h. Các mng phân phi ni dung như Akamai s dng bloom filter đ qun lý lưu tr b nh đm mt cách hiu qu, gim ti cho máy ch bng cách tránh truy xut d liu không cn thiết. Mc dù có tính cht xác sut và nhng hn chế, bloom filter vn là mt công c vô giá trong vic thiết kế các h thng hiu qu và có kh năng m rng.

Tải ứng dụng
Tải ứng dụng