【NewSQL】-- 分布式数据库 TiDB 和 CockroachDB

一、基本描述

1、TiDB


      国产骄傲。从2015年开始,至今已8年,当前最新版本是7.5.x。TiDB 开源分布式 NewSQL 关系型数据库 是新一代开源分布式 NewSQL 数据库,模型受 Google Spanner / F1 论文的启发,实现了自动的水平伸缩,强一致性的分布式事务,基于 Raft 算法的多副本复制等重要 NewSQL 特性。

      TiDB 结合了 RDBMS 和 NoSQL 的优点,部署简单,在线弹性扩容和异步表结构变更不影响业务, 真正的异地多活及自动故障恢复保障数据安全,同时兼容 MySQL 协议,使迁移使用成本降到极低。

2、CockroachDB (小强DB)


      源于美国。当前最新版本:v23.1.x。CockroachDB(又名为蟑螂DB,常常称为小强DB),是构建于事务处理及强一致性KV存储上的分布式SQL数据库,支持水平扩展、自动容错处理、强一致性事务,并且提供SQL接口用于数据处理,是Google Spanner/F1的开源实现。

        CockroachDB适用于应用对数据要求精确、可靠、完全正确的场景,支持自动复制、均匀分布、基于极小配置的数据恢复,可用于分布式的、可复制的联机事务处理(OLTP),多数据中心的部署,私有云的基础构建,它不适用于读少写多的场景,可以用内存数据库来代替,也不适用于复杂的join查询,重量级的数据分析及联机分析处理(OLAP)。虽然兼容 Postgre 协议,但该数据库也有一个为分布式数据库设计的自定义SQL实现。

二、对比

主要特性
名称 CockroachDB  TiDB 
数据库类型 关系性数据库 关系性数据库
辅助数据库模型 - 文档存储
官方说明文档 www.cockroachlabs.com/­docs docs.pingcap.com/­tidb/­stable
商业公司 Cockroach Labs PingCAP, Inc.
初始版本 2015 2016
当前稳定版本 23.1.1, May 2023 7.5.0, December 2023
License  Open Source  Open Source 
仅基于云  no no
DBaaS产品(赞助链接) CockroachDB: A cloud-native, distributed SQL database designed for speed, scale, and survival. Get started for free today with a fully-managed CockroachDB cluster -- leave operations behind and get your app to market faster. TiDB Cloud: Fully-managed TiDB Service. Bring everything great about TiDB to the cloud.
基于编程语言 Go Go, Rust
支持的操作系统 Linux
macOS
Windows
Linux
Data scheme dynamic schema yes
XML support  no no
二级索引 yes yes
SQL  yes, wire compatible with PostgreSQL yes
APIs and other access methods JDBC GORM
JDBC
ODBC
Proprietary protocol
SQLAlchemy
支持的编程语言接口 C#
C++
Clojure
Go
Java
JavaScript (Node.js)
PHP
Python
Ruby
Rust
Ada
C
C#
C++
D
Delphi
Eiffel
Erlang
Haskell
Java
JavaScript (Node.js)
Objective-C
OCaml
Perl
PHP
Python
Ruby
Scheme
Tcl
Server-side scripts  no no
触发器 no no
Partitioning methods  horizontal partitioning (by key range)  horizontal partitioning (by key range)
Replication methods  Multi-source replication using RAFT Using Raft consensus algorithm to ensure data replication with strong consistency among multiple replicas.
MapReduce  no yes 
Consistency concepts  Immediate Consistency Immediate Consistency
Foreign keys  yes yes 
Transaction concepts  ACID ACID
Concurrency  yes yes
Durability yes yes
In-memory capabilities  no no
User concepts  Role-based access control Fine grained access rights according to SQL-standard

你可能感兴趣的:(数据库混合,TiDB,New,SQL,分布式,数据库,tidb)