Restream/reindexer
Embeddable, in-memory, document-oriented database with a high-level Query builder interface.
What it solves
Reindexer is designed as a high-performance, document-oriented database that serves as a more performant alternative to Elasticsearch. It focuses on providing fast search capabilities for complex queries while maintaining low memory consumption.
How it works
Reindexer is an embeddable, in-memory database with a core written in C++ and an application-level API provided in Go. It stores documents and indices in dense binary C++ structs to minimize the load on Go's garbage collector. For persistence, it can asynchronously write documents to disk using LevelDB. It supports three operational modes: embedded (as a static library), embedded with a bundled server, or as a standalone server.
Who it’s for
It is intended for developers who need a fast, in-memory search engine with complex query support, particularly those working with Go or C++ and seeking an alternative to heavier search engines like Elasticsearch.
Highlights
- High Performance: Capable of handling up to 500K simple queries per second on a single CPU core.
- Advanced Search: Includes internal engines for full-text search, k-nearest neighbors (ANN/KNN) vector search, and hybrid search combining both.
- Memory Efficiency: Uses binary C++ structs and string deduplication to keep memory overhead low (approx. 32 bytes per document).
- Flexible Querying: Offers both an ORM-like Query builder and a SQL-compatible interface.
- Scalability: Supports synchronous and asynchronous replication as well as basic sharding.
相關
- 專案
- 專案
- 專案
- 專案
- 專案