
Show HN: SQL Back End for the Static Web and Mobile Apps - marktangotango
https://www.lite-engine.com/blog/hello_world.html
======
brbsix
Just wanted to note that clicking on "Pricing" ([https://www.lite-
engine.com/blog/hello_world.html#pricing](https://www.lite-
engine.com/blog/hello_world.html#pricing)) from the linked page
([https://www.lite-engine.com/blog/hello_world.html](https://www.lite-
engine.com/blog/hello_world.html)), nothing happens.

~~~
hilti
Just found out that pricing has not been determined yet. Maybe that's why it's
not linked.

~~~
marktangotango
That's correct, pricing is to be determined, there will be a generous free
tier. The link being incorrect was a bug, thanks!

------
sscarduzio
What's behind this? Postgres?

~~~
hilti
SQLite

~~~
marktangotango
I wrote a bit on the rationale behind selecting Sqlite in the docs, I'll copy
it here.

> Two reasons primarily, ease of use, and massive multi-tenancy. Sqlite
> occupies a special niche among SQL database implementations, it's
> everywhere, and no where. Because it's an embedded database, it's typical
> not used for websites and mobile app backends. But it has been called the
> most widely deployed database on the planet due to being included in just
> about every mobile device. In our tests it has performed very well.

By 'multi-tenancy' I mean multiple databases per server, not multiple tenants
per database. Each account gets it's own Sqlite db. We saw < 1ms requests for
just about everything we tested (this is time to execute sql, the server adds
some overhead). Of course our tables had indexes, and our sql was sane. To
protect the service we will be rate limiting, and setting request timeouts.
Details to be determined.

We've implemented application level caching with a 'X-Query-Cache' header,
basically you'll only re-run a query if the data has change or the cache
expires. More info in the docs.

[https://www.lite-engine.com/docs.html#why-sqlite](https://www.lite-
engine.com/docs.html#why-sqlite)

