News for hackers. Stuff that matters.
Re:ToyDB: Distributed SQL Database in Rust by fsloth on Sunday July 18, 2021 @03:23PM (#27875786)
Sqlite has been battletested for years.

I utterly fail to see the point in reimplementing it in some other language.

Innovate in databases - yes please - but "rewrite" - why?

Not being able to use battletested libraries written in plain C (e.g. sqlite) sounds like a hugh mark against rust as a systems programming language.

Is using C libraries an actual issue or just an aesthetic grumble?

Re:ToyDB: Distributed SQL Database in Rust by mamcx on Sunday July 18, 2021 @04:18PM (#27876298)
Sqlite is probably the one C project I totally trust.

But, yeah, "cloning" projects is losing proposition (even more if open source). I wish a sqlite-like on rust? yeah, but not a clone, but in spirit (exist so much we can improve with rdbms!)

Re:ToyDB: Distributed SQL Database in Rust by pas on Sunday July 18, 2021 @03:59PM (#27876124)
Maintainability? Performance? Tighter integration into Rust projects?

Also, with using SQLite's amazing test harness, it might even make sense to claim that the Rust re-implementation is of similar quality in terms of (lack of) bugs.

Re:ToyDB: Distributed SQL Database in Rust by zie on Sunday July 18, 2021 @05:10PM (#27876712)
only some of the test harness is open source, see: https://sqlite.org/testing.html
Re:ToyDB: Distributed SQL Database in Rust by erik_seaberg on Monday July 19, 2021 @04:30AM (#27880378)
If the rewrite is distributed over a quorum and columns are strongly-typed, I’m happy to see it.
Re:ToyDB: Distributed SQL Database in Rust by simlevesque on Sunday July 18, 2021 @03:48PM (#27876027)
> battletested

Is software that is always evolving battletested ? A new version could break something.

I'm aware that sqlite has one of the best test suite in all of open source, I just wonder if something that was "battletested" is still battletested after a new release.

Re:ToyDB: Distributed SQL Database in Rust by lukevp on Sunday July 18, 2021 @03:59PM (#27876120)
I guess we can’t speak about battle testing in a new release from a “running in production with real user workloads” but if the test suite is properly implemented and has good coverage and exercises many cases and failure modes, it’s possible that a SQLite release is more battle tested on day zero than other software is when it’s been running for months or years. What do you think? A new version presumably still runs through validation before release.
Re:ToyDB: Distributed SQL Database in Rust by ithkuil on Sunday July 18, 2021 @04:00PM (#27876128)
Here's where the asymmetry of security bugs and feature bugs comes into play.

Introducing a buffer overflow in a small unused corner / edge case of the feature set allows an attacker to fully compromise the process, and it's thus a problem affecting a 100% of the users.

Introducing a behavioral bug in the same unused corner / edge case, will affect only a very small number if people (possibly none)

Re:ToyDB: Distributed SQL Database in Rust by jasonwatkinspdx on Sunday July 18, 2021 @04:06PM (#27876190)
Freezing the software is no assurance of security either. I'll take ongoing maintenance of the quality of sqlite every time personally.
Re:ToyDB: Distributed SQL Database in Rust by mirekrusin on Monday July 19, 2021 @04:19AM (#27880342)
sqlite is known for its massive test coverage with 600x+ test to source ratio [0].

[0] https://www.sqlite.org/testing.html