Primeros pasos con los filtros Bloom - Amazon ElastiCache

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Primeros pasos con los filtros Bloom

ElastiCache admite la estructura de datos del filtro Bloom, que proporciona una estructura de datos probabilística eficiente en cuanto al espacio para comprobar si un elemento es miembro de un conjunto. Cuando se utilizan filtros Bloom, es posible que se produzcan falsos positivos: un filtro puede indicar incorrectamente la existencia de un elemento, aunque ese elemento no se haya añadido al conjunto. Sin embargo, el uso de los filtros Bloom evitará los falsos negativos, es decir, indicaciones incorrectas de que un elemento no existe aunque se haya añadido al conjunto.

Puedes establecer el porcentaje de posibles falsos positivos en la tasa que prefieras para tu carga de trabajo ajustando la tasa fp. También puedes configurar la capacidad (la cantidad de elementos que puede contener un filtro Bloom), las propiedades escalables y no escalables, y más.

Tras crear un clúster con una versión de motor compatible, el tipo de datos de Bloom y los comandos asociados estarán disponibles automáticamente. El tipo de bloom datos es compatible mediante API con la sintaxis de comandos del filtro Bloom de las bibliotecas cliente oficiales de Valkeyvalkey-py, incluidasvalkey-java, yvalkey-go. Puede migrar fácilmente las aplicaciones OSS Valkey y Redis existentes basadas en Bloom a ellas. ElastiCache Para obtener una lista completa de comandos, consulte. Comandos de filtro Bloom

Las métricas están relacionadas con BloomFilterBasedCmds Bloom BloomFilterBasedCmdsLatency y BloomFilterBasedCmdsECPUs se incorporan CloudWatch para monitorear el uso de este tipo de datos. Para obtener más información, consulte Métricas de Valkey y Redis OSS.

nota
  • Para utilizar los filtros Bloom, debe utilizar ElastiCache Valkey 8.1 y versiones posteriores.

  • El tipo de datos de Bloom no es compatible con RDB con otras ofertas de Bloom que no estén basadas en Valkey.

Descripción general del tipo de datos de los filtros Bloom

Los filtros Bloom son una estructura de datos probabilística que ahorra espacio y que permite añadir elementos y comprobar si existen elementos. Los falsos positivos son posibles cuando un filtro indica incorrectamente que un elemento existe, aunque no se haya agregado. Sin embargo, los filtros Bloom garantizan que no se produzcan falsos negativos (lo que indica incorrectamente que un elemento no existe aunque se haya añadido).

La principal fuente de documentación sobre los filtros Bloom se encuentra en la página de documentación de valkey.io. Contiene la siguiente información:

Límite de tamaño de las flores

El consumo de memoria de un único objeto de filtro Bloom está limitado a 128 MB. Puede comprobar la cantidad de memoria consumida por un filtro Bloom mediante el BF.INFO <key> SIZE comando.

Bloom ACLs

Al igual que en las categorías existentes por tipo de datos (@string, @hash, etc.), se ha añadido una nueva categoría @bloom para simplificar la administración del acceso a los comandos y datos de Bloom. Ningún otro comando OSS de Valkey o Redis existente es miembro de la categoría @bloom.

Hay tres categorías de ACL existentes que se actualizaron para incluir los nuevos comandos de Bloom: @read, @write y @fast. En la siguiente tabla se indica la asignación de los comandos de Bloom a las categorías correspondientes.

Comando Bloom @read @write @fast @bloom

BF.ADD

y

y

y

BF.CARD

y

y

y

BF.EXISTS

y

y

y

BF.INFO

y

y

y

BF.INSERT

y

y

y

BF.MADD

y

y

y

BF.M EXISTE

y

y

y

BF.RESERVE

y

y

y

Métricas relacionadas con el filtro Bloom

Se proporcionan las siguientes CloudWatch métricas relacionadas con las estructuras de datos de Bloom:

Métricas de CW Unidad Sin servidor/de diseño propio Descripción

BloomFilterBasedCmds

Recuento

Ambos

El número total de comandos del filtro Bloom, incluidos los comandos de lectura y escritura.

BloomFilterBasedCmdsLatency

Microsegundos

Autoadministrado

Latencia de todos los comandos del filtro Bloom, incluidos los comandos de lectura y escritura.

BloomFilterBasedCmdsECPUs

Recuento

Sin servidor

ECPUs consumida por todos los comandos de filtro de Bloom, incluidos los comandos de lectura y escritura.

Comandos de filtro Bloom

Los comandos del filtro Bloom están documentados en el sitio web Valkey.io. Cada página de comandos proporciona una descripción completa de los comandos de Bloom, incluida su sintaxis, comportamiento, valores devueltos y posibles condiciones de error.

Nombre Descripción
BF.ADD

Añade un único elemento a un filtro de floración. Si el filtro aún no existe, se crea.

MEJOR AMIGA. CARD

Devuelve la cardinalidad de un filtro de floración.

BF. EXISTE

Determina si el filtro de floración contiene el elemento especificado.

BF.INFO

Devuelve la información de uso y las propiedades de un filtro de floración específico.

BF. INSERTAR

Crea un filtro de floración con 0 o más elementos, o añade elementos a un filtro de floración existente.

BF.MADD

Añade uno o más elementos a un filtro de floración.

BF.M EXISTE

Determina si el filtro de floración contiene 1 o más elementos.

MEJOR AMIGA: RESERVE

Crea un filtro de floración vacío con las propiedades especificadas.

nota

BF.LOAD no es compatible con. ElastiCache Solo es relevante para el uso de AOF, que ElastiCache no es compatible.