-
Notifications
You must be signed in to change notification settings - Fork 1
CockroachDB
- https://github.com/cockroachdb/cockroach/issues/5492
- https://github.com/cockroachdb/cockroach/issues/4709
- https://github.com/cockroachdb/cockroach/issues/6465
- opentracing, Dapper
- The the wiki page: Life of a transaction
- HLC implementation code
Go:
- go gRpc API
- go net API
Cockroach:
- trace a single a single get and insert KV SQL. - How to lookup a row from the KV cluster - Who is the transaction coordinator? - Who is the split coordinator?
- Review Raft paper and watch Raft video. Raft replicates ops one by one. Or tow ops can proceed in parallel?
- The following two paragraphs from design doc seems to conflict with each other:
Paragraph 1:
If a new range replica leader is elected, it sets the low water mark for the cache to the current wall time + ε (ε = 99th percentile clock skew).
Paragraph 2:
This is accomplished by setting the low water mark of the timestamp cache to the expiration of the previous lease plus the maximum clock offset.
-
What is the difference between clock skew and clock offset?
-
Internals of MongoDB, VoltDB, CouchBase and Lucene index as illustrated in the diagram of
Read vs. Write Optimization Spectrum
section. -
util/http.go
mentionsProtoEncoding includes application/x-protobuf and application/x-google-protobuf.
. But protorpc now usesapplication/octet-stream
andapplication/x-google-protobuf
. -
References: http://stackoverflow.com/a/1425984/431698
- Spanner has fragments, directory, tablet and spanserver. CockroachDB has range and nodes.
- Spanner uses one Paxos group for one tablet. CockroachDB use one Raft group for one node (MultiRaft).
- Spanner many have multiple hierarchies. CockroachDB use one monolithic map for all tables.