repositorypackage
0.0.0-20190607095036-c26f1b576486
Repository: https://github.com/claudiu/timeshard.git
Documentation: pkg.go.dev
# README
TimeShard
TimeShard is an open-source operational transform time series database. It was primarily designed, to store OT-Operations from web edited documents (by sending only the modified bits).
Currently implemented
- Insert Operation with Retain to move the cursor.
- Delete Operation with Retain
- Data snapshots
- Squash (See how a document looked in a point in time)
- JSON Export
- Error recovery
- Disk persistence with Snappy
- Text Formatting
Inserting data
batch := timeshard.NewBatch()
text := []byte("this is a long text")
batch.Insert(0, text)
Deleting data
batch.Delete(0, 10)
Iterators
snap := batch.Snapshot()
iter := snap.Iterator(true)
for iter.HasNext() {
//iter.Value()
}
FAQ
Q: Is it safe to iterate while adding new data?
A: You can only iterate over snapshots (a copy of a document, at a certain period of time). Snapshots cannot be edited, but you can create Batches from them.
Q: Is it production ready?
A: No. Only if you treat bugs as features.