未来已来,Google Cloud Spanner 展开 NewSQL 时代
摘要:Google 今日宣布了其 Cloud Spanner 云端数据库服务的 Beta 版测试启动。此次 Google 将 Spanner 商业化,也进一步验证了 NewSQL 作为未来数据库发展方向的正确性。Cloud Spanner 是构建在 Google Cloud Platform(GCP)平台上的全球级分布式关系型数…
TiDB 架构的演进和开发哲学
本文来自 CSDN《程序员》2017 年 2 月的封面报道。对于一个从零开始的数据库来说:选择什么语言,整体架构怎么做,要不要开源,如何去测试…太多的问题需要去考量。在本篇文章中,PingCAP 联合创始人兼 CTO 黄东旭对 TiDB 的开发历程进行了详细简介,为大家…
解析 TiDB 在线数据同步工具 Syncer
摘要: 详细介绍了如何将 MySQL 的数据迁移到 TiDB,并将 TiDB 作为 MySQL 的 Slave 进行数据同步。(作者:崔秋) TiDB 是一个完全分布式的关系型数据库,从诞生的第一天起,我们就想让它来兼容 MySQL 语法,希望让原有的 MySQL 用户 (不管是单机的 MySQL,…
TiDB 增加 MySQL 内建函数
本文档用于描述如何为 TiDB 新增 builtin 函数。首先介绍一些必需的背景知识,然后介绍增加builtin 函数的流程,最后会以一个函数作为示例。(作者:申砾)背景知识SQL 语句在 TiDB 中是如何执行的。SQL 语句首先会经过 parser,从文本 parse 成为 AST(抽…
Loader 使用文档
作者:申砾Loader 是什么Loader是由 PingCAP 开发的数据导入工具,可以用于向 TiDB 中导入数据,也可以用于向 MySQL 中导入数据。本篇文章将详细介绍 Loader 的使用方法。为什么我们要做这个东西当数据量比较大的时候,如果用 mysqldump 这样的工具迁移数据…
TiKV 源码解析系列——Placement Driver
本系列文章主要面向 TiKV 社区开发者,重点介绍 TiKV 的系统架构,源码结构,流程解析。目的是使得开发者阅读之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中。 TiKV 是一个分布式的 KV 系统,它采用 Raft 协议保证数据的强一致性,同时…
TiKV 源码解析系列——multi-raft 设计与实现
本系列文章主要面向 TiKV 社区开发者,重点介绍 TiKV 的系统架构,源码结构,流程解析。目的是使得开发者阅读之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中。 需要注意,TiKV 使用 Rust 语言编写,用户需要对 Rust 语言有一个大概的了…
TiKV 源码解析系列——如何使用 Raft
本系列文章主要面向 TiKV 社区开发者,重点介绍 TiKV 的系统架构,源码结构,流程解析。目的是使得开发者阅读之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中。需要注意,TiKV 使用 Rust 语言编写,用户需要对 Rust 语言有一个大概的了…
TiDB RC1 Release
12 月 23 日,分布式关系型数据库 TiDB 正式发布 RC1。 TiKV:提升写入速度降低磁盘空间占用支持百 TB 级别数据提升稳定性,集群规模支持 200 个节点提供 Raw KV API,以及 Golang clientPD:PD 调度策略框架优化,策略更加灵活合理添加 label 支持,支持跨…
分布式系统测试那些事儿——信心的毁灭与重建
本话题系列文章整理自 PingCAP NewSQL Meetup 第 26 期刘奇分享的《深度探索分布式系统测试》议题现场实录。文章较长,为方便大家阅读,会分为上中下三篇,本文为下篇。(阅读上篇和中篇,戳这里:分布式系统测试那些事儿——理念;分布式系统测试那些事儿…
分布式系统测试那些事儿——错误注入
本话题系列文章整理自 PingCAP NewSQL Meetup 第 26 期刘奇分享的《深度探索分布式系统测试》议题现场实录。文章较长,为方便大家阅读,会分为上中下三篇,本文为中篇。接上篇:当然测试可能会让你代码变得没有那么漂亮,举个例子: 这是知名的 Kubernetes …
分布式系统测试那些事儿——理念
本话题系列文章整理自 PingCAP NewSQL Meetup 第 26 期刘奇分享的《深度探索分布式系统测试》议题现场实录。文章较长,为方便大家阅读,会分为上中下三篇,本文为上篇。今天主要是介绍分布式系统测试。对于 PingCAP 目前的现状来说,我们是觉得做好分布式系…
TiKV 的 MVCC 机制
并发控制简介事务隔离在数据库系统中有着非常重要的作用,因为对于用户来说数据库必须提供这样一个“假象”:当前只有这么一个用户连接到了数据库中,这样可以减轻应用层的开发难度。但是,对于数据库系统来说,因为同一时间可能会存在很多用户连接,那么许…
Distributed Database Containers Deployment and Orchestration
本文为 11 月 12 日,PingCAP 商业产品工具方向负责人刘寅分享的《分布式数据库 TiDB 容器化部署和编排实践》内容实录,为大家详细讲解如何在 K8s 上完成一个分布式数据库系统的容器化部署和编排。:)想必大家都有体会,K8s 上对于有状态的服务编排是一件比…