gordonmurray/firnflow
The cost efficiency of S3 with the speed of local RAM. A multi-tenant vector and full-text search engine featuring a tiered RAM -> NVMe -> S3 architecture for microsecond latency on top of object storage
何を解決するか
Firn は、常にオンで高価な検索クラスタを必要としないように設計されたマルチテナントのベクターやフルテキスト検索エンジンです。チームは AWS S3、Google Cloud Storage、MinIO などの安価なオブジェクトストレージ上で高パフォーマンスな検索を直接実行でき、階層型キャッシュシステムにより低レイテンシを維持します。
動作方法
Firn はコストと速度のバランスを取るために階層型ストレージアーキテクチャを使用しています:
- L1(RAM)および L2(NVMe): foyer を介したハイブリッドキャッシュが頻繁にアクセスされるクエリ結果をマイクロ秒単位で取得可能にします。
- L3(オブジェクトストレージ): LanceDB を使用して隔離されたネームスペースにデータを格納する真実のソースです。
- オプションのオブジェクトキャッシュ: ローカルの NVMe レイヤーで、オブジェクトストレージから LanceDB が読み込む生のバイトデータをキャッシュし、完全に新しいクエリの処理を高速化します。
- インデキシング: IVF_PQ インデックスを使用してオブジェクトストレージ上のコールド検索を実用可能に(レイテンシを約 25 秒から約 979 ミリ秒に削減)し、フルテキスト検索には BM25 インデックスを活用します。
対象ユーザー
マルチテナント SaaS ワークロードを管理するチーム、プライベート RAG デプロイ、または OpenSearch、Elasticsearch、Vespa などの重いサービスを自己ホスト型で低待機コストの代替に置き換えたい方々に最適です。
特徴
- 設計上マルチテナント: 各ネームスペースはオブジェクトストレージのプレフィックスごとに物理的に分離されています。
- ハイブリッド検索: ベクター検索、BM25 フルテキスト検索、および融合ハイブリッド検索をサポートします。
- ラテインタラクション検索: ColBERT や ColPali などのマルチベクター形状をサポートし、複雑な合成クエリに対応します。
- CAS整合性: 条件付き書き込みプリミティブを使用して、並行書き込み間でのデータ整合性を保証します。
- 運用可視性: プロメテウスメトリクスをネイティブに統合し、キャッシュヒット率やストレージコストを監視できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト