Guida introduttiva ai filtri Bloom - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida introduttiva ai filtri Bloom

ElastiCache supporta la struttura dati del filtro Bloom, che fornisce una struttura dati probabilistica efficiente in termini di spazio per verificare se un elemento fa parte di un set. Quando si utilizzano i filtri Bloom, sono possibili falsi positivi: un filtro può indicare erroneamente l'esistenza di un elemento, anche se quell'elemento non è stato aggiunto al set. Tuttavia, l'utilizzo dei filtri Bloom eviterà i falsi negativi, ossia indicazioni errate che un elemento non esiste, anche se quell'elemento è stato aggiunto al set.

Puoi impostare la percentuale di potenziali falsi positivi su una frequenza preferita per il tuo carico di lavoro, regolando la frequenza fp. Puoi anche configurare la capacità (il numero di elementi che un filtro Bloom può contenere), le proprietà di ridimensionamento e non ridimensionamento e altro ancora.

Dopo aver creato un cluster con una versione del motore supportata, il tipo di dati Bloom e i comandi associati sono automaticamente disponibili. Il tipo di bloom dati è compatibile tramite API con la sintassi dei comandi di filtro Bloom delle librerie client ufficiali di Valkeyvalkey-py, tra cuivalkey-java, e. valkey-go È possibile migrare facilmente le applicazioni Valkey e Redis OSS esistenti basate su Bloom in. ElastiCache Per un elenco completo dei comandi, vedere. Comandi del filtro Bloom

Le metriche relative a Bloom BloomFilterBasedCmdsBloomFilterBasedCmdsLatency, e BloomFilterBasedCmdsECPUs sono incorporate CloudWatch per monitorare l'utilizzo di questo tipo di dati. Per ulteriori informazioni, consulta Metriche per Valkey e Redis OSS.

Nota
  • Per utilizzare i filtri Bloom, è necessario utilizzare ElastiCache Valkey 8.1 e versioni successive.

  • Il tipo di dati bloom non è compatibile con RDB con altre offerte bloom non basate su Valkey.

Panoramica dei tipi di dati dei filtri Bloom

I filtri Bloom sono una struttura di dati probabilistica efficiente in termini di spazio che consente di aggiungere elementi e verificare se esistono elementi. I falsi positivi sono possibili quando un filtro indica erroneamente l'esistenza di un elemento, anche se non è stato aggiunto. Tuttavia, i filtri Bloom garantiscono che non si verifichino falsi negativi (che indicano erroneamente che un elemento non esiste, anche se è stato aggiunto).

La principale fonte di documentazione per i filtri Bloom è disponibile nella pagina della documentazione di valkey.io. Contiene le seguenti informazioni:

Limite di dimensione del fiore

Il consumo di memoria da parte di un singolo oggetto filtro Bloom è limitato a 128 MB. È possibile controllare la quantità di memoria consumata da un filtro Bloom utilizzando il BF.INFO <key> SIZE comando.

Bloom ACLs

Analogamente alle categorie esistenti per tipo di dati (@string, @hash, ecc.), viene aggiunta una nuova categoria @bloom per semplificare la gestione dell'accesso ai comandi e ai dati di Bloom. Nessun altro comando Valkey o Redis OSS esistente è membro della categoria @bloom.

Esistono 3 categorie ACL esistenti che vengono aggiornate per includere i nuovi comandi Bloom: @read, @write e @fast. La tabella seguente indica la mappatura dei comandi Bloom alle categorie appropriate.

Comando Bloom @read @write @fast @bloom

BF.ADD

y

y

y

BF.CARD

y

y

y

BF.ESISTE

y

y

y

BF.INFO

y

y

y

BF.INSERT

y

y

y

BF.MADD

y

y

y

BF.MEXIST

y

y

y

BF.RESERVE

y

y

y

Metriche relative al filtro Bloom

Vengono fornite le seguenti CloudWatch metriche relative alle strutture di dati Bloom:

Metriche CW Unità Senza server/progettato autonomamente Descrizione

BloomFilterBasedCmds

Conteggio

Entrambi

Il numero totale di comandi del filtro Bloom, inclusi i comandi di lettura e scrittura.

BloomFilterBasedCmdsLatency

Microsecondi

Autogestito

Latenza di tutti i comandi del filtro Bloom, inclusi i comandi di lettura e scrittura.

BloomFilterBasedCmdsECPUs

Conteggio

Serverless

ECPUs utilizzata da tutti i comandi del filtro Bloom, inclusi i comandi di lettura e scrittura.

Comandi del filtro Bloom

I comandi Bloom Filter sono documentati sul sito Valkey.io. Ogni pagina di comando fornisce una panoramica completa dei comandi bloom, inclusi la sintassi, il comportamento, i valori restituiti e le potenziali condizioni di errore.

Nome Descrizione
BF.ADD

Aggiunge un singolo elemento a un filtro Bloom. Se il filtro non esiste già, viene creato.

BF.CARD

Restituisce la cardinalità di un filtro Bloom.

BF.EXISTS

Determina se il filtro bloom contiene l'elemento specificato.

BF.INFO

Restituisce le informazioni sull'utilizzo e le proprietà di uno specifico filtro Bloom.

BF.INSERT

Crea un filtro di fioritura con 0 o più elementi o aggiunge elementi a un filtro di fioritura esistente.

BF.MADD

Aggiunge uno o più elementi a un filtro di fioritura.

BF.MEXISTS

Determina se il filtro bloom contiene 1 o più elementi.

BF.RESERVE

Crea un filtro bloom vuoto con le proprietà specificate.

Nota

BF.LOAD non è supportato da. ElastiCache È rilevante solo per l'utilizzo di AOF, che ElastiCache non supporta.