3 ms·
Timestamping was described in the original BigTable paper and is included in the new open-source CockroachDB [1] (see Versioned Values in the design doc [2]).
by DocSavage 12y ago
Timestamping was described in the original BigTable paper and is included in the new open-source CockroachDB [1] (see Versioned Values in the design doc [2]).
A big question is whether you will be storing all mutations permanently or whether the database needs to provide either a time-to-live (TTL) or maximum # of maintained mutations.
If you are just keeping everything or use a keyvalue store with TTL, this can be accomplished easily with any key-value store by using fixed key sizes and appending the timestamp. In an ordered keyvalue store, you can do an efficient lookup of some time span. Some dbs like FoundationDB provide a framework to manage key space using tuples, so it's even easier to tailor and manage different key types to get the desired access speeds.
Rocksdb, a leveldb variant which is the engine beneath CockroachDB, does have TTL [3].
[1] http://cockroachdb.org http://cockroachdb.org
[2] https://docs.google.com/document/d/11k2EmhLGSbViBvi6_zFEiKzuXxYF49ZuuDJLe6O8gBU https://docs.google.com/document/d/11k2EmhLGSbViBvi6_zFEiKzu...
[3] https://github.com/facebook/rocksdb/wiki/Time-to-Live https://github.com/facebook/rocksdb/wiki/Time-to-Live
- Goranek 12y agoCockroach is still away from being usable in production.