目前,在开源分布式New SQL数据库领域中最著名的两个产品是PingCap公司的TiDB和Cockroach LABs的CockroachDB(简称crdb)。这两个产品都是受到Google Spanner/F1论文启发,是它的开源克隆版本实现。
TiDB兼容MySQL,而crdb是兼容PostgreSQL。对于应用开发人员来说,如果比较熟悉MySQL,那么选择TiDB可能是比较好的选择;如果比较熟悉PostgreSQL,那么crdb可能是优先的选择。除了着一点之外,下面的表格给出这两个产品对于SQL支持的比较,这些也可能是开发人员所关注的。当然,不同的企业、不同的开发人员可能会有不同的取舍和考虑的。
TiDB |
CockroachDB |
|
存储过程、用户自定义函数 |
No(没有后续支持计划) |
No(计划支持) |
触发器 |
No(没有后续支持计划) |
No(计划支持) |
用户自定义函数 |
No(没有后续支持计划) |
No(计划支持) |
视图 |
No |
Yes |
Sequence |
No |
Yes |
主键 |
Yes |
Yes |
外键 |
No |
Yes |
Check约束 |
No |
Yes |
分区表 |
No(很快支持) |
Yes |
游标 |
No |
No |
全局临时表 |
No |
No |
事务隔离级别 |
SI |
SI SSI(Serializable Snapshot Isolation) |
表级锁、行级锁 |
乐观锁 |
乐观锁 |