immudb is an immutable, cryptographically verifiable database system designed for tamper-evident storage. It provides ACID transactions with cryptographic verification via Merkle trees, ensuring data integrity and historical auditability. The system supports multiple data models: key-value, SQL (with PostgreSQL wire protocol compatibility), and document storage. Architecture follows a modular client-server design with separate binaries for server (immudb), admin CLI (immuadmin), client CLI (immuclient), and test tool (immutest). Key entry points include cmd/immudb/immudb.go (server), cmd/immuadmin/immuadmin.go (admin), and cmd/immuclient/immuclient.go (client). Data flows involve clients sending requests via gRPC or PostgreSQL wire protocol to the server, which processes transactions, appends to an immutable log, updates verification structures, and returns verifiable responses. External dependencies include Go modules for gRPC, protobuf, Viper, cryptographic libraries, and optional S3/MinIO for remote storage. The codebase demonstrates strong engineering practices with clear separation of concerns, extensive testing, and active maintenance.
RocksDict is a persistent key-value store for Python, backed by the RocksDB embedded database. It provides a Pythonic dictionary-like interface (`Rdict`) for storing and retrieving data that exceeds memory capacity, with support for arbitrary Python objects via pickle or raw bytes. The system is implemented as a Rust extension (using PyO3/maturin) that interacts with the RocksDB C++ library via FFI, offering high performance and durability. The architecture separates concerns into a safe Rust core and a thin Python binding layer. The Rust core implements resource management (via `DbReferenceHolder` to handle RocksDB reference counts and background work cleanup), centralized FFI error handling (through the `ffi_try` macro), and a flexible encoding layer (`encoder.rs`) that supports both raw bytes and pickled Python objects with type tags for efficient deserialization. Configuration persistence is handled via `RocksDictConfig`, which serializes database options to JSON for automatic reloading, enabling seamless recovery of tuned settings. Key features include column families, snapshots, write batches, checkpoints, and SST file ingestion, making it suitable for a wide range of applications from caching to large-scale data storage. The project is actively maintained with comprehensive CI coverage across multiple Python versions and platforms, demonstrating a commitment to reliability and cross-platform compatibility.