Restream/reindexer

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

解決する課題

Reindexer は、ドキュメント指向データに対して高性能な検索と複雑なクエリ機能を提供するために設計されています。Elasticsearch などのツールのより高性能な代替手段として機能し、メモリ割り当ての最小化とクエリ速度の最大化に重点を置いています。

仕組み

これは、コアが C++ で記述され、アプリケーションレベルの API が Go で提供される、埋め込み可能なインメモリデータベースです。速度と低いメモリオーバーヘッドを維持するために、ドキュメントとインデックスを密なバイナリ C++ 構造体に格納し、Go のガベージコレクターへの負荷を軽減します。静的ライブラリとしての埋め込み、バンドルされたサーバーとしての埋め込み、またはスタンドアロンサーバーとしての 3 つのデプロイモードをサポートしています。永続化には LevelDB を使用し、ドキュメントを非同期でディスクに書き込みます。

対象ユーザー

複雑なクエリのために高速なドキュメント指向データベースを必要とする開発者、特に Go アプリケーションに直接埋め込むか、スタンドアロンサービスとして実行できるインメモリソリューションを探している開発者に最適です。

ハイライト

  • ベクトル検索 (Vector Search): 内部 k-近傍法 (KNN) および近似最近傍探索 (ANN) 検索エンジンを搭載。
  • ハイブリッド検索 (Hybrid Search): 全文検索とベクトル検索の組み合わせをサポート。
  • 高性能 (High Performance): 単一の CPU コアで毎秒最大 50 万件の単純なクエリを処理可能。
  • 柔軟なクエリ (Flexible Querying): ORM 風のクエリビルダーと SQL 互換インターフェースの両方を提供。
  • 高度なインデックス (Advanced Indexing): ソート可能なインデックス、複合インデックス、および配列フィールドへのインデックスをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト