🌐 Language
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | ไทย | Français | Deutsch | Español | Italiano | Русский | Português | Nederlands | Polski | العربية | فارسی | Türkçe | Tiếng Việt | Bahasa Indonesia
# Argon - MongoDB Time Machine 🚀 [![Build Status](https://github.com/argon-lab/argon/actions/workflows/ci.yml/badge.svg)](https://github.com/argon-lab/argon/actions/workflows/ci.yml) [![Go Report](https://goreportcard.com/badge/github.com/argon-lab/argon)](https://goreportcard.com/report/github.com/argon-lab/argon) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Homebrew](https://img.shields.io/badge/Homebrew-argonctl-orange?logo=homebrew)](https://github.com/argon-lab/homebrew-tap) [![npm](https://img.shields.io/npm/v/argonctl?logo=npm&label=npm)](https://www.npmjs.com/package/argonctl) [![PyPI](https://img.shields.io/pypi/v/argon-mongodb?logo=pypi&label=PyPI)](https://pypi.org/project/argon-mongodb/) **Travel through time in your MongoDB database. Branch, restore, and experiment without fear.** ## What is Argon? Argon gives MongoDB superpowers with **Git-like branching** and **time travel**. Create instant database branches, restore to any point in history, and never lose data again. ### 🎯 Key Benefits - **⚡ Instant Branches** - Clone your entire database in 1ms (not hours) - **⏰ Time Travel** - Query your data from any point in history with **220,000+ queries/sec** - **🔄 Safe Restore** - Preview changes before restoring - **💾 Zero Storage Cost** - Branches share data efficiently with 90% compression - **🔌 Drop-in Compatible** - Works with existing MongoDB code - **🚀 Enterprise Performance** - 26x faster time travel queries after latest optimizations - **✅ Comprehensive Testing** - Extensive test coverage ensuring reliability - **🗜️ Smart Compression** - Automatic WAL compression reduces storage by 80-90% ## Quick Demo ```bash # Install brew install argon-lab/tap/argonctl # macOS npm install -g argonctl # Cross-platform # Step 1: Import your existing MongoDB (like "git clone") argon import database --uri "mongodb://localhost:27017" --database myapp --project myapp # ✅ Your data now has time travel capabilities! # Step 2: Use Argon like Git for your database argon branches create test-env # Branch like "git checkout -b" argon time-travel query --project myapp --branch main --lsn 1000 # Step 3: Disaster recovery made simple argon restore preview --time "1 hour ago" argon restore reset --time "before disaster" ``` ## Git-Like Workflow for MongoDB ### 🔄 **Step 1: Import ("git clone" for databases)** ```bash # Bring your existing MongoDB into Argon argon import preview --uri "mongodb://localhost:27017" --database myapp argon import database --uri "mongodb://localhost:27017" --database myapp --project myapp # ✅ Your existing data now has time travel capabilities! ``` ### 🧪 **Step 2: Branch ("git checkout -b")** ```bash # Create branches for testing, staging, experiments argon branches create staging --project myapp argon branches create experiment-v2 --project myapp # Full database copies created instantly 🚀 ``` ### 📊 **Step 3: Time Travel ("git log" for data)** ```bash # See your data's history argon time-travel info --project myapp --branch main argon time-travel query --project myapp --branch main --lsn 1000 # Compare data across time like Git commits ``` ### 🚨 **Step 4: Restore ("git reset" for disasters)** ```bash # "Someone deleted all users!" argon restore reset --time "5 minutes ago" # Crisis averted in seconds, not hours ``` ## How It Works Argon intercepts MongoDB operations and logs them to a **Write-Ahead Log (WAL)**, enabling: - Instant branching via metadata pointers - Time travel by replaying operations - Zero-copy efficiency Your existing MongoDB code works unchanged - just add `ENABLE_WAL=true`. ## Installation ```bash # CLI brew install argon-lab/tap/argonctl # macOS npm install -g argonctl # Node.js pip install argon-mongodb # Python SDK # From Source git clone https://github.com/argon-lab/argon cd argon/cli && go build -o argon ``` ## Documentation - 📖 [Quick Start Guide](./docs/QUICK_START.md) - 🛠️ [API Reference](./docs/API_REFERENCE.md) - 💡 [Use Cases](./docs/USE_CASES.md) - 🏗️ [Architecture](./docs/ARCHITECTURE.md) ## Community - 🤝 [Community Guide](./COMMUNITY.md) - Get involved! - 📋 [Roadmap](./ROADMAP.md) - See what's coming - 🐛 [Report Issues](https://github.com/argon-lab/argon/issues) - 💬 [Discussions](https://github.com/argon-lab/argon/discussions) - 🏗️ [Contributing](./CONTRIBUTING.md) - Help build Argon - 📧 [Contact](https://www.argonlabs.tech) ---
**Give your MongoDB a time machine. Never lose data again.** ⭐ **Star us** if Argon saves your day! [Get Started →](docs/QUICK_START.md) | [Live Demo →](https://console.argonlabs.tech)