وب‌سرویس مجید

پروژه bloom

bits-and-blooms/bloom

کاربرد:

این پکیج یک پیاده‌سازی کارآمد از Bloom Filter در زبان Go ارائه می‌دهد.

Bloom Filter یک ساختار داده احتمالی است که برای بررسی عضویت یک عنصر در مجموعه استفاده می‌شود.

این ساختار فضای کمتری مصرف می‌کند و سرعت بالایی دارد، اما ممکن است خطای "مثبت کاذب" داشته باشد (یعنی گاهی ممکن است بگوید عنصر وجود دارد در حالی که نیست). ️

در چه شرایطی بهتره استفاده شود؟

وقتی با داده‌های حجیم کار می‌کنید و نیاز به بررسی سریع عضویت دارید، اما فضای حافظه محدود است.

مثلاً در پایگاه‌های داده، سیستم‌های جستجوی شاخص، یا تشخیص URLهای مخرب بدون بررسی هر بار اینترنت.

چند مثال از موارد استفاده

Milvus از آن برای بهینه‌سازی جستجوی شباهت در داده‌های برداری استفاده می‌کند.

Beego آن را در فیلترهای امنیتی و کش استفاده می‌کند. ️

تشخیص سریع اینکه آیا یک کلمه عبور در لیست نشت یافته‌ها وجود دارد یا نه.

جلوگیری از نمایش محتوای تکراری در فیدهای کاربران.

  • ##BloomFilter
  • ##GoLang
  • ##DataStructures
  • ##Milvus
  • ##Beego
  • ##ProbabilisticDataStructures
  • ##EfficientLookup
  • ##MemoryOptimized
  • ##Caching
  • ##Security