HNHacker News
TopNewBestAskShowJobs

trailbase

64 karma · joined October 31, 2024

submissionscomments
trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
Thanks for expanding.

> retrieval of data from third party providers can take long so you'll want to cache results one way or another.

Agreed. Caching of slow external sources will always be beneficial (at least if you need it more than once :) ). You should use whatever makes the most sense. The argument is more that data from TB is already pretty quick, quick enough that you could even use it as a cache.

> However in my understanding it's designed for being used by a single application,

SQLite by design allows for concurrent writes and parallel reads from any number of processes.

> it's not really scalable,

What do you want to scale to? Postgres is fairly similar in terms of scalability, i.e. master writes + read replicas. Once you're going beyond that scale you get a lot more benefit out of more specialized, problem-oriented solutions.

> and its functionalities are still limited compared to the big DBs.

It full SQL and it's extensible. Depends on what you need. It certainly doesn't have the same rich ecosystem or flexibility of posgres where you can even swap out the storage engine. I was mostly curious, if there's some specific functionality you're missing.

> and for core components flexibility is really important.

Agreed: the right kind of flexibility for your problem.

I'll play devils advocate here: imagine you'd start to deeply depend on one specific postgres plugin and then that plugin get discontinued or you're hitting performance bottlenecks and you're to locked-in to move to a more specialized solution. Don't take this too seriously, I just wanna say that there's a balance.

trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
Done. Thanks
trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
You folks are spot on. Single file in this case means single binary that is statically liked, i.e. w/o dependencies on shared library allowing you to just copy it from machine to machine similar to e.g. k3s.

Whether to use docker or not is really up to you. It's just a way to deploy other assets, e.g. a static html bundle. More importantly it saves me the trouble of providing windows builds at this current time :)

trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
> So it seems to target only very simple applications, eg. straightforward relational DB <-> Json Rest/HTTP.

Could you expand a bit on what more advanced capabilities you're missing for anything beyond a very simple app? I'm genuinely curious but also see SQLite often undersold

trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
IMHO, this will greatly depend on your use-cases. If you have a rich client app, e.g. mobile or PWA, most of your logic will go into your client by default. However, there might be some code you want to run on the server in a trusted environment, or use some existing JS library for mobile, or have an otherwise mostly static web app, ... depends
trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
That sounds concerning. Maybe OSL-3 is the wrong license. I am not a lawyer and spend too much time to admit on researching options before settling on OSL-3. My impression was that OSL-3 is roughly AGPL with a linkage exception to account for both use-cases of using it as a stand-alone service or as a rust library. Maybe a dual license would have been more appropriate? TBH, I'm also not sure I fully grasp: https://www.gnu.org/licenses/license-list.html#OSL
trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
https://trailbase.io/comparison/pocketbase/
trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
It's a single, statically linked binary to run everything. You don't have to worry about dynamic libraries dependencies or other assets.

Storage on disk is actually a couple of files of data bases, uploaded files, keys, config, ...

trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
They're great, mature and polished projects :). TrailBase has ways to go to get there
trailbase··on Trailbase: Fast, single-file, open-source app server built using Rust and SQLite
That's very valid and also why it's funny. Naming is hard. To be honest, I didn't think much about "trailing", certainly trailing in terms of adoption :). I did like the sound of "trail run" on the command line.

Definitely considered a bunch of alternatives. "SecondBase" was fun :)

trailbase··on [dead]
Simplify your stack with fewer moving parts - TrailBase is an easy to self-host, single-file, extensible backend for your mobile, web or desktop application providing APIs, Auth, FileUploads, JS runtime, ... . Sub-millisecond latencies eliminate the need for dedicated caches, no more stale or inconsistent data.

Just released v0.3 overhauling the SQLite execution model providing a nice speed bump. Now, APIs are roughly 20x faster than SupaBase, 10x faster than TrailBase: https://trailbase.io/reference/benchmarks

Check out a live demo of the admin UI on the website: https://trailbase.io. Love to hear your thoughts

← PreviousPage 2 of 2