{"id":35131353,"url":"https://github.com/oxibase/oxibase","last_synced_at":"2026-01-13T22:01:58.300Z","repository":{"id":329772351,"uuid":"1120127082","full_name":"oxibase/oxibase","owner":"oxibase","description":"Embedding computation within the database management system","archived":false,"fork":false,"pushed_at":"2026-01-06T23:27:05.000Z","size":3046,"stargazers_count":1,"open_issues_count":10,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-09T02:19:09.294Z","etag":null,"topics":["embedded","relational-database","sql"],"latest_commit_sha":null,"homepage":"https://oxibase.xyz","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oxibase.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-20T14:46:11.000Z","updated_at":"2026-01-06T23:27:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/oxibase/oxibase","commit_stats":null,"previous_names":["oxibase/oxibase"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/oxibase/oxibase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxibase%2Foxibase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxibase%2Foxibase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxibase%2Foxibase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxibase%2Foxibase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oxibase","download_url":"https://codeload.github.com/oxibase/oxibase/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxibase%2Foxibase/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28400465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embedded","relational-database","sql"],"created_at":"2025-12-28T05:51:10.623Z","updated_at":"2026-01-13T22:01:58.294Z","avatar_url":"https://github.com/oxibase.png","language":"Rust","readme":"\u003cdiv align=\"center\"\u003e\n   \u003cpicture\u003e\n     \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"logo_white.svg\"\u003e\n     \u003cimg src=\"logo.svg\" alt=\"OxiBase Logo\" width=\"360\"\u003e\n   \u003c/picture\u003e\n\n   \u003cp\u003eMoving computation to data.\u003c/p\u003e\n\n  \u003cp\u003e\n     \u003ca href=\"https://oxibase.xyz\"\u003eDocs\u003c/a\u003e •\n     \u003ca href=\"https://github.com/oxibase/oxibase/releases\"\u003eReleases\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n     \u003ca href=\"https://github.com/oxibase/oxibase/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/oxibase/oxibase\" alt=\"GitHub release\"\u003e\u003c/a\u003e\n     \u003ca href=\"https://github.com/oxibase/oxibase/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/oxibase/oxibase/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"\u003e\u003c/a\u003e\n     \u003ca href=\"https://crates.io/crates/oxibase\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/oxibase.svg\" alt=\"Crates.io\"\u003e\u003c/a\u003e\n     \u003ca href=\"https://codecov.io/gh/oxibase/oxibase\"\u003e\u003cimg src=\"https://codecov.io/gh/oxibase/oxibase/branch/main/graph/badge.svg\" alt=\"codecov\"\u003e\u003c/a\u003e\n     \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Apache%202.0-blue.svg\" alt=\"License\"\u003e\u003c/a\u003e\u003cbr\u003e\n     \u003ca href=\"https://app.fossa.com/projects/git%2Bgithub.com%2Foxibase%2Foxibase?ref=badge_shield\u0026issueType=license\" alt=\"FOSSA Status\"\u003e\u003cimg src=\"https://app.fossa.com/api/projects/git%2Bgithub.com%2Foxibase%2Foxibase.svg?type=shield\u0026issueType=license\"/\u003e\u003c/a\u003e\n     \u003ca href=\"https://app.fossa.com/projects/git%2Bgithub.com%2Foxibase%2Foxibase?ref=badge_shield\u0026issueType=security\" alt=\"FOSSA Status\"\u003e\u003cimg src=\"https://app.fossa.com/api/projects/git%2Bgithub.com%2Foxibase%2Foxibase.svg?type=shield\u0026issueType=security\"/\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## Overview\n\nOxiBase is a research platform focused on bringing computation as close as\npossible to the data itself, leveraging unikernel technology for kernel-integrated performance. Our goal is to investigate how embedding\ncomputation within the database management system, by co-locating logic and\ndata, can eliminate inefficiencies and complexities and enable self-managing\nsystems. We want to provide user-defined functions and libraries to empower\ndevelopers to run business logic directly where the data lives, exploring new\npatterns for local computing and evolving the concept of a 'Modern Mainframe'.\n\n---\n\n\u003e **⚠️ ARCHITECTURAL PIVOT IN PROGRESS**\n\u003e\n\u003e Oxibase is evolving from an embedded SQL library into a distributed Unikernel\n\u003e \"Mainframe\" through iterative research. The documentation below details the\n\u003e **Vision** (our hypotheses) and the **Core Engine** (current implementation).\n\n---\n\n## Vision\n\nIn our ongoing research into distributed systems architecture, we hypothesize\nthat the \"Modern Mainframe\" paradigm represents a fundamental rejection of the\nemergent complexity observed during the microservices epoch. The historical\nbifurcation of \"App Server\" and \"Database Server\" was necessitated by hardware\nconstraints that have since been mitigated through advances in computing\ndensity. By experimentally collapsing this separation, Oxibase positions the\nDBMS not merely as a storage substrate but as the active computational core of\noperations, enabling co-location of logic and data to eliminate observed\nnetwork latency and serialization inefficiencies in contemporary distributed\narchitectures.\n\nThis research draws from CumulusDB's unikernel approach, integrating kernel primitives for hardware-optimized performance. See the [Architecture docs](docs/_docs/architecture/index.md) for kernel integration benefits and references.\n\n### Project Philosophy\n\n- **Self-sufficiency:** Oxibase aspires to be a fully self-contained system, minimizing external dependencies for both development and deployment.\n- **Strong Opinions:** The architecture and feature set are intentionally opinionated, favoring bold, clear principles over generic extensibility.\n- **Learning \u0026 Research:** Oxibase is a playground for exploring new ideas in database systems, distributed architectures, transactionality, and co-location of data and logic. Continuous learning and disseminating insights are core to the project.\n- **Heavily Tested:** Reliability and correctness matter deeply. Features and infrastructure are expected to be exhaustively tested.\n- **Accessible for Humans:** Readability and clarity of code, configuration, and operation are prioritized—even at the expense of some automation or performance.\n\n#### Explicit Non-Goals\n\n- **Maximum Performance:** Raw benchmark performance is not the primary pursuit. Reasonable performance is preferred, but clarity and correctness take precedence.\n- **Strict Standards Conformance:** While best effort will be made for compatibility (e.g., SQL, network protocols), strict adherence to industry standards is not a goal. Deviations may be made for clarity, simplicity, or research motivations.\n- **Prioritizing Automation Over Clarity:** Design choices that favor ease of maintenance, modification, or explanation—even if that leads to less automation or a \"bottleneck\" for throughput—will be preferred.\n- **Generic Extensibility:** Oxibase is explicitly not \"one size fits all.\" It targets specific philosophies and refuses to chase universal flexibility.\n\nCurrently, active efforts focus on embedded scripting, web exposure, wire protocol support, simulation for scaling, unikernel compilation, and autonomous networking:\n\n```mermaid\nclassDiagram\n    %% --- RELATIONSHIPS ---\n    %% Use the short class names here, not \"Layer.Class\"\n    Computational_Layer ..\u003e Web_Interface\n    Computational_Layer ..\u003e External_Gateway\n    Computational_Layer ..\u003e Performance\n\n    Web_Interface ..\u003e Horizontal_Architecture\n    External_Gateway ..\u003e Horizontal_Architecture\n    Performance ..\u003e Horizontal_Architecture\n    Unikernel_Compiler ..\u003e Horizontal_Architecture\n\n    %% --- LAYERS \u0026 CLASS DEFINITIONS ---\n\n    class Computational_Layer {\n        - Embedded Scripting Languages ✅\n        - Stored functions\n        - Triggers\n        - Queues\n        - Debugger support\n        - FaaS-like DevEx\n    }\n    class Web_Interface {\n        - DML routes\n        - REST / GraphQL endpoints\n        - HTML Render\n    }\n    class External_Gateway {\n        - Postgres Wire Protocol Server\n        - Role based authorization control\n        - Authentication\n    }\n\n    class Performance {\n        - Vertical scaling support\n        - Out-of-core processing\n        - Self-monitoring\n        - Undo-log based MVCC\n        - Copy-on-write checkopoint\n        - Row level replication\n        - Storage backends\n    }\n\n    class Horizontal_Architecture {\n        - Deterministic Simulator\n        - Failure simulation\n        - Logic and storage separation\n        - Dedicated Clustering\n        - Sharding\n        - Geolocation\n        - Distributed Computation\n        - Data / Computation rebalancing\n    }\n\n    class Unikernel_Compiler {\n        - Unikernel Compilation\n        - OS-free images\n        - Bootable image generation\n        - SQL based OS management\n    }\n\n    class Kernel_Integration {\n        - Zero-copy data paths\n        - Privileged hardware access\n        - Lock-free page-table walks\n        - Active virtual memory\n        - Elastic resource allocation\n    }\n\n    Unikernel_Compiler ..\u003e Kernel_Integration\n    Kernel_Integration ..\u003e Horizontal_Architecture\n\n```\n\nSee [our roadmap](./docs/_docs/roadmap.md) for details.\n\n## Architecture\n\n```\nsrc/\n├── api/        # Public API (Database, Connection, Rows)\n├── core/       # Types (Value, Row, Schema, Error)\n├── parser/     # SQL lexer and parser\n├── planner/    # Query planning\n├── optimizer/  # Cost-based query optimizer\n├── executor/   # Query execution engine\n├── functions/  # 100+ built-in functions\n│   ├── scalar/     # String, math, date, JSON\n│   ├── aggregate/  # COUNT, SUM, AVG, etc.\n│   └── window/     # ROW_NUMBER, RANK, LAG, etc.\n└── storage/    # Storage engine\n    ├── mvcc/       # Multi-version concurrency control\n    └── index/      # B-tree, Hash, Bitmap indexes\n```\n\n## Installation\n\n```bash\n# Add to Cargo.toml\n[dependencies]\noxibase = \"0.1\"\n```\n\nOr build from source:\n\n```bash\ngit clone https://github.com/oxibase/oxibase.git\ncd oxibase\ncargo build --release\n```\n\nOr build from source:\n\n```bash\ngit clone https://github.com/oxibase/oxibase.git\ncd oxibase\ncargo build --release\n```\n\n## Quick Start\n\n### As a Library\n\n```rust\nuse oxibase::api::Database;\n\nfn main() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n    let db = Database::open_in_memory()?;\n\n    db.execute(\"CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)\", ())?;\n    db.execute(\"INSERT INTO users VALUES (1, 'Alice')\", ())?;\n\n    for row in db.query(\"SELECT * FROM users\", ())? {\n        let row = row?;\n        println!(\"{}: {}\", row.get::\u003ci64\u003e(0)?, row.get::\u003cString\u003e(1)?);\n    }\n\n    Ok(())\n}\n```\n\n### Command Line\n\n```bash\n./oxibase                                    # In-memory REPL\n./oxibase --db \"file:///path/to/data\"        # Persistent database\n./oxibase -q \"SELECT 1 + 1\"                  # Execute query directly\n```\n\n## Features\n\n### MVCC Transactions\n\nFull multi-version concurrency control with two isolation levels:\n\n```sql\n-- Read Committed (default)\nBEGIN;\nUPDATE accounts SET balance = balance - 100 WHERE id = 1;\nUPDATE accounts SET balance = balance + 100 WHERE id = 2;\nCOMMIT;\n\n-- Snapshot Isolation\nBEGIN TRANSACTION ISOLATION LEVEL SNAPSHOT;\nSELECT * FROM accounts;  -- Consistent view throughout transaction\nCOMMIT;\n```\n\n### Time-Travel Queries\n\nQuery historical data at any point in time:\n\n```sql\n-- Query data as it existed at a specific timestamp\nSELECT * FROM orders AS OF TIMESTAMP '2024-01-15 10:30:00';\n\n-- Query data as of a specific transaction\nSELECT * FROM inventory AS OF TRANSACTION 1234;\n\n-- Compare current vs historical data\nSELECT\n    current.price,\n    historical.price AS old_price\nFROM products current\nJOIN products AS OF TIMESTAMP '2024-01-01' historical\n    ON current.id = historical.id\nWHERE current.price != historical.price;\n```\n\n### Index Types\n\nOxiBase automatically selects optimal index types, or you can specify explicitly:\n\n```sql\n-- B-tree: Range queries, sorting, prefix matching\nCREATE INDEX idx_date ON orders(created_at) USING BTREE;\nSELECT * FROM orders WHERE created_at BETWEEN '2024-01-01' AND '2024-12-31';\n\n-- Hash: O(1) equality lookups\nCREATE INDEX idx_email ON users(email) USING HASH;\nSELECT * FROM users WHERE email = 'alice@example.com';\n\n-- Bitmap: Low-cardinality columns, efficient AND/OR\nCREATE INDEX idx_status ON orders(status) USING BITMAP;\nSELECT * FROM orders WHERE status = 'pending' AND priority = 'high';\n\n-- Multi-column composite indexes\nCREATE INDEX idx_lookup ON events(user_id, event_type, created_at);\nSELECT * FROM events WHERE user_id = 100 AND event_type = 'click';\n```\n\n### Window Functions\n\nFull support for analytical queries:\n\n```sql\nSELECT\n    employee_name,\n    department,\n    salary,\n    ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) as rank,\n    salary - LAG(salary) OVER (ORDER BY hire_date) as salary_change,\n    AVG(salary) OVER (PARTITION BY department) as dept_avg,\n    SUM(salary) OVER (ORDER BY hire_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as running_total\nFROM employees;\n```\n\n### User-Defined Functions\n\nOxiBase supports user-defined functions (UDFs) via three scripting backends for custom logic in SQL queries:\n\n- **Rhai**: Lightweight, fast scripting language (Rust-based). Ideal for simple calculations and high-performance needs. Always enabled.\n- **Boa (JavaScript)**: Full JavaScript runtime with modern ES features. Best for complex logic, JSON processing, and date manipulation. Enabled with `--features js`.\n- **Python**: Python scripting with access to standard library. Suitable for scientific computing and ML integration. Enabled with `--features python`.\n\nAll backends run in secure sandboxes with no file/network access, limited execution time, and memory isolation. Functions are scalar-only and can return INTEGER, FLOAT, TEXT, BOOLEAN, TIMESTAMP, or JSON types.\n\n```sql\nCREATE FUNCTION calculate_tax(price INTEGER) RETURNS INTEGER\nLANGUAGE RHAI AS 'price * 0.08';\n```\n\nFor detailed documentation, see [User-Defined Functions](docs/_docs/functions/user-defined-functions.md).\n\n### Common Table Expressions\n\nIncluding recursive queries:\n\n```sql\n-- Non-recursive CTE\nWITH high_value_orders AS (\n    SELECT * FROM orders WHERE amount \u003e 1000\n)\nSELECT customer_id, COUNT(*) FROM high_value_orders GROUP BY customer_id;\n\n-- Recursive CTE (e.g., organizational hierarchy)\nWITH RECURSIVE org_chart AS (\n    SELECT id, name, manager_id, 1 as level\n    FROM employees WHERE manager_id IS NULL\n\n    UNION ALL\n\n    SELECT e.id, e.name, e.manager_id, oc.level + 1\n    FROM employees e\n    JOIN org_chart oc ON e.manager_id = oc.id\n)\nSELECT * FROM org_chart ORDER BY level, name;\n```\n\n### Advanced Aggregations\n\n```sql\n-- ROLLUP: Hierarchical subtotals\nSELECT region, product, SUM(sales)\nFROM sales_data\nGROUP BY ROLLUP(region, product);\n\n-- CUBE: All possible subtotal combinations\nSELECT region, product, SUM(sales)\nFROM sales_data\nGROUP BY CUBE(region, product);\n\n-- GROUPING SETS: Explicit grouping combinations\nSELECT region, product, SUM(sales), GROUPING(region), GROUPING(product)\nFROM sales_data\nGROUP BY GROUPING SETS ((region, product), (region), ());\n```\n\n### Subqueries\n\nScalar, correlated, EXISTS, and IN subqueries:\n\n```sql\n-- Correlated subquery\nSELECT * FROM employees e\nWHERE salary \u003e (SELECT AVG(salary) FROM employees WHERE department = e.department);\n\n-- EXISTS\nSELECT * FROM customers c\nWHERE EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id AND o.amount \u003e 1000);\n\n-- IN with subquery\nSELECT * FROM products\nWHERE category_id IN (SELECT id FROM categories WHERE active = true);\n```\n\n### Query Optimizer\n\nCost-based optimizer with statistics:\n\n```sql\n-- Collect table statistics\nANALYZE orders;\n\n-- View query execution plan\nEXPLAIN SELECT * FROM orders WHERE customer_id = 100;\n\n-- View plan with actual execution statistics\nEXPLAIN ANALYZE SELECT * FROM orders o\nJOIN customers c ON o.customer_id = c.id\nWHERE c.country = 'US';\n```\n\n## Data Types\n\n| Type        | Description           | Example                 |\n| ----------- | --------------------- | ----------------------- |\n| `INTEGER`   | 64-bit signed integer | `42`, `-100`            |\n| `FLOAT`     | 64-bit floating point | `3.14`, `-0.001`        |\n| `TEXT`      | UTF-8 string          | `'hello'`, `'日本語'`   |\n| `BOOLEAN`   | true/false            | `TRUE`, `FALSE`         |\n| `TIMESTAMP` | Date and time         | `'2024-01-15 10:30:00'` |\n| `JSON`      | JSON data             | `'{\"key\": \"value\"}'`    |\n\n## Object Support\n\n| Object Type | Status | Notes |\n|-------------|--------|-------|\n| Schemas | Available | CREATE SCHEMA/DROP SCHEMA support |\n| User-defined Functions | Available | CREATE FUNCTION/DROP FUNCTION |\n| Stored Procedures | Missing | No CREATE PROCEDURE/DROP PROCEDURE |\n| Materialized Views | Missing | No CREATE MATERIALIZED VIEW |\n| Custom Types/Domains | Missing | No CREATE TYPE/CREATE DOMAIN |\n| Rules | Missing | No CREATE RULE/DROP RULE |\n| Extensions | Missing | No CREATE EXTENSION |\n| Foreign Data Wrappers | Missing | No foreign table support |\n| Aggregates | Missing | No custom aggregate functions |\n| Operators | Missing | No custom operator definitions |\n| Event Triggers | Missing | No DDL event triggers |\n| Tablespaces | Missing | No CREATE TABLESPACE |\n| Roles/Users | Missing | No user/role management |\n| Publications/Subscriptions | Missing | No logical replication support |\n\n## Built-in Functions\n\n### String Functions\n\n`UPPER`, `LOWER`, `LENGTH`, `TRIM`, `LTRIM`, `RTRIM`, `CONCAT`, `SUBSTRING`, `REPLACE`, `REVERSE`, `LEFT`, `RIGHT`, `LPAD`, `RPAD`, `REPEAT`, `POSITION`, `LOCATE`, `INSTR`, `SPLIT_PART`, `INITCAP`, `ASCII`, `CHR`, `TRANSLATE`\n\n### Math Functions\n\n`ABS`, `CEIL`, `FLOOR`, `ROUND`, `TRUNC`, `SQRT`, `POWER`, `MOD`, `SIGN`, `GREATEST`, `LEAST`, `EXP`, `LN`, `LOG`, `LOG10`, `LOG2`, `SIN`, `COS`, `TAN`, `ASIN`, `ACOS`, `ATAN`, `ATAN2`, `DEGREES`, `RADIANS`, `PI`, `RAND`, `RANDOM`\n\n### Date/Time Functions\n\n`NOW`, `CURRENT_DATE`, `CURRENT_TIME`, `CURRENT_TIMESTAMP`, `EXTRACT`, `DATE_TRUNC`, `DATE_ADD`, `DATE_SUB`, `DATEDIFF`, `YEAR`, `MONTH`, `DAY`, `HOUR`, `MINUTE`, `SECOND`, `DAYOFWEEK`, `DAYOFYEAR`, `WEEK`, `QUARTER`, `TO_CHAR`, `TO_DATE`, `TO_TIMESTAMP`\n\n### JSON Functions\n\n`JSON_EXTRACT`, `JSON_EXTRACT_PATH`, `JSON_TYPE`, `JSON_TYPEOF`, `JSON_VALID`, `JSON_KEYS`, `JSON_ARRAY_LENGTH`\n\n### Aggregate Functions\n\n`COUNT`, `SUM`, `AVG`, `MIN`, `MAX`, `STDDEV`, `STDDEV_POP`, `STDDEV_SAMP`, `VARIANCE`, `VAR_POP`, `VAR_SAMP`, `STRING_AGG`, `ARRAY_AGG`, `FIRST`, `LAST`, `BIT_AND`, `BIT_OR`, `BIT_XOR`, `BOOL_AND`, `BOOL_OR`\n\n### Window Functions\n\n`ROW_NUMBER`, `RANK`, `DENSE_RANK`, `NTILE`, `LAG`, `LEAD`, `FIRST_VALUE`, `LAST_VALUE`, `NTH_VALUE`, `PERCENT_RANK`, `CUME_DIST`\n\n### Other Functions\n\n`COALESCE`, `NULLIF`, `CAST`, `CASE`, `IF`, `IIF`, `NVL`, `NVL2`, `DECODE`, `GREATEST`, `LEAST`, `GENERATE_SERIES`\n\n## Persistence\n\nOxiBase uses write-ahead logging (WAL) with periodic snapshots:\n\n```bash\n# In-memory (default) - data lost on exit\n./oxibase --db \"memory://\"\n\n# File-based - durable storage\n./oxibase --db \"file:///var/lib/oxibase/data\"\n```\n\nFeatures:\n\n- **WAL**: All changes logged before applied, survives crashes\n- **Snapshots**: Periodic full database snapshots for faster recovery\n- **Index persistence**: All indexes saved and restored\n\n## Building\n\n```bash\ncargo build              # Debug build\ncargo build --release    # Release build (optimized)\ncargo test               # Run tests\ncargo clippy             # Lint\ncargo doc --open         # Generate documentation\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nApache License 2.0. See [LICENSE](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxibase%2Foxibase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxibase%2Foxibase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxibase%2Foxibase/lists"}