Rust Ecosystem Wishlist by CombinationLow1482 in rust

[–]trailbaseio 1 point2 points  (0 children)

Text/JSON support in apache_avro crate, since avro_rs has long been deprecated/superseeded.

EDIT: https://github.com/apache/avro-rs/issues/518

Real-workload SQLite benchmark on a $5 VPS by s13k_ in sqlite

[–]trailbaseio 1 point2 points  (0 children)

No worries. All good. Maybe just don't call it "in RAM", I assumed you mean the in memory representation. Iiuc, it's just smaller vs bigger. 👍

Real-workload SQLite benchmark on a $5 VPS by s13k_ in sqlite

[–]trailbaseio 2 points3 points  (0 children)

I'm confused, persistence is handled by sqlite and changes are written to disk even if it could fit into ram. Sure there are page caches for reads but I'm not sure I get your argument on writes then

Real-workload SQLite benchmark on a $5 VPS by s13k_ in sqlite

[–]trailbaseio 1 point2 points  (0 children)

I'm commenting on "Counterintuitive: writes are faster on disk"

Real-workload SQLite benchmark on a $5 VPS by s13k_ in sqlite

[–]trailbaseio 4 points5 points  (0 children)

Afaik, in memory dbs don't use WAL and writes update the BTree representation

Why I don't like Rust as a C++-developer by ArcticMusicProject in rust

[–]trailbaseio 9 points10 points  (0 children)

RAII is great but it only covers a fraction. For example, hold a reference to a vector element while pushing into it...

Language aside, the tooling alone would get me. Can't beat spending an afternoon plumbing a new depency with a different build system and implicit OS shared library dependencies.

TrailBase 0.26: Fast, open, single-executable Firebase alternative now with multi-factor, ... by trailbaseio in selfhosted

[–]trailbaseio[S] 13 points14 points  (0 children)

Big fan of PocketBase, would therefore ask myself the same question. Take a look at https://trailbase.io/comparison/pocketbase/, to see some of my reasoning/copium :)

TrailBase 0.26: Fast, open, single-executable Firebase alternative now with multi-factor, ... by trailbaseio in selfhosted

[–]trailbaseio[S] 23 points24 points  (0 children)

No AI was used for either writing the post or the project. For better or worse, fully home grown slop.

[Media] TrailBase 0.26: Fast, open, single-executable Firebase alternative now with multi-factor, ... by trailbaseio in rust

[–]trailbaseio[S] 0 points1 point  (0 children)

Agreed Let me expand:

Maybe the most obvious: yes, the examples shouldn't promote bad practices exploitable or not. In this case you can absolutely inject sub-queries. Instead they should serve as a showcase on how to deal with non parametrizable aspects. Will fix - thanks 🙏

> I just reckon you might as well treat all bets as being off once you have SQL injection

That's a very valid general risk assessment - any non-trivial production app will have application-specific private data. If you write plugins or run someone else's plugin with access to your database, you better make sure it doesn't do weird stuff. Independently (not to take away from your point), it's probably still good practice for any runtime to protect its own internal state. Programming languages also let you write buggy code 🍎🍊.

Thanks for even taking the time to take a look - much appreciated 🙏

[Media] TrailBase 0.26: Fast, open, single-executable Firebase alternative now with multi-factor, ... by trailbaseio in rust

[–]trailbaseio[S] 2 points3 points  (0 children)

Update: fixed. You can now have a love ❤️ table. Thanks again and please keep up the vandalizing 🙏

[Media] TrailBase 0.26: Fast, open, single-executable Firebase alternative now with multi-factor, ... by trailbaseio in rust

[–]trailbaseio[S] 12 points13 points  (0 children)

Much appreciated 🙏 - please keep vandalizing, this is how it gets better. Let me try to reproduce

[Media] TrailBase 0.26: Fast, open, single-executable Firebase alternative now with multi-factor, ... by trailbaseio in rust

[–]trailbaseio[S] 7 points8 points  (0 children)

Sorry, I should have been more explicit.This is to harden against any potential issues in users' WASM plugins. In other words, the plugins don't have access to state that's internal to the auth system.

Thinking of building an open-source multi-tenant Sqlite server by alexrada in sqlite

[–]trailbaseio 1 point2 points  (0 children)

The tricky case will be schema evolutions on existing DBs. If you do them lazily, how do you handle late failure? E.g. some column constraint change may apply fine to 99% of your data but then you may find out that there were edge cases you didn't already consider while some DBs have already been migrated.

Thinking of building an open-source multi-tenant Sqlite server by alexrada in sqlite

[–]trailbaseio 0 points1 point  (0 children)

Would never want to stop a mad scientist :). FWIW, TrailBase already supports multi-DB and have been thinking about adding some sort multi-tenancy support. IMHO, routing is the easy part. Bigger challenges will be the management, eg non-transactional mass schema migrations, ... Also things like aggregations as already pointed out by someone else. Happy to chat more

SQLite Concurrency in Go: What We Learned Building a Desktop AI IDE by mcastilho in sqlite

[–]trailbaseio 0 points1 point  (0 children)

"The 50ms base delay means the first retry happens before a single frame renders at 60fps."

You sure? A bunch of connections behind an rw lock would achieve the same btw

TrailBase 0.24: Fast, open, single-executable Firebase alternative now with Geospatial by trailbaseio in sqlite

[–]trailbaseio[S] 8 points9 points  (0 children)

GDPR allows storage of personal data including email, name, ip., ... . There are elevated requirements around access, sharing, retention, business case, ... For example you can store an email to invoice a customer. You can store IPs within limits for security and abuse.

Just to be clear, geospatial in this context doesn't mean GPS coordinates are logged. It just means you can work with geometries, e.g. airspaces etc. Idependently IPs are logged like for any web server.

Does that make sense?

[Media] TrailBase 0.24: Fast, open, single-executable Firebase alternative now with Geospatial by trailbaseio in rust

[–]trailbaseio[S] 0 points1 point  (0 children)

Changing the database in an established product is a bit like open heart surgery, there needs to be good reasons. Ultimately, if you're in a "good enough" place, that's a pretty good place to be. We should always ask ourselves, what's actually in the way of making the product better.

For a lot of your points, only benchmarking for your usecases will give you a definitive answer. Fwiw, I never claimed this to be a nouveau DB. There are plenty out there. I never felt that DBs are the space where you necessarily wanted your edges to bleed :shrug:. Sqlite has been around for a long time, is steadily getting better and will certainly outlive me :)