4 ms·
SQLRite – SQLite clone from scratch in Rust
- Thev00d00 6y agoSome big shoes to fill, but good luck with it. On a tagentially related note SQLite has a great page on CVEs https://www.sqlite.org/cves.html https://www.sqlite.org/cves.html
- efficax 6y agoThis is interesting. I think you'll soon find that the in-memory data structures provided by Rust's std::collections aren't going to work for you when you start thinking about on-disk storage of data. One resource that is invaluable for learning about databases is the code to the original Berkeley DB https://github.com/386bsd/386bsd/tree/9eaf3b3359255f461055b8f582131dd4695e750d/usr/src/lib/libc/db https://github.com/386bsd/386bsd/tree/9eaf3b3359255f461055b8...
- joaoh82 5y agothanks for the tip man. I think you are right. Rust data structures might do the job at first, specially for in-memory operations. But on-disk storage if definitely going to be a problem.
- hajile 6y agoIf this can reach production quality, could we start considering webSQL again? IndexedDB leaves a lot to be desired.
- sitkack 6y agoAs much as I wanted to see SQLite included in browsers, Mozilla made the right call. You can run SQLite in the browser now using Wasm.
- hajile 6y agoI might agree in principle, but the results are objectively worse for developers and users. They should have taken the time to make a new generation of SQL with improved syntax and ergonomics. Instead, we got something that requires complex boilerplate to do simple things with gaping flaws and almost completely devoid of features (all of this while still being built on top of sqlite).
- alexvoda 6y agoThis should be a great learning project. SQLite is very high quality and simpler than other SQL servers so it is probably a good project to clone. There is obviously no need for it and it will take a very long time to get to where SQLite is now. But that is not the point.
- sneak 6y ago> Rust-SQLite, aka SQLRite , is a simple embedded database modeled off SQLite, but developed with Rust. The goal is get a better understanding of database internals by building one. That's not what I think of when I read "clone".