기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
검색 기능 및 제한
검색 가용성
ElastiCache Valkey 버전 9.0 이상은 추가 비용 없이 모든 AWS 리전의 노드 기반 클러스터에서 숫자, 태그(정확한 일치), 전체 텍스트, 벡터 검색 및 집계를 포함한 순수 비 벡터, 벡터 및 하이브리드 워크로드를 지원합니다.
ElastiCache Valkey 버전 8.2는 추가 비용 없이 모든 AWS 리전의 노드 기반 클러스터에서 벡터 검색을 지원합니다.
가동 중지 없이 몇 번의 클릭만으로 Valkey 버전 또는 Redis OSS에서 위에 언급된 Valkey 버전으로 업그레이드하여 기존 클러스터에 대한 검색을 사용할 수도 있습니다.
검색은 현재 데이터 계층화가 있는 노드를 제외한 모든 ElastiCache 인스턴스 유형에서 사용할 수 있습니다. t2, t3 및 t4g 인스턴스에서 검색을 사용하려면 메모리 예약을 마이크로 인스턴스의 경우 50%, 스몰 인스턴스의 경우 30% 이상으로 늘려야 합니다. 자세한 내용은 이 페이지를 참조하세요.
파라미터 제한 사항
다음 표에는 다양한 검색 항목에 대한 제한이 나와 있습니다.
| 항목 | 최댓값(9.0 이상) | 최댓값(8.2) |
|---|---|---|
| 벡터의 차원 수 | 32768 | 32768 |
| 만들 수 있는 인덱스 수 | 1000 | 10 |
| 인덱스의 필드 수 | 1000 | 50 |
| FT.SEARCH TIMEOUT절(밀리초) | 60000 | 60000 |
| 인덱스당 허용되는 최대 접두사 수 | 16 | 16 |
| 태그 필드의 최대 길이 | 10000 | 10000 |
| 숫자 필드의 최대 길이 | 256 | 256 |
| HNSW M 파라미터 | 2000000 | 2000000 |
| HNSW EF_CONSTRUCTION 파라미터 | 1000000 | 4096 |
| HNSW EF_RUNTIME 파라미터 | 1000000 | 4096 |
| FT.SEARCH/FT.AGGREGATE 명령의 쿼리 문자열에 사용할 수 있는 용어 수 | 1000 | 16 |
| 인덱스당 허용되는 텍스트 속성 수 | 64 | NA |
| 접두사, 접미사, 퍼지 및 스팀 용어 검색의 최대 텍스트 단어 확장 | 200 | NA |
운영상의 제한 사항
인덱스 지속성 및 채우기
Valkey 검색 인덱스 생성 및 채우기
규모 조정 제한
ElastiCache Valkey 버전 9.0에서는 조정 이벤트 중에 쓰기 RPS가 이벤트 기간 동안 감소할 수 있습니다. ElastiCache Valkey 버전 8.2에서는 조정 이벤트 중에 데이터가 마이그레이션될 때 인덱스가 채워질 수 있으므로 검색 쿼리에 대한 재현율이 줄어듭니다.
스냅샷 가져오기/내보내기 및 실시간 마이그레이션
검색 인덱스가 있는 한 클러스터의 RDB 파일을 버전 8.2 이상의 다른 ElastiCache Valkey 클러스터로 가져올 수 있습니다. 새 클러스터는 RDB 파일을 로드할 때 인덱스 콘텐츠를 다시 빌드합니다. 그러나 RDB 파일에 검색 인덱스가 있으면 해당 데이터와 이전 버전의 Valkey와의 호환성이 제한됩니다. 벡터 검색 기능으로 정의된 검색 인덱스의 형식은 Valkey 버전 8.2 이상의 다른 ElastiCache 클러스터에서만 이해됩니다. 그러나 인덱스가 포함되지 않은 RDB 파일에는 이러한 제한이 적용되지 않습니다.
채우기 중 메모리 부족
Valkey OSS 쓰기 작업과 마찬가지로 인덱스 채우기에는 메모리 부족 제한이 적용됩니다. 채우기가 진행되는 동안 엔진 메모리가 가득 차면 모든 채우기가 일시 중지됩니다. 메모리를 사용할 수 있게 되면 채우기가 다시 시작됩니다. 메모리 부족으로 인해 채우기가 일시 중지된 경우 삭제하고 인덱싱할 수 있습니다.
트랜잭션
명령 FT.CREATE 및는 트랜잭션 컨텍스트, 즉 MULTI/EXEC 블록 또는 LUA 또는 FUNCTION 스크립트 내에서 실행할 FT.DROPINDEX수 없습니다. 또한 클러스터 모드에서 작동하는 ElastiCache Valkey 클러스터의 트랜잭션 컨텍스트에서는 FT.SEARCH 및 FT.AGGREGATE 명령을 실행할 수 없습니다.
검색 보안
명령 및 데이터 액세스 모두에 대한 Valkey 액세스 제어 목록(ACL)@search가 추가되었으며 많은 기존 범주(@fast, @read, @write 등)가 새 명령을 포함하도록 업데이트되었습니다. 검색 명령은 키 데이터를 수정하지 않습니다. 즉, 쓰기 액세스를 위한 기존 ACL 시스템이 보존됩니다. HASH 및 JSON 작업에 대한 액세스 규칙은 인덱스가 있더라도 수정되지 않습니다. 이러한 명령에는 여전히 일반적인 키 수준 액세스 제어가 적용됩니다.
인덱스가 있는 검색 명령의 액세스도 ACL로 제어됩니다. 액세스 확인은 키별 수준이 아닌 전체 인덱스 수준에서 수행됩니다. 즉, 사용자가 해당 인덱스의 키스페이스 접두사 목록 내에서 가능한 모든 키에 액세스할 수 있는 권한을 가진 경우에만 사용자에게 인덱스 액세스 권한이 부여됩니다. 즉, 인덱스의 실제 콘텐츠는 액세스를 제어하지 않습니다. 그보다는 접두사 목록에 정의된 인덱스의 이론상 내용이 보안 검사에 사용됩니다. 사용자에게 키에 대한 읽기 및/또는 쓰기 액세스는 있지만 가능한 해당 키가 포함된 인덱스에는 액세스할 수 없는 상황입니다. 인덱스를 만들거나 사용할 때는 키스페이스에 대한 읽기 액세스만 필요하며 쓰기 액세스 유무는 고려되지 않습니다.