¿Por qué algunas personas están tan enamoradas de los filtros Bloom?

Sumado a las excelentes respuestas de Adam D’Angelo y Josh Wills (de hace cuatro años), tenga en cuenta que hay algo mágico y contraintuitivo en el reconocimiento (con alta probabilidad) de que ha visto algo sin recordar realmente cómo se veía. En otras palabras, puede usar los filtros Bloom para realizar un seguimiento de (colecciones de) objetos con cualquier cantidad de estructura, pero sin almacenar dichos objetos explícitamente.

Su uso en el papel de BigTable tampoco hizo daño.

Creo que una gran parte de esto es que son probabilísticos, lo que es raro encontrar en los algoritmos utilizados en la práctica. El algoritmo más común que utiliza la aleatoriedad en la práctica es el de orden rápido, pero eso es tan común que no se destaca. Los filtros Bloom son tan raros que no son demasiado oscuros y no son algo que todos conozcan. Aparte de eso, son rápidos y elegantes, y creo que a la gente le gusta el sonido del nombre.

Añadiré en eso:

  1. La gente ama las cosas que reducen la latencia y la carga. A la gente le encanta memcached por la misma razón que les encantan los filtros de floración: reducen efectivamente la frecuencia con la que tiene que hacer operaciones costosas, y puede hacer todo tipo de ajustes para optimizar más allá de la recompensa inicial.
  2. Hay una gran riqueza en las matemáticas en torno a los filtros de bloom, no es solo un truco único. Hay todo tipo de variantes de filtros de floración de recuento, filtros de floración adaptativa, filtros de floración en decaimiento del tiempo, etc .; Si lo desea, puede frikis en serio, y eso tiene cierto atractivo para cierto tipo de persona.