1. 5

  2. 1

    Is TiDB currently more mature than cockroachDB ?

    1. 5

      I’ve spent a little time working with the TiDB folks, and have spent a little time on the periphery of the CockroachDB project. They certainly test TiDB and TiKV a lot more thoroughly. Cockroach occasionally gets fault injection attention, and it has simple jepsen tests. TiDB & TiKV go farther by constantly running namazu (a.k.a. earthquake) tests on it, and they have spent a lot of effort to make their distributed algorithms simulatable for a far higher bug:compute time ratio than simple jepsen testing. The Cockroach folks run the project as if it’s a piece of Google infrastructure. The PingCAP folks realize they are building a product that they need to test the hell out of from early on, without having Google scale to rapidly reveal flaws.

      They are both based on the etcd raft implementation. TiKV maintains a direct port from go to rust. They both get pulled into important etcd pull requests.

      Cockroach is a monolith. TiDB has a pluggable backend, relying on TiKV for horizontal scalability. Cockroach suffers more from the engineering challenges of having to work in a large monolithic go codebase, and the code quality varies more.

      1. 1

        it has simple jepsen tests

        I know they hired the jepsen author to do a test set and writeup which is avaliable, so maybe they are no longer so simple.