기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
블룸 필터 시작하기
ElastiCache는 요소가 집합의 멤버인지 확인하기 위한 공간 효율적인 확률적 데이터 구조를 제공하는 블룸 필터 데이터 구조를 지원합니다. 블룸 필터를 사용하면 오탐지가 발생할 수 있습니다. 필터는 요소가 집합에 추가되지 않았더라도 요소가 존재한다는 것을 잘못 나타낼 수 있습니다. 그러나 블룸 필터를 사용하면 거짓 부정을 방지할 수 있습니다. 즉, 요소가 집합에 추가되었더라도 요소가 존재하지 않는다는 잘못된 표시입니다.
fp 비율을 조정하여 잠재적 거짓 긍정의 비율을 워크로드에 대해 선호하는 비율로 설정할 수 있습니다. 용량(블룸 필터가 보유할 수 있는 항목 수), 크기 조정 및 크기 조정 외 속성 등을 구성할 수도 있습니다.
지원되는 엔진 버전으로 클러스터를 생성하면 Bloom 데이터 유형 및 관련 명령을 자동으로 사용할 수 있습니다. bloom
데이터 형식은 valkey-py
, 및를 포함한 공식 Valkey 클라이언트 라이브러리의 Bloom 필터 명령 구문valkey-java
과 API 호환됩니다valkey-go
. 기존 Bloom 기반 Valkey 및 Redis OSS 애플리케이션을 ElastiCache로 쉽게 마이그레이션할 수 있습니다. 전체 명령 목록은 섹션을 참조하세요블룸 필터 명령.
블룸 관련 지표 BloomFilterBasedCmds
, BloomFilterBasedCmdsLatency
및 BloomFilterBasedCmdsECPUs
는 CloudWatch에 통합되어이 데이터 유형의 사용량을 모니터링합니다. 자세한 내용은 Valkey 및 Redis OSS에 대한 지표 단원을 참조하십시오.
참고
Bloom 필터를 사용하려면 ElastiCache Valkey 8.1 이상에서를 실행해야 합니다.
블룸 데이터 형식은 다른 비-Valkey 기반 블룸 제품과 RDB 호환되지 않습니다.
블룸 필터 데이터 유형 개요
블룸 필터는 요소를 추가하고 요소가 존재하는지 확인할 수 있는 공간 효율적인 확률적 데이터 구조입니다. 필터가 추가되지 않았더라도 요소가 존재함을 잘못 나타내는 경우 거짓 긍정이 발생할 수 있습니다. 그러나 블룸 필터는 거짓 부정(추가된 경우에도 요소가 존재하지 않음을 잘못 나타냄)이 발생하지 않도록 보장합니다.
블룸 필터의 주요 설명서 소스는 valkey.io 설명서 페이지에서 확인할 수 있습니다. 여기에는 다음 정보가 포함됩니다.
-
광고/이벤트 중복 제거
사기 탐지
유해한 콘텐츠/스팸 필터링
고유한 사용자 감지
-
조정 블룸 필터와 비 조정 블룸 필터 중에서 결정하는 방법
-
블룸 필터의 튜닝 가능한 속성에 대해 알아봅니다. 여기에는 거짓 긍정 비율, 용량, 크기 조정 및 비 크기 조정 속성 등이 포함됩니다.
-
-
블룸 필터가 메모리 사용량 한도에 도달했는지, 원하는 용량에 도달하도록 확장할 수 있는지 확인하는 방법에 대한 권장 사항 및 세부 정보입니다.
-
BF.INFO
명령을 사용하여 블룸 필터 문서에서 사용하는 메모리 양을 구체적으로 확인할 수 있습니다.
-
블룸 크기 제한
단일 블룸 필터 객체의 메모리 사용량은 128MB로 제한됩니다. BF.INFO <key> SIZE
명령을 사용하여 Bloom 필터에서 사용하는 메모리 양을 확인할 수 있습니다.
블룸 ACLs
기존 데이터 유형별 범주(@string, @hash 등)와 마찬가지로 새 범주 @bloom이 추가되어 Bloom 명령 및 데이터에 대한 액세스 관리를 간소화합니다. 다른 기존 Valkey 또는 Redis OSS 명령은 @bloom 범주의 멤버가 아닙니다.
새로운 Bloom 명령을 포함하도록 업데이트된 기존 ACL 범주는 @read, @write 및 @fast의 3가지입니다. 다음 표는 Bloom 명령을 적절한 범주에 매핑하는 방법을 나타냅니다.
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.MEXISTS |
y |
y |
y |
|
BF.RESERVE |
y |
y |
y |
블룸 필터 관련 지표
블룸 데이터 구조와 관련된 다음 CloudWatch 지표가 제공됩니다.
CW 지표 | 단위 | 서버리스/자체 설계 | 설명 |
---|---|---|---|
BloomFilterBasedCmds |
개수 |
둘 다 |
읽기 및 쓰기 명령을 모두 포함한 블룸 필터 명령의 총 수입니다. |
BloomFilterBasedCmdsLatency |
마이크로초 |
자체 관리형 |
읽기 및 쓰기 명령을 포함한 모든 블룸 필터 명령의 지연 시간입니다. |
BloomFilterBasedCmdsECPUs |
개수 |
Serverless |
읽기 및 쓰기 명령을 포함하여 모든 Bloom 필터 명령에서 사용되는 ECPUs. |
블룸 필터 명령
블룸 필터 명령
명칭 | 설명 |
---|---|
BF.ADD |
블룸 필터에 단일 항목을 추가합니다. 필터가 아직 없는 경우 항목이 생성됩니다. |
BF.CARD |
블룸 필터의 카디널리티를 반환합니다. |
BF.EXISTS |
블룸 필터에 지정된 항목이 포함되어 있는지 확인합니다. |
BF.INFO |
특정 블룸 필터의 사용 정보 및 속성을 반환합니다. |
BF.INSERT |
항목이 0개 이상인 블룸 필터를 생성하거나 기존 블룸 필터에 항목을 추가합니다. |
BF.MADD |
블룸 필터에 하나 이상의 항목을 추가합니다. |
BF.MEXISTS |
블룸 필터에 1개 이상의 항목이 포함되어 있는지 확인합니다. |
BF.RESERVE |
지정된 속성을 사용하여 빈 블룸 필터를 생성합니다. |
참고
BF.LOAD는 ElastiCache에서 지원되지 않습니다. ElastiCache가 지원하지 않는 AOF 사용량에만 관련이 있습니다.