vanadium / issues

Vanadium issue tracker
1 stars 1 forks source link

Syncbase feature request: append-only log #920

Open ivanpi-mtv opened 8 years ago

ivanpi-mtv commented 8 years ago

Several apps would benefit from a library or CRDT to make building an append-only log (e.g. event log, time series) easier.

One possibility to implement a log currently is writing a value per key, encoding the timestamp in the key, possibly disambiguated by UUID. Encapsulating this into a CRDT using internal timestamps (see #910) would make it easier to use.

@afandria (croupier), @ivanpi-mtv (sensorlog), @bprosnitz

ivanpi-mtv commented 8 years ago

Another related concern, probably out of scope of Syncbase, is logging by untrusted clients (an append-only permission), which should be prevented from forging timestamps and overwriting existing log entries. This is alleviated by the log CRDT if the Syncbase instance is trusted (otherwise, sync peers would need to detect the malicious behaviour).

asadovsky commented 8 years ago

Assigning to Bindu for tracking, though we haven't yet fleshed out what this might look like.

As a side note, I played some with OT in the past as a side project, and recently resuscitated that project to add CRDT text editing support (with Logoot). My implementation is simplistic and incomplete, but it hints at potential design issues and might be useful as a baseline for further exploration: https://github.com/asadovsky/goatee