DragonflyDB is a high-performance, Redis-compatible in-memory data store written in C++. It implements the Redis wire protocol (RESP) and Memcached protocol, providing drop-in replacement capabilities with significantly higher throughput and lower latency, especially on multi-core machines. The architecture is based on a shared-nothing, multi-threaded design using fibers (boost.fibers) and a custom proactor event loop (epoll/io_uring). Data is partitioned across shards, each with its own thread, and transactions use a VLL-based locking scheme to minimize contention. The system supports replication via a write-ahead journal, cluster mode with slot migration, persistence via RDB snapshots, and tiered storage for offloading cold data to SSD. It also includes a full-text search engine with vector similarity (HNSW), JSON document store, Lua scripting, ACL-based security, and probabilistic data structures (Bloom, Cuckoo, Count-Min Sketch, Top-K). The codebase demonstrates advanced engineering in memory management (custom allocators, SIMD probing, compact object encoding) and concurrency (fiber-aware synchronization, RCU patterns). While primarily an application, it contains research-grade data structures and algorithms, giving it a hybrid character between production service and systems research project.
Typesense is a high-performance, open-source search engine written in C++17, designed as a drop-in alternative to Algolia and Elasticsearch. It provides a RESTful HTTP API for full-text search, faceted navigation, geospatial filtering, vector search (with HNSW), and hybrid (semantic + keyword) search. The architecture is a distributed, Raft-based clustered system with leader election, log replication, and snapshotting, ensuring high availability and consistency. The server integrates with external AI providers (OpenAI, Google, Azure, Cloudflare) for embedding generation and natural language query processing, and supports on-device ONNX models for text, image, and voice search. The codebase is modular, with singleton managers for collections, embeddings, analytics, rate limiting, and authentication, all built on top of a RocksDB-backed key-value store. Extensive test coverage includes C++ unit tests (gtest), TypeScript integration tests (Bun), and benchmark infrastructure (k6, InfluxDB). While primarily an application, it incorporates data-intensive features like statistical sketches (TDigest, CountMinSketch), custom indexing data structures (ART, numeric trie, hat-trie), and analytics pipelines, giving it a hybrid character.
BuntDB is a low-level, in-memory, key/value store library in Go. It supports custom indexing (B-tree and R-tree), geospatial queries, JSON indexing, TTL expiration, and ACID transactions with multiple readers / single writer. Persistence is via an append-only file (AOF) with automatic background shrinking. The library is designed for high performance and embeddability, and is used by projects requiring a fast, reliable embedded database. The codebase is a single package with a well-structured API, comprehensive tests, and minimal dependencies.
This repository is a Redis-compatible in-memory data structure server with significant custom extensions, including vector similarity search via HNSW (vector-sets module), rate limiting (GCRA), key eviction protection (BLESS), and a comprehensive module system. The architecture is a single-threaded event loop (ae) with optional IO threads, supporting a wide range of data structures: strings, hashes, lists, sets, sorted sets, streams, geospatial indexes, HyperLogLog, and bitfields. Persistence is provided via RDB snapshots and AOF logs, with replication and cluster support. The codebase is a fork/derivative of Redis/Valkey, incorporating additional features not present in upstream, such as hash field expiration (ebuckets/estore), per-key metadata (keymeta), and a Fenwick tree-based key selection (kvstore). Key entry points include the redis-server daemon, redis-cli, redis-benchmark, and module loading via the redismodule.h API. External dependencies include jemalloc, hiredis, Lua 5.1, linenoise, tre, xxhash, OpenSSL, and optional ZSTD compression. The system is designed for high throughput and low latency, with extensive use of custom memory management (zmalloc) and data structure optimizations.
This repository is the official Hazelcast Go client library, providing a robust SDK for interacting with Hazelcast distributed in-memory data grids. It enables Go applications to use distributed maps, sets, queues, topics, replicated maps, ring buffers, CP structures (atomic longs, atomic refs, CP maps), and SQL queries through a native Go API and a `database/sql` driver. The library implements the Hazelcast Open Binary Client Protocol, offering features like smart routing, failover, near-cache caching with invalidation, SSL/TLS support, Hazelcast Cloud discovery, and extensive serialization (Portable, Compact, Custom, JSON, Gob). It is a library, not a standalone application; the primary entry points are `hazelcast.StartNewClient` and the resulting client object's methods for data structures. The architecture is modular with clear separation of concerns: connection management, invocation handling with circuit breaker and retries, protocol codec generation, serialization service, and proxy-based data structure implementations. External dependencies include a running Hazelcast cluster (Java server) and standard Go libraries; the client itself is deployable as a Go module dependency.
Zedis is a high-performance, Redis-compatible in-memory data store written in Zig. It implements the RESP protocol and supports core Redis data structures (strings, lists, TTL, pub/sub) along with advanced features: time-series with Gorilla compression, full-text search with BM25 and vector KNN (FLAT), probabilistic Bloom filters, and both AOF and RDB persistence. The architecture uses a multi-threaded server with a dedicated store thread for serialized command execution, custom budgeted allocators, and a lock-free client mailbox for message passing. While production-ready in capability, the project is explicitly designed for learning and experimentation and shows some documentation-to-code drift and a handful of unmaintained TODO items. It includes an extensive benchmark suite comparing against Valkey.