{"id":20687398,"url":"https://github.com/mnogu/simpledb-rs","last_synced_at":"2025-04-22T15:12:58.143Z","repository":{"id":41405886,"uuid":"482496285","full_name":"mnogu/simpledb-rs","owner":"mnogu","description":"simple RDBMS written in Rust","archived":false,"fork":false,"pushed_at":"2022-11-06T09:46:00.000Z","size":324,"stargazers_count":28,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-22T15:12:41.494Z","etag":null,"topics":["rdb","rdbms","rust","rust-lang"],"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/mnogu.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}},"created_at":"2022-04-17T10:48:27.000Z","updated_at":"2025-04-11T06:55:42.000Z","dependencies_parsed_at":"2023-01-21T23:16:19.340Z","dependency_job_id":null,"html_url":"https://github.com/mnogu/simpledb-rs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnogu%2Fsimpledb-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnogu%2Fsimpledb-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnogu%2Fsimpledb-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnogu%2Fsimpledb-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnogu","download_url":"https://codeload.github.com/mnogu/simpledb-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250264911,"owners_count":21402004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["rdb","rdbms","rust","rust-lang"],"created_at":"2024-11-16T22:57:11.130Z","updated_at":"2025-04-22T15:12:58.120Z","avatar_url":"https://github.com/mnogu.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# simpledb-rs\n\n[SimpleDB](http://cs.bc.edu/~sciore/simpledb/) re-written in Rust.\n\n## Requirements\n\n* [`cargo`](https://doc.rust-lang.org/cargo/getting-started/installation.html)\n* [`protoc`](https://grpc.io/docs/protoc-installation/) \u003e= 3\n\n## How to run\n\n```\n$ git clone https://github.com/mnogu/simpledb-rs.git\n$ cd simpledb-rs\n```\n\n### Embedded\n\n```\n$ cargo run\n    Finished dev [unoptimized + debuginfo] target(s) in 0.21s\n     Running `target/debug/main`\nConnect\u003e foo\ncreating new database\ntransaction 1 committed\n\nSQL\u003e create table STUDENT(SId int, SName varchar(10), MajorId int, GradYear int)\ntransaction 2 committed\n0 records processed\n\nSQL\u003e insert into STUDENT(SId, SName, MajorId, GradYear) values (1, 'joe', 10, 2021)\ntransaction 3 committed\n1 records processed\n\nSQL\u003e select SId, SName, MajorId, GradYear from student\n    sid      sname majorid gradyear\n-----------------------------------\n      1        joe      10     2021\ntransaction 4 committed\n```\n\n### Network\n\n```\n$ cargo run --bin server\n    Finished dev [unoptimized + debuginfo] target(s) in 0.14s\n     Running `target/debug/server`\ncreating new database\ntransaction 1 committed\n```\n\n```\n$ cargo run\n    Finished dev [unoptimized + debuginfo] target(s) in 0.13s\n     Running `target/debug/main`\nConnect\u003e //[::1]\n\nSQL\u003e create table STUDENT(SId int, SName varchar(10), MajorId int, GradYear int)\n0 records processed\n\nSQL\u003e insert into STUDENT(SId, SName, MajorId, GradYear) values (1, 'joe', 10, 2021)\n1 records processed\n\nSQL\u003e select SId, SName, MajorId, GradYear from student\n    sid      sname majorid gradyear\n-----------------------------------\n      1        joe      10     2021\n```\n\n## Status\n\n- [x] Disk and File Management\n- [x] Memory Management\n- [x] Transaction Management\n- [x] Record Management\n- [x] Metadata Management\n- [x] Query Processing\n- [x] Parsing\n- [x] Planning\n- [ ] JDBC Interfaces\n  - [x] Uses [gRPC](https://grpc.io/) and [Protocol Buffers](https://developers.google.com/protocol-buffers) instead\n- [x] Indexing\n- [x] Materialization and Sorting\n- [x] Effective Buffer Utilization\n- [x] Query Optimization\n\n## References\n\n* [Database Design and Implementation](https://link.springer.com/book/10.1007/978-3-030-33836-7)\n* [The SimpleDB Database System](http://cs.bc.edu/~sciore/simpledb/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnogu%2Fsimpledb-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnogu%2Fsimpledb-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnogu%2Fsimpledb-rs/lists"}