News for hackers. Stuff that matters.
Re:We built a distributed DB capable of running across 100s ... by the_arun on Tuesday March 05, 2019 @12:12AM (#19308256)
REST interface is good, but could we add business valdation before mutating data? Because bulk of the work backend does is this business logic. How could we do this?
Re:We built a distributed DB capable of running across 100s ... by ctesh on Tuesday March 05, 2019 @12:36AM (#19308342)
Hello and greetings the_arun.

The short answer is yes. Macrometa integrates a function as service (FaaS) which can be hooked into the database and be triggered by events on a stream or a data collection.

So you can for example do the following: Expose a RESTful or GraphAPI (included deep nested queries in graphQL) for one or more collections - when mutating, attach a validation function to the collection as a trigger that is called before the mutation is applied to the DB. You can also have a trigger that calls a function after the mutation is complete.

One can also do this on streams with functions being triggered to a specific topic.

Lastly - there is full support for running containers as well and you can use the endpoints exposed by the container as a trigger.

Oh and one more thing - the dB is real time. It will notify clients of updates to collections automatically (like firebase).

Hope this helps..

Re:We built a distributed DB capable of running across 100s ... by the_arun on Tuesday March 05, 2019 @10:17AM (#19311019)
Thanks for the details. This sounds very similar to Amazon's DynamoDB? Are there features to make macrometa better than DynamoDB?
Re:We built a distributed DB capable of running across 100s ... by ctesh on Tuesday March 05, 2019 @11:08AM (#19311429)
Shares some feature overlap with dynamodb (key/value and document dB interfaces). Where we differentiate - global replications across all our 25 global POPs (50 by end of 2019). Integrated graphQL generator (rest as well), real-time: dB will notify clients of changes to data I.e. no need to poll, rightly integrated with streams and pub/sub, run functions and containers as triggers or stored procedures to the DB, geo query: query by lat/long/height, elastic search integrated (July 2019). There’s more - will announce in April