{"id":36728887,"url":"https://github.com/maxnilz/sboxdb","last_synced_at":"2026-01-12T12:04:25.861Z","repository":{"id":240953853,"uuid":"780362035","full_name":"maxnilz/sboxdb","owner":"maxnilz","description":"Distributed SQL database in Rust, written as a learning project about my journey on the database and rust.","archived":false,"fork":false,"pushed_at":"2025-12-01T04:10:56.000Z","size":1058,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-02T21:15:30.862Z","etag":null,"topics":["database-internals","database-tutorial","distributed-database","in-memory-database","in-memory-storage","raft-database","rust-database","rust-wasm-database","sql-engine","transactional-database"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxnilz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-01T10:08:59.000Z","updated_at":"2025-12-01T22:33:39.000Z","dependencies_parsed_at":"2025-07-28T16:07:46.061Z","dependency_job_id":"92739bef-c2a9-4397-a439-461f8352e465","html_url":"https://github.com/maxnilz/sboxdb","commit_stats":null,"previous_names":["maxnilz/sboxdb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maxnilz/sboxdb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxnilz%2Fsboxdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxnilz%2Fsboxdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxnilz%2Fsboxdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxnilz%2Fsboxdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxnilz","download_url":"https://codeload.github.com/maxnilz/sboxdb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxnilz%2Fsboxdb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338975,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T10:58:46.209Z","status":"ssl_error","status_checked_at":"2026-01-12T10:58:42.742Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["database-internals","database-tutorial","distributed-database","in-memory-database","in-memory-storage","raft-database","rust-database","rust-wasm-database","sql-engine","transactional-database"],"created_at":"2026-01-12T12:04:25.787Z","updated_at":"2026-01-12T12:04:25.850Z","avatar_url":"https://github.com/maxnilz.png","language":"Rust","readme":"# sboxdb\n\nsboxdb(Sandbox Database) is a distributed SQL database written in Rust, built as a learning project to explore how\nmodern databases work under the hood — from storage engines and transaction systems (MVCC) to Raft-based replication and\nSQL query execution.\n\n**NB**: Just for learning and experimenting db internals, not suitable for real-word use, and not optimized for\nperformance.\n\n## Outline\n\n- [ ] **KV Storage:**\n    - [x] in memory based key-value storage\n    - [ ] add LSM based kv storage for OLTP([C++, WIP](cckv/README.md))\n    - [ ] testability, benchmarks and observability\n    - [ ] add parquet based storage for OLAP\n    - [ ] vector-friend storage format like [lance](https://github.com/lance-format/lance)\n    - ~~[x] buffer pool manager with lru-k replacer~~\n- [x] **Replication:** Raft-based replicated state machine\n    - no cluster membership config change support.\n- [ ] **Transactional Storage:** transactional mvcc storage\n    - [x] concurrency control with MVCC+OCC\n    - [ ] add Write-Ahead-Log support\n    - [ ] add ARIES recovery support\n- [x] **Transactional access method:**\n    - [x] catalog related access methods\n    - [x] tuple related CRUD access methods\n    - [x] index based access methods\n    - [x] raft-backed access methods\n- [x] **SQL parser:** A handcraft SQL parser without yacc/bison.\n    - **Data Types:** null, boolean, i64, double, utf-8 string\n    - **SQL syntax:**\n        * `BEGIN`, `COMMIT`, and `ROLLBACK`\n        * `[CREATE|DROP] TABLE ...` and `[CREATE|DROP] INDEX ...`\n        * `UPDATE [TABLE] SET ... WHERE ...`\n        * `DELETE FROM [TABLE] WHERE ...`\n        * `SELECT ... FROM ... WHERE ... ORDER BY ...`\n        * `EXPLAIN SELECT ...`\n        * `SHOW TABLES`\n        * `CREATE DATASET ...`\n    - **Full reference** at [here](docs/sql.md)\n- [ ] **SQL Execution Engine:** Simple heuristic-based planner and optimizer supporting expressions, functions and\n  joins.\n    - [x] Logical Planner\n    - [ ] Logical Optimizer\n    - [x] Physical Planner\n    - [x] Executors\n    - [x] Function support\n    - [x] [sql logical test util](https://www.sqlite.org/sqllogictest/doc/trunk/about.wiki)\n- [x] Wasm for browser for fun, deployed at [here](https://maxnilz.com/app/sboxdb)\n\n## Documentation\n\n- [Architecture](docs/arch.md): A high level architecture about sboxdb\n- [SQL reference](docs/sql.md): Detailed SQL syntax sboxdb supported\n- [Examples](src/slt/script/README.md): The SQL examples sboxdb supported\n- [References](docs/references.md): Materials used while building sboxdb\n\n## Dev Tools\n\n1. [Just](https://github.com/casey/just) - Task runner for project commands\n2. [uv](https://docs.astral.sh/uv/getting-started) - Python package manager for\n   the [SQL Logical Test script generator](tools/sltgen)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxnilz%2Fsboxdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxnilz%2Fsboxdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxnilz%2Fsboxdb/lists"}