GoatDB: An Embedded, Distributed, Document Database GoatDB is an embedded, distributed, document database that prioritizes speed and developer experience. It excels at real-time collaboration and embedded caching applications. Instead of following traditional database design patterns, GoatDB leverages concepts refined over decades by distributed version control systems. These are enhanced with novel algorithms (bloom filter-based synchronization and ephemeral CRDTs) for efficient synchronization and automatic real-time conflict resolution. Currently optimized for TypeScript environments, GoatDB functions as a first-class citizen in both browsers and servers. It utilizes a document model with schemas, providing causal eventual consistency to simplify development while offering built-in optional cryptographic signing for the underlying commit graph. Core Features: - Repository-Centric Design: Independent units of data synchronization and access control - Memory-First Architecture: Explicit control with predictable performance - Local Query Processing: Real-time query engine with distributed consistency - Simple Storage Model: Single file per repository for atomic operations - Efficient Synchronization: Stateless, delta-compressed data exchange - Time-Based Garbage Collection: Session-based commit history management Documentation Pages: - Architecture: https://goatdb.dev/architecture - Authorization Rules: https://goatdb.dev/authorization-rules - Benchmarks: https://goatdb.dev/benchmarks - Commit Graph: https://goatdb.dev/commit-graph - Concepts: https://goatdb.dev/concepts - Conflict Resolution: https://goatdb.dev/conflict-resolution - FAQ: https://goatdb.dev/faq - Installation: https://goatdb.dev/install - Query: https://goatdb.dev/query - Reading and Writing Data: https://goatdb.dev/reading-and-writing-data - React Integration: https://goatdb.dev/react - Repositories: https://goatdb.dev/repositories - Schema: https://goatdb.dev/schema - Sessions: https://goatdb.dev/sessions - Synchronization: https://goatdb.dev/sync - Tutorial: https://goatdb.dev/tutorial Example Projects: - Todo: https://github.com/goatplatform/todo - EdgeChat: https://github.com/goatplatform/edge-chat - Ovvio: https://ovvio.io Additional Resources: - GitHub: https://github.com/goatplatform/goatdb - Discussions: https://github.com/goatplatform/goatdb/discussions - Discord: https://discord.gg/SAt3cbUqxr License: Apache 2.0