데브허브 | DEVHUB | ★밝기 조정★AWS OpenSearch [1부] 세미나 영상 중 일부분!★밝기 조정★AWS OpenSearch [1부] 세미나 영상 중 일부분!
- BM25 알고리즘은 TF-IDF의 한계를 극복하고 문서 길이에 따른 가중치를 추가하여 검색 정확도를 높인 핵심 알고리즘입니다. 💡
- OpenSearch는 Lucene 인덱스를 기반으로 인덱스(테이블), 샤드(테이블스페이스), Lucene 인덱스, 세그먼트의 계층 구조를 가집니다. 🏗️
- 세그먼트는 문서의 불변 집합으로, 빠른 검색을 위한 자료 구조이며, 데이터 삭제 시 즉시 지우지 않고 표시만 한 후 병합 시 새로운 세그먼트가 생성됩니다. 🧱
- OpenSearch는 JVM 힙 메모리 외에 파일 시스템 캐시를 활용하는 네이티브 메모리 영역이 중요하며, 전체 OS 메모리의 50%를 네이티브 메모리에 할당하는 것을 권장합니다. 🧠
- JVM 힙은 32GB 미만으로 설정하는 것이 효율적인데, 이는 32GB 초과 시 64비트 체계 전환으로 인한 압축된 OOP(Ordinary Object Pointers)의 효율 저하를 방지하기 위함입니다. 💾
- OpenSearch는 라우팅을 담당하는 코디네이터 노드와 실제 데이터를 저장하는 데이터 노드로 구성되며, 데이터 노드에는 Lucene 세그먼트와 벡터 인덱스가 포함됩니다. 🌐
- 벡터 검색은 Faiss, NS Library와 같은 추가 엔진을 활용하며, 이에 따라 인덱스 구조가 달라질 수 있습니다. 🎯
- OpenSearch는 CAP 이론에서 일관성(Consistency)과 가용성(Availability)을 보장하며, 트랜잭션 로그(Translog)를 통해 데이터의 지속성과 일관성을 유지합니다. 🛡️