Restream/reindexer

Embeddable, in-memory, document-oriented database with a high-level Query builder interface.

해결하는 문제

Reindexer는 문서 지향 데이터에 대해 고성능 검색 및 복잡한 쿼리 기능을 제공하도록 설계되었습니다. Elasticsearch와 같은 도구의 고성능 대안으로, 메모리 할당을 최소화하고 쿼리 속도를 극대화하는 데 중점을 둡니다.

작동 방식

이 데이터베이스는 C++로 작성된 코어와 Go로 제공되는 애플리케이션 수준 API를 갖춘 임베디드 인메모리 데이터베이스입니다. 속도와 낮은 메모리 오버헤드를 유지하기 위해 문서와 인덱스를 밀집된 바이너리 C++ 구조체에 저장하여 Go 가비지 컬렉터의 부하를 줄입니다. 정적 라이브러리로 임베드, 번들 서버와 함께 임베드, 또는 독립형 서버로 실행하는 세 가지 배포 모드를 지원합니다. 데이터 지속성을 위해 LevelDB를 사용하여 문서를 디스크에 비동기적으로 기록합니다.

대상 사용자

복잡한 쿼리를 위해 빠르고 문서 지향적인 데이터베이스가 필요한 개발자, 특히 Go 애플리케이션에 직접 임베드하거나 독립형 서비스로 실행할 수 있는 인메모리 솔루션을 찾는 개발자에게 적합합니다.

주요 특징

  • 벡터 검색 (Vector Search): 내부 k-최근접 이웃 (KNN) 및 근사 최근접 이웃 (ANN) 검색 엔진을 포함합니다.
  • 하이브리드 검색 (Hybrid Search): 전체 텍스트 검색과 벡터 검색의 결합을 지원합니다.
  • 고성능 (High Performance): 단일 CPU 코어에서 초당 최대 50만 건의 단순 쿼리를 처리할 수 있습니다.
  • 유연한 쿼리 (Flexible Querying): ORM 스타일의 쿼리 빌더와 SQL 호환 인터페이스를 모두 제공합니다.
  • 고급 인덱싱 (Advanced Indexing): 정렬 가능한 인덱스, 복합 인덱스 및 배열 필드에 대한 인덱싱을 지원합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트