
Show HN: Unbounded – The serverless NoSQL database you query with JavaScript - metanautics
https://www.unbounded.cloud/
======
metanautics
Hi, I'm Will, the creator of Unbounded. I co-founded the security company
Cambia, later acquired by Tripwire, Inc.

Unbounded is a schemaless, serverless, NoSQL cloud database you query with
Javascript. If you can code it, it's a valid query.

Store any JSON data with no limitations on primary key names, property names
or embedded objects. Map, reduce, and receive query results to your webhooks.

Free starter tier, only pay for what you use.

The first medium post on Unbounded is also live:

[https://medium.com/@will.a.weisser/create-a-zero-setup-
micro...](https://medium.com/@will.a.weisser/create-a-zero-setup-microservice-
with-unbounded-3d2a114db4)

Unbounded was conceived as an elegant solution to the problems introduced by
managing massive contact lists for an enterprise CRM platform, while being
carefully designed to reduce developer friction.

For example, one reason we use Javascript as a query language is because it's
likely a language you're already familiar with, instead of forcing you to
learn yet another quirky dialect of SQL.

Unbounded is more than a database, it’s a turnkey way to create a data
transformation pipeline that can scale, without setting up servers, lambda
functions, message queues, task processors, “Glue,” etc.

You send us Javascript, and we'll execute it against your data in parallel,
writing the results back to disk or sending them to you via S3 or webhooks,
while queuing and retrying any failures. At the same time, you can still
execute queries directly to pull out records like you would in a DBMS.

I'll be here to answer questions all day long!

~~~
billconan
I am confused. The JavaScript, does it run on the frontend, like firebase？ or
I send it to the backend? If I send the script to the backend, how to debug?
How to do entitlement? For example, I only want user A to access its own data.

~~~
metanautics
Queries run on the backend in isolated VMs. To separate data for different
users, you could use the saved query feature to isolate portions of data from
each other, or alternatively create a separate database for each user.
Providing comprehensive debugging facilities is an interesting idea...perhaps
some kind of local testing sandbox would be useful there? What do you think?

~~~
billconan
I want breakpoints, being able to check variable's value and logging. It would
be better if the environment requires zero setup.

~~~
metanautics
One of the advantages of javascript versus a proprietary language is we can
take advantage of the excellent tooling built-in to the existing js ecosystem.
On the occasions where I had to write T-SQL stored procedures for example, I
hated being locked in to a specific IDE for syntax highlighting and debugging.
Moving forward I'd like to provide easy templates, perhaps through NPM or the
like, for setting up Unbounded projects. Thanks for the feedback.

