기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
벡터 검색 기능 및 제한
벡터 검색 가능 여부
Amazon ElastiCache에 대한 벡터 검색은 모든AWS리전의 노드 기반 클러스터에서 Valkey 버전 8.2로 추가 비용 없이 사용할 수 있습니다. 가동 중지 시간 없이 몇 번의 클릭만으로 Valkey 버전 또는 Redis OSS에서 Valkey 8.2로 업그레이드하여 기존 클러스터에서 벡터 검색을 사용할 수도 있습니다.
벡터 검색은 현재 데이터 계층화가 있는 노드를 제외한 모든 ElastiCache 인스턴스 유형에서 사용할 수 있습니다. t2, t3 및 t4g 인스턴스에서 벡터 검색을 사용하려면 메모리 예약을 마이크로 인스턴스의 경우 50%, 스몰 인스턴스의 경우 30% 이상으로 늘려야 합니다. 자세한 내용은 이 페이지를 참조하세요.
파라미터 제한 사항
다음 표는 다양한 벡터 검색 항목에 대한 제한 사항을 보여줍니다.
| 항목 | 최대값 |
|---|---|
| 벡터의 차원 수 | 32768 |
| 만들 수 있는 인덱스 수 | 10 |
| 인덱스의 필드 수 | 50 |
| FT.SEARCH TIMEOUT절(밀리초) | 60000 |
| 인덱스당 허용되는 최대 접두사 수 | 16 |
| 태그 필드의 최대 길이 | 10000 |
| 숫자 필드의 최대 길이 | 256 |
| HNSW M 파라미터 | 2000000 |
| HNSW EF_CONSTRUCTION 파라미터 | 4096 |
| HNSW EF_RUNTIME 파라미터 | 4096 |
운영상의 제한 사항
인덱스 지속성 및 채우기
업데이트 프로세스에는 세 단계가 있습니다. 첫 번째 단계에서는 HASH 또는 JSON 키가 수정되고 요청 클라이언트가 차단됩니다. 두 번째 단계는 백그라운드에서 수행되며 수정된 키가 포함된 각 인덱스를 업데이트합니다. 세 번째 단계에서는 클라이언트가 차단 해제됩니다. 따라서 변형과 동일한 연결에서 수행되는 쿼리 작업의 경우 해당 변경 사항이 검색 결과에 즉시 표시됩니다. 그러나 키를 삽입하거나 업데이트해도 당장은 기타 클라이언트의 검색 결과에 표시되지 않습니다. 시스템 부하가 심하거나 데이터가 심하게 변경되는 기간에는 가시성 지연이 더 길어질 수 있습니다.
벡터 검색 기능은 인덱스의 정의와 인덱스의 콘텐츠를 유지합니다. 벡터 필드의 인덱스는 저장되지만 TAGS 및 NUMERIC의 인덱스는 저장되지 않습니다. 즉, 외부에서 로드할 때 다시 빌드해야 합니다(전체 동기화 또는 다시 로드). 즉, 노드를 시작하거나 다시 시작하게 하는 모든 운영 요청 또는 이벤트 중에 인덱스 정의 및 벡터 콘텐츠가 최신 스냅샷에서 복원됩니다. 이를 시작하는 데는 사용자 작업이 필요하지 않습니다. 그러나 TAGS 및 NUMERIC 인덱스의 경우 리빌드 작업은 데이터가 복원되는 즉시 채우기 작업으로 수행됩니다. 이는 시스템이 정의된 각 인덱스에 대해 FT.CREATE 명령을 자동으로 실행하는 것과 기능적으로 동일합니다. 데이터가 복원되자마자 노드를 애플리케이션 작업에 사용할 수 있지만 인덱스 채우기가 완료되지 않았을 가능성이 높습니다. 즉, 채우기 작업이 애플리케이션에 다시 표시될 수 있으며, 예를 들어 인덱스 채우기를 사용한 검색 명령은 거부될 수 있습니다.
인덱스 채우기 완료는 원본과 복제본 간에 동기화되지 않습니다. 불완전한 동기화가 애플리케이션에 예기치 않게 나타날 수 있으므로 애플리케이션에서 검색 작업을 시작하기 전에 원본과 모든 복제본에서 채우기가 완료되었는지 확인하는 것이 좋습니다.
규모 조정 제한
규모 조정 이벤트 중에 데이터가 마이그레이션될 때 인덱스가 채워질 수 있습니다. 이로 인해 검색 쿼리에 대한 재현율이 줄어듭니다.
스냅샷 가져오기/내보내기 및 실시간 마이그레이션
검색 인덱스가 있는 한 클러스터의 RDB 파일을 버전 8.2 이상의 다른 ElastiCache Valkey 클러스터로 가져올 수 있습니다. 새 클러스터는 RDB 파일을 로드할 때 인덱스 콘텐츠를 다시 빌드합니다. 그러나 RDB 파일에 검색 인덱스가 있으면 해당 데이터와 이전 버전의 Valkey와의 호환성이 제한됩니다. 벡터 검색 기능으로 정의된 검색 인덱스의 형식은 Valkey 버전 8.2 이상의 다른 ElastiCache 클러스터에서만 이해됩니다. 그러나 인덱스가 포함되지 않은 RDB 파일에는 이러한 제한이 적용되지 않습니다.
채우기 중 메모리 부족
Valkey OSS 쓰기 작업과 마찬가지로 인덱스 채우기에는 메모리 부족 제한이 적용됩니다. 채우기가 진행되는 동안 엔진 메모리가 가득 차면 모든 채우기가 일시 중지됩니다. 메모리를 사용할 수 있게 되면 채우기가 다시 시작됩니다. 메모리 부족으로 인해 채우기가 일시 중지된 경우 삭제하고 인덱싱할 수 있습니다.
트랜잭션
FT.CREATE, FT.DROPINDEX, FT.ALIASADD, FT.ALIASDEL 및 FT.ALIASUPDATE 명령은 트랜잭션 컨텍스트에서 실행할 수 없습니다. 즉, MULTI/EXEC 블록, LUA 또는 FUNCTION 스크립트 내에서는 실행할 수 없습니다.