Hacker News new | ask | show | jobs
by mtolan 3411 days ago
I think your title might not be the best;

* Serverless typically implies something accessible from more than the host you're on

* It's not zero configuration, there's at least 1 configurable parameter (albeit with a sensible default)

* I'm actually not even clear why this is a document store limited to JSON, other than you're piping it though a JSON python module.

Having done some things like this in the past, as you continue, you'll probably want to create subdirectories based on the first N characters of the UUID, but I'm not sure you wouldn't get considerably more value of just putting your json blobs into an AWS Dynamo table.

3 comments

I agree that "serverless" now mainly means "Function as a Service." The goal here is convey that there is no server component of the database, similar to SQLite and unlike PostgreSQL.

What is the correct terminology to highlight this architectural distinction?

SQLite is a library. If you call a program to store your data, it's a DB server. Same host or not.
"daemonless" makes the most sense to me, though I doubt that would catch on.
Of course there is no server, since we are talking about local. I agree with others that the title is misleading. I looked at the project for a while to realize that it's just a local command line interface to storing objects in sqlite.

While I am sure there are use cases for this, it is not correct to say this is "serverless".

By that standard you can call literally ANYTHING "serverless".

For starters, this coffee I'm drinking right now is "serverless". It does its job well, completely without a server!

What's wrong with 'local'? Serverless is a terrible word to describe this.
I always thought they were "embedded" databases.
"embeddable datastore" is the right term
your headline is good except the term "serverless". please drop it. The term means much more than "not hosting it on a server". As somebody pointed out, "embedded datastore" may be a better term.
I agree the term is confusing now that "serverless" has a cloud-related definition, but in the database world, it is traditionally one of the terms used as an antonym to "client/server database". See, for example: https://sqlite.org/serverless.html
Zero configuration usually means it doesn't have to be configured, not that it can't.
There is already an issue about supporting sharding https://github.com/nodesocket/jsonlite/issues/15.
I thought it was "serverless"? what does "sharding" have to do with anything? I'm sorry but it seems like you throw around some vocabulary that doesn't describe your project properly, to make it look bigger than it really is. That's nice marketing but it does not feel like there is much effort put into it, when I looked at your bash script.
"The word shard means a small part of a whole."

The idea is breakup uuid keys into sub directories based on the first couple of letters to prevent file system performance issues. Seems like the right usage of the word from a dictionary perspective.

According to your logic, my home directory is also a sharded, serverless, zero-configuration document store. I should apply for some VC funding. ;-)