As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Começando a usar os filtros Bloom
ElastiCache suporta a estrutura de dados do filtro Bloom, que fornece uma estrutura de dados probabilística eficiente em termos de espaço para verificar se um elemento é membro de um conjunto. Ao usar filtros Bloom, falsos positivos são possíveis — um filtro pode indicar incorretamente que um elemento existe, mesmo que esse elemento não tenha sido adicionado ao conjunto. No entanto, o uso de filtros Bloom evitará falsos negativos — indicações incorretas de que um elemento não existe, mesmo que esse elemento tenha sido adicionado ao conjunto.
Você pode definir a porcentagem de possíveis falsos positivos como uma taxa preferencial para sua carga de trabalho, ajustando a taxa de fp. Você também pode configurar a capacidade (o número de itens que um filtro Bloom pode conter), propriedades escaláveis e não escaláveis e muito mais.
Depois de criar um cluster com uma versão de mecanismo compatível, o tipo de dados Bloom e os comandos associados ficam automaticamente disponíveis. O tipo de bloom
dados é compatível com a API com a sintaxe do comando Bloom filter das bibliotecas de cliente oficiais da Valkeyvalkey-py
, incluindovalkey-java
, e. valkey-go
Você pode migrar facilmente os aplicativos Valkey e Redis OSS existentes baseados em Bloom para o. ElastiCache Para obter uma lista completa de comandos, consulteComandos do filtro Bloom.
As métricas relacionadas ao BloomBloomFilterBasedCmds
,BloomFilterBasedCmdsLatency
, e BloomFilterBasedCmdsECPUs
são incorporadas CloudWatch para monitorar o uso desse tipo de dados. Para obter mais informações, consulte Métricas para o Valkey e Redis OSS.
nota
Para usar os filtros Bloom, você deve estar executando o ElastiCache Valkey 8.1 e versões posteriores.
O tipo de dados bloom não é compatível com RDB com outras ofertas de bloom que não sejam baseadas em Valkey.
Visão geral do tipo de dados dos filtros Bloom
Os filtros Bloom são uma estrutura de dados probabilística eficiente em termos de espaço que permite adicionar elementos e verificar se existem elementos. Falsos positivos são possíveis quando um filtro indica incorretamente que um elemento existe, mesmo que ele não tenha sido adicionado. No entanto, os Bloom Filters garantem que falsos negativos (indicando incorretamente que um elemento não existe, mesmo que tenha sido adicionado) não ocorram.
A principal fonte de documentação dos filtros bloom pode ser encontrada na página de documentação do valkey.io. Ele contém as seguintes informações:
Casos de uso comuns para filtros de floração
Desduplicação de anúncios e eventos
Detecção de fraudes
Filtragem de conteúdo nocivo/spam
Detecção exclusiva de usuários
Diferenças entre filtros de floração escaláveis e não escaláveis
Como decidir entre filtros de floração escaláveis e não escaláveis
-
Saiba mais sobre as propriedades ajustáveis dos filtros Bloom. Isso inclui a taxa de falsos positivos, a capacidade, as propriedades de escalabilidade e não escalabilidade e muito mais.
Manipulação de grandes filtros de floração
-
Recomendações e detalhes sobre como verificar se um filtro bloom está atingindo seu limite de uso de memória e se ele pode ser dimensionado para atingir a capacidade desejada.
-
Você pode verificar especificamente a quantidade de memória consumida por um documento de filtro bloom usando o comando BF.INFO
.
-
Limite de tamanho de flor
O consumo de memória por um único objeto de filtro Bloom é limitado a 128 MB. Você pode verificar a quantidade de memória consumida por um filtro Bloom usando o BF.INFO <key> SIZE
comando.
Bloom ACLs
Semelhante às categorias existentes por tipo de dados (@string, @hash etc.), uma nova categoria @bloom foi adicionada para simplificar o gerenciamento do acesso aos comandos e dados do Bloom. Nenhum outro comando OSS existente do Valkey ou do Redis é membro da categoria @bloom.
Há três categorias de ACL existentes que foram atualizadas para incluir os novos comandos Bloom: @read, @write e @fast. A tabela a seguir indica o mapeamento dos comandos Bloom para as categorias apropriadas.
Comando Bloom | @read | @write | @fast | @bloom |
---|---|---|---|---|
BF.ADD |
y |
y |
y |
|
BF.CARD |
y |
y |
y |
|
BF.EXISTE |
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 ao filtro Bloom
As seguintes CloudWatch métricas relacionadas às estruturas de dados do Bloom são fornecidas:
Métricas CW | Unidade | Sem servidor/projetado por você mesmo | Descrição |
---|---|---|---|
BloomFilterBasedCmds |
Contagem |
Ambos |
O número total de comandos do filtro Bloom, incluindo comandos de leitura e gravação. |
BloomFilterBasedCmdsLatency |
Microssegundos |
Autogerenciado |
Latência de todos os comandos do filtro Bloom, incluindo comandos de leitura e gravação. |
BloomFilterBasedCmdsECPUs |
Contagem |
Sem servidor |
ECPUs consumido por todos os comandos do filtro Bloom, incluindo comandos de leitura e gravação. |
Comandos do filtro Bloom
Os comandos do Bloom Filter
Nome | Descrição |
---|---|
BF.ADD |
Adiciona um único item a um filtro bloom. Se o filtro ainda não existir, ele será criado. |
BF.CARD |
Retorna a cardinalidade de um filtro de floração. |
BF.EXISTE |
Determina se o filtro de floração contém o item especificado. |
BF.INFO |
Retorna informações de uso e propriedades de um filtro de floração específico. |
BF.INSERT |
Cria um filtro de floração com 0 ou mais itens ou adiciona itens a um filtro de floração existente. |
B.MADD |
Adiciona um ou mais itens a um filtro de flores. |
BF.M EXISTE |
Determina se o filtro bloom contém 1 ou mais itens. |
BF.RESERVE |
Cria um filtro de floração vazio com as propriedades especificadas. |
nota
O BF.LOAD não é suportado pelo. ElastiCache É relevante apenas para o uso do AOF, que ElastiCache não oferece suporte.