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

news/2024/5/19 16:27:36 标签: 分布式, 数据库, tidb

一、基本描述

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/­docsdocs.pingcap.com/­tidb/­stable
商业公司Cockroach LabsPingCAP, Inc.
初始版本20152016
当前稳定版本23.1.1, May 20237.5.0, December 2023
License Open Source Open Source 
仅基于云 nono
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.
基于编程语言GoGo, Rust
支持的操作系统Linux
macOS
Windows
Linux
Data schemedynamic schemayes
XML support nono
二级索引yesyes
SQL yes, wire compatible with PostgreSQLyes
APIs and other access methodsJDBCGORM
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 nono
触发器nono
Partitioning methods horizontal partitioning (by key range) horizontal partitioning (by key range)
Replication methods Multi-source replication using RAFTUsing Raft consensus algorithm to ensure data replication with strong consistency among multiple replicas.
MapReduce noyes 
Consistency concepts Immediate ConsistencyImmediate Consistency
Foreign keys yesyes 
Transaction concepts ACIDACID
Concurrency yesyes
Durabilityyesyes
In-memory capabilities nono
User concepts Role-based access controlFine grained access rights according to SQL-standard


http://www.niftyadmin.cn/n/5331922.html

相关文章

Python程序员常用的IDE和其它开发工具

概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了。 IDE的全称是Integration Development Environment(集成开发环境),一般以代码编辑器为核心,包括一系…

pytest学习和使用-pytest如何进行分布式测试?(pytest-xdist)

1 什么是分布式测试? 在进行本文之前,先了解些基础知识,什么是分布式测试?分布式测试:是指通过局域网和Internet,把分布于不同地点、独立完成特定功能的测试计算机连接起来,以达到测试资源共享…

ubuntu18.04 安装mysql(命令)

1.安装MySQL #命令1 sudo apt-get update #命令2 sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 2.2 检查mysql服务状态 systemctl status mysql.service 3.配置远程访问 在Ubuntu下MySQL缺省是只允许本地访问的 3.1 首先用根用户进入…

RabbitMQ常见问题之延迟消息

文章目录 一、死信交换机二、TTL1. Queue指定死信交换机并设置TTL2. 消息设置TTL 三、延迟队列1. SpringAMQP创建延迟队列2. 设置消息延迟3. 测试 一、死信交换机 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter)&#xff…

css3 纯代码案例

css3 纯代码案例 前言渐变之美1.1 纯CSS3实现的渐变背景1.2 使用多重颜色和方向打造丰富渐变效果1.3 渐变色停留动画的巧妙运用 纯CSS图形绘制2.1 使用border属性制作三角形、梯形等形状伪类箭头图标2.2 利用transform创建旋转、缩放的图形 浮动的阴影敲代码css准备reset 样式复…

ChatGPT 未来学习手册

原文:Learn ChatGPT: The Future of Learning 译者:飞龙 协议:CC BY-NC-SA 4.0 “学习 ChatGPT”是任何对人工智能在教育中的作用感兴趣的人必读的书。这本开创性的书探讨了 ChatGPT 的潜力,这是一个强大的人工智能平台&#xff0…

省份金融科技指数2011-2022移动在线支付网络贷款网上电子银行人工智能生物识别区块链

全国31个省份金融科技指数2011-2022移动在线支付网络贷款网上电子银行人工智能生物识别等金融科技指数(根据百度指数构建 2011-2022年) 关键字:金融科技指数 数据信息 数据来源百度数据时间跨度2011-2022年时间频率年度区域跨度全国31个省…

IDEA插件安装ZooKeeper

zookeeper介绍 Zookeeper是Apacahe Hadoop的子项目,可以为分布式应用程序协调服务,适合作为Dubbo服务的注册中心,负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互。 IDEA安装zoo…