Hacker News new | ask | show | jobs
by MartinMond 4029 days ago
> kvpbase also allows you to program it - tell it what to do when data is read, written, or deleted - so you can offload heavy tasks from your app.

Isn't that exactly what "every database ever" calls triggers?

From the Postgres docs: http://www.postgresql.org/docs/9.4/static/trigger-definition...

> A trigger is a specification that the database should automatically execute a particular function whenever a certain type of operation is performed. Triggers can be attached to tables, views, and foreign tables.

Even NoSQL DB's like redis or riak have the ability to execute user-supplied Lua resp. Erlang.

http://docs.basho.com/riak/latest/dev/advanced/commit-hooks/

http://redis.io/commands/EVAL

1 comments

Yes, but this isn't a database, it's an object store. Block, file, and object storage platforms have yet to implement similar functionality. Block and file platforms are in particular very closed.
Not really, Block systems are just glorified key:value databases.

Here are a few scalable open source block/object storage systems:

Lustre

Ceph

tahoe-lafs

XtreemFS

These are all opensource.

For example, if I wanted a fast global-coherent CDN, then all I need are webservers and GPFS, with some glue code to allow auth'd uploads/deletes. geographically scalable, with tiered storage levels.

If you want to run on dodgy hardware, then use XtreemFS. but you'll pay a performance price.

I'd be interested in a comparison in developer language(as in graphs code examples etc.), with a github link or similar.

We might not be using the same definition for "block". Happy to chat offline if you'd like to email me (joel@maraudersoftware.com). Cheers
What about riak's pre-commit hooks?
Appears to be only related to the write path, i.e. pre-write and post-write. Doesn't do anything for read, delete, rename, search. Also seems to be largely focused on validation. Thank you for pointing this out though.