Skip to content

Claudiu/TimeShard

Repository files navigation

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).

Documentation Go report card License

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.

About

TimeShard is an open-source operational transform time series database.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages