开源分布式 NewSQL 关系型数据库 TiDB

开源分布式 NewSQL 关系型数据库 TiDB

Apache-2.0
Google Go Rust 查看源码»
Linux
2015-09-06
红薯

TiDB 是国内 PingCAP 团队开发的一个分布式 SQL 数据库。其灵感来自于 Google 的 F1 和 Google spanner, TiDB 支持包括传统 RDBMS 和 NoSQL 的特性。

TiDB 的源码已经托管在 Git@OSC 上,详情请查看:https://gitee.com/pingcap/tidb

架构:

architecture

特性:

  • 水平伸缩
    TiDB 可随着你的业务增长而伸缩,只需要通过增加更多的机器来满足业务增长需要

  • 异步的 schema 调整
    TiDB scheme 可随时进行调整来满足需求,添加列和索引并不会影响进行中的操作

  • 一致性的分布式事务
    你可以把 TiDB 想象成一个单机的 RDBMS,而事务可以在多服务器间进行,无需担心一致性问题。TiDB 让你的应用代码简单而且可靠.

  • 兼容 MySQL 协议
    你可以像使用 MySQL 一样来使用 TiDB,你可以使用 TiDB 来替换 MySQL 来服务你的业务,而绝大多情况下无需修改一行代码。

  • 采用 Go 和Rust 语言开发
    SQL引擎TiDB采用Go,代码简单而且易于理解;分布式存储引擎TiKV采用Rust,性能非常高。

  • 多存储引擎支持
    你可以在 TiDB 中使用你熟知的存储引擎,单机模式下支持大多数引擎,包括 goleveldb, LevelDB, RocksDB, LMDB, BoltDB 等等

安装使用

请参考项目文档 https://github.com/pingcap/docs-cn

项目状态

2.0 GA

加载中

评论(40)

青苗
青苗
目测大有可为
zhenruyan
zhenruyan
#TiDB# 提了bug很快就修复发新版本了,点赞!!!
zhenruyan
zhenruyan
#TiDB# 提了bug很快就修复发新版本了,点赞!!!
zhenruyan
zhenruyan
#TiDB# 提了bug很快就修复发新版本了,点赞!!!
zhenruyan
zhenruyan
#TiDB# 提了bug很快就修复发新版本了,点赞!!!
zhenruyan
zhenruyan
#TiDB# 提了bug很快就修复发新版本了,点赞!!!
zhenruyan
zhenruyan
#TiDB# 提了bug很快就修复发新版本了,点赞!!!
liyuanyuan
liyuanyuan
微服务之间的事务怎么实现呢?有具体的案例吗?
lihengda
lihengda
试用了一下2.0版本,总体感觉挺不错的,超出预想,在目前一个项目中,无论是数据迁移,还是服务稳定性上,都要比MySQL单库好(TiDB部署在1台服务器上的9个虚拟机节点,MySQL部署1台服务器实体机节点)。存在的问题,负载均衡不是很理想,在导入数据时,热点数据分布不均匀,在查询时,冷数据加载速度慢,出现服务超时,tikv节点宕机现象,但第二次之后执行该查询很快,基本能稳定在10秒以内,MySQL第一次需要160秒,之后保持在40秒,可见该数据库还是不错的;部分地理坐标类型不支持。
雷兽
有稍大规模应用的案例吗?

TiDB 开发商 PingCAP 完成 C 轮 5000 万美元融资

近日,新型分布式关系型数据库公司 PingCAP 宣布完成 5000 万美元 C 轮融资,这是目前为止新型分布式关系型数据库领域的最大笔融资。本轮融资将主要用于技术研发和全球化生态系统建设。 Ping...

09/12 10:09

分布式 NewSQL 数据库 TiDB 2.0.6 发布,改进兼容性

TiDB 2.0.6 已发布,该版本在 2.0.5 版的基础上对系统兼容性、稳定性做出了改进。 TiDB Improvements 精简 “set system variable” 日志的长度,减少日志文件体积 #7031 在日志中记录 ADD ...

08/12 07:44

重磅!开源分布式 NewSQL 数据库 TiDB 2.0 正式发布

去年十月,TiDB 1.0 版本发布,在接下来的六个月中,开发团队一方面在维护 1.0 版本的稳定性并且增加必要的新特性,另一方面马不停蹄的开发 2.0 版本。经过 6 个 RC 版本,TiDB 2.0 GA 版本于...

04/28 06:45

分布式 NewSQL 数据库 TiDB 2.0 RC3:提高兼容性

分布式 NewSQL 数据库 TiDB 发布了 2.0 RC3 版本,在上一版的基础上带来了如下改进: 修复某些情况下 MAX / MIN 结果错误的问题 修复在某些情况下 Sort Merge Join 的结果未按 Join Key 的顺...

03/25 07:43

分布式 NewSQL 数据库 TiDB 2.0 RC1:改进系统稳定性

2018 年 3 月 9 日,TiDB 发布 2.0 RC1 版。该版本在上一版的基础上,对 MySQL 兼容性、系统稳定性和优化器做了很多改进。 更新内容 TiDB 支持限制单条 SQL 语句使用内存的大小,减少程序 OO...

03/10 06:17

TiDB 1.0.1 发布,新型分布式 NewSQL 数据库

TiDB 1.0.1 已发布,TiDB 是开源的分布式关系型数据库,灵感来自于 Google Spanner/F1,具备分布式强一致性事务、在线弹性水平扩展、故障自恢复的高可用、跨数据中心多活等核心特性。 更新内...

2017/10/31 18:38

重磅更新 开源分布式 NewSQL 数据库 TiDB 1.0 正式发布

10 月 16 日,TiDB 正式发布 GA 版(TiDB 1.0)。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。 作为世界级开源的分布式关系型数据库,TiDB 灵感来自于 Google Spa...

2017/10/16 15:26

没有更多内容

加载失败,请刷新页面

2
回答
TiDB 执行 Add index 出错后无法撤销
无底船 的回答 11/21 16:03
最佳答案
重新执行初始化命令后,作业回滚撤销成功。 $ ansible-playbook bootstrap.yml $ ansible-playbook deploy.yml $ ansible-playbook start.yml
2
回答
tidb读性能

@TiDB 你好,想跟你请教个问题:今天我测试tidb跟mysql的性能,发现写tidb快一很多,但读tidb是mysql的十倍左右,为什么读会这么慢?有...

11/13 17:23
1
回答
使用centos部署ansible单实例时,启动失败

部署集群软件 ansible-playbook deploy.yml 启动 TiDB 集群 ansible-playbook start.yml

11/06 17:21
3
回答
TiDB如何定义分片键,与分片规则?

@TiDB 你好,想跟你请教个问题: 我找遍了TiDB的文档,也没找到定义分片键的命令与规则。我想不是所有的表都需要做分片吧,是应该区别分片表与非分片表的...

05/31 15:55
1
回答
PD能否跨机房部署

根据文档,PD使用raft来做一致性保证,如果PD部署在不同机房,且机房之间时延较大,那么吞吐量应该会受到很大影响? 我的场景是多数据中心同时写,可以保证...

2017/03/17 17:24
13
回答
【开源访谈】黄东旭:“无人区”的探索者, TiDB 的前行之路

历时两年半,开源分布式 NewSQL 数据库 TiDB 终于迎来了 1.0 正式版本的发布。作为全新的数据库类型的“探路者”,TiDB 在这过程中遇到了哪...

2017/11/30 07:47
6
回答
TiDB :Server aborted the SSL handshake

@goroutine 你好,想跟你请教个问题: $go get -d github.com/pingcap/tidb # cd .; git clone ...

2015/09/07 16:24
4
回答
【开源访谈】刘奇:Infrastructure 领域不开源没有生存机会

从关系型数据库,到 NoSQL ,再到现在的 NewSQL ,数据库经历过多次演变。为什么要在关系型数据库应用广泛的时候创建 NewSQL?NewSQL ...

2016/12/25 19:17
2
回答
k/v能实现大批量的结构化关联查询?

@goroutine 你好,想跟你请教个问题:内部以k/v实现? 对于sql查询涉及的关联,k/v很难高效率的实现啊。

2015/09/07 09:52
2
回答
TiDB分布式事务一致性问题

@goroutine 你好,想跟你请教个问题:TiDB的分布式事物也是基于2PC或者3PC的吗?如果最终commit的时候其中一台机器commit失败,T...

2016/08/16 18:14

没有更多内容

加载失败,请刷新页面

15分钟了解TiDB

由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式...

08/15 21:23
18
0
15分钟了解TiDB

由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式...

07/03 16:08
40
0
TiDB Executive Summary

一、重要文档 ● 【TiDB 中文文档】 https://pingcap.com/docs-cn ● 【FAQ】 https://pingcap.com/doc-FAQ-zh ● 【OPS】https://www.tidb.cc 二、TiDB 的技术原理 ● 【TiDB 技术内幕】 ○...

10/27 20:34
21
0
TiDB 源码阅读系列文章(十七)DDL 源码解析

DDL 是数据库非常核心的组件,其正确性和稳定性是整个 SQL 引擎的基石,在分布式数据库中,如何在保证数据一致性的前提下实现无锁的 DDL 操作是一件有挑战的事情。本文首先会介绍 TiDB DDL 组...

08/28 13:33
43
0
UCloud 与 PingCAP 达成合作 Cloud TiDB 全球正式发布

2017 年 10 月,国内领先的中立云计算厂商 UCloud 与国内开源分布式 NewSQL 数据库 TiDB 团队 PingCAP 正式达成合作,双方将联手在 UCloud 全球数据中心逐步推出新一代 TiDB 的云端版本——C...

2017/10/30 16:21
68
0
启动docker-compose报错:Couldn't connect to Docker daemon at http+docker://localhost - is it running?

这个问题出现呢,是因为用户权限问题。解决方法有2个: 切换为root用户执行命令。sudo docker-compose up -d 将当前用户加入到docker组。 sudo gpasswd -a ${USER} docker 然后切换成root用户...

11/23 16:33
17
0
Deploy TiDB Using the Binary

Overview A complete TiDB cluster contains PD, TiKV, and TiDB. To start the database service, follow the order of PD -> TiKV -> TiDB. To stop the database service, follow the ord...

03/13 14:55
125
0
TiDB 源码阅读系列文章(二十)Table Partition

作者:肖亮亮 Table Partition 什么是 Table Partition Table Partition 是指根据一定规则,将数据库中的一张表分解成多个更小的容易管理的部分。从逻辑上看只有一张表,但是底层却是由多个物...

10/29 13:34
22
0
TiDB 在饿了么归档环境的应用

## 背景 随着业务增长,公司数据规模不断膨胀,表变多、变大。一方面占用的磁盘、CPU 等物理资源疾速上涨,另一方面大表性能下降且变更困难。实际上,很多大表的数据无需保留很久,比如某些业...

04/26 10:52
247
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部