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):支持可排序索引、复合索引和数组字段索引。
相关
- 项目
- 项目
- 项目
- 项目
- 项目