TiDB Pre-GA Release

2017-09-01
阅读 1 分钟
2.3k
8 月 30 日,TiDB 发布 Pre-GA 版。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。 TiDB: SQL 查询优化器 调整代价模型 优化索引选择,支持不同类型字段比较的索引选择 支持基于贪心算法的 Join Reorder 大量 MySQL 兼容性相关功能 支持 Natural Join 完成 JSON 类型支持 (Experimental),包括对...

Linearizability 一致性验证

2017-08-22
阅读 6 分钟
5.1k
上篇文章介绍了 TiDB 如何使用 Jepsen 来进行一致性验证,并且介绍了具体的测试案例,但是并没有对 Jepsen 背后的一致性验证算法做过多介绍。这篇文章将会深入 Jepsen 的核心库 knossos,介绍 knossos 库所涉及的 Linearizability(线性化)一致性验证算法。

TiDB RC4 Release

2017-08-07
阅读 1 分钟
2k
8 月 4 日,TiDB 正式发布 RC4 版。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。性能方面重点优化了写入速度,计算任务调度支持优先级,避免分析型大事务影响在线事务。SQL 优化器全新改版,查询代价估算更加准确,且能够自动选择 Join 物理算子。功能方面进一步 MySQL 兼容性。 同时为了更好...

TiDB 在猿辅导数据快速增长及复杂查询场景下的应用实践

2017-08-02
阅读 2 分钟
3k
猿辅导是国内拥有最多中小学生用户的在线教育机构,旗下有猿题库、小猿搜题、猿辅导三款在线教育 APP,为用户提供在线题库、拍照搜题、名师在线辅导相关的服务。其中,猿辅导APP已经有超过116万付费用户,提供小学英语、奥数,和初中高中全学科的直播辅导课程,全国任何地区的中小学生,都可以享受在家上北京名师辅导课...

TiSpark (Beta) 用户指南

2017-07-27
阅读 4 分钟
4k
TiSpark 是 PingCAP 推出的为了解决用户复杂 OLAP 需求的产品。借助 Spark 平台本身的优势,同时融合 TiKV 分布式集群的优势,和 TiDB 一起为用户一站式解决 HTAP (Hybrid Transactional/Analytical Processing)需求。 TiSpark 依赖 TiKV 集群和 PD 的存在。当然,TiSpark 也需要你搭建一个 Spark 集群。本文简单介绍...

gRPC-rs:从 C 到 Rust

2017-07-19
阅读 7 分钟
3.6k
在上篇文章中,我们讲到 TiKV 为了支持 [gRPC],我们造了个轮子 [gRPC-rs],这篇文章简要地介绍一下这个库。首先我们来聊聊什么是 gRPC。gRPC 是 Google 推出的基于 [HTTP2] 的开源 RPC 框架,希望通过它使得各种微服务之间拥有统一的 RPC 基础设施。它不仅支持常规的平台如 Linux,Windows,还支持移动设备和 IoT,现有...

深入了解 gRPC:协议

2017-07-18
阅读 6 分钟
5.6k
gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC 是如何基于 HTTP/2 构建的。

TiDB Best Practice

2017-07-05
阅读 6 分钟
3.3k
本文档用于总结在使用 TiDB 时候的一些最佳实践,主要涉及 SQL 使用、OLAP/OLTP 优化技巧,特别是一些 TiDB 专有的优化开关。建议先阅读讲解 TiDB 原理的三篇文章(讲存储,说计算,谈调度),再来看这篇文章。

TiDB RC3 Release

2017-06-26
阅读 2 分钟
3.1k
6 月 16 日,TiDB 正式发布 RC3 版。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。性能方面重点优化了负载均衡调度策略和流程。功能方面进一步完善权限管理功能,用户可以按照 MySQL 的权限管理方式控制数据访问权限。另外DDL 的速度也得到显著的提升。 同时为了简化运维工作,开源了 TiDB-Ansi...

十分钟成为 Contributor 系列 | 为 TiDB 重构 built-in 函数

2017-06-23
阅读 7 分钟
2.5k
这是十分钟成为 TiDB Contributor 系列的第二篇文章,让大家可以无门槛参与大型开源项目,感谢社区为 TiDB 带来的贡献,也希望参与 TiDB Community 能为你的生活带来更多有意义的时刻。

使用 Ansible 安装部署 TiDB

2017-06-09
阅读 4 分钟
6.1k
TiDB 作为一个分布式数据库,在多个节点分别配置安装服务会相当繁琐,为了简化操作以及方便管理,使用自动化工具来批量部署成为了一个很好的选择。

三篇文章了解 TiDB 技术内幕 —— 谈调度

2017-06-08
阅读 5 分钟
5.1k
前两篇文章介绍了 TiKV、TiDB 的基本概念以及一些核心功能的实现原理,这两个组件一个负责 KV 存储,一个负责 SQL 引擎,都是大家看得见的东西。在这两个组件的后面,还有一个叫做 PD(Placement Driver)的组件,虽然不直接和业务接触,但是这个组件是整个集群的核心,负责全局元信息的存储以及 TiKV 集群负载均衡调度。

黄东旭:When TiDB Meets Kubernetes

2017-06-03
阅读 9 分钟
2.7k
本文是我司 CTO 黄东旭同学在 DTCC2017 上的《When TiDB Meets Kubernetes》演讲实录,主要分享了关于 TiDB 与 Kubernetes 整合的一些工作。文章较长,且干货满满。

演讲实录|唐刘:Rust in TiKV

2017-05-31
阅读 10 分钟
3.3k
Before we begin, let me introduce myself. My name is TangLiu, the Chief Architect of PingCAP. Before I joined PingCAP, I had worked at Kingsoft and Tencent. I love open source and have developed some projects like LedisDB, go-mysql, etc…

三篇文章了解 TiDB 技术内幕 —— 说计算

2017-05-27
阅读 6 分钟
9.9k
上一篇介绍了 TiDB 如何存储数据,也就是 TiKV 的一些基本概念。本篇将介绍 TiDB 如何利用底层的 KV 存储,将关系模型映射为 Key-Value 模型,以及如何进行 SQL 计算。

基于 Tile 连接 Row-Store 和 Column-Store

2017-05-18
阅读 5 分钟
4.4k
在之前的 Kudu 的文章里面,我已经提到过,行列混存是一个非常有意思的研究方向,因为不同的存储方式有不同的针对应用场景,但作为技术人员,折腾是天性,所以大家都在研究如何融合行存和列存,让一个服务能尽量满足大部分应用需求,而这也是 TiDB 在努力的方向。

三篇文章了解 TiDB 技术内幕——说存储

2017-05-18
阅读 5 分钟
4.5k
数据库、操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石。其中数据库更靠近应用层,是很多业务的支撑。这一领域经过了几十年的发展,不断的有新的进展。很多人用过数据库,但是很少有人实现过一个数据库,特别是实现一个分布式数据库。了解数据库的实现原理和细节,一方面可以提高个人技术,对构建其他...

Kudu:一个融合低延迟写入和高性能分析的存储系统

2017-05-09
阅读 9 分钟
4.8k
Kudu 是一个基于 Raft 的分布式存储系统,它致力于融合低延迟写入和高性能分析这两种场景,并且能很好的嵌入到 Hadoop 生态系统里面,跟其他系统譬如 Cloudera Impala,Apache Spark 等对接。

让拆库拆表见鬼去吧! MySQL 扩展新玩法

2017-05-08
阅读 3 分钟
3.9k
随着数据量的激增,单机数据库存不下了,怎么办?这几乎是所有互联网公司都会遇到的问题。在过去,一直没有一个优雅的解决方案从根本上解决传统关系型数据库扩展性问题,而通常的做法是业务层要把代码改个遍,如果业务上已经用了 MySQL ,没有办法,只能去拆库拆表,动中间件,而这个过程对 DBA 是痛苦的,就算不死也要脱...

黄东旭:Cloud-Native 的分布式数据库架构与实践

2017-05-08
阅读 5 分钟
2.5k
19 日,我司 CTO 黄东旭同学在全球云计算开源大会上,发表了《Cloud-Native 的分布式数据库架构与实践》主题演讲,以下为演讲实录~~

TiDB,为SQL注入分布式可扩展性

2017-05-08
阅读 2 分钟
3k
时下,一大批新型数据库急剧涌现,诸如 Google Spanner 、 FaunaDB 、 Cockroach 以及 TimeScaleDB 等等,这些数据库都在专注解决影响标准SQL的规模问题。现在,另一位来自中国北京的竞争者—— PingCAP 开源的 TiDB 项目,旨在维持 ACID 事务的同时,使 SQL 也具备 NoSQL 系统的可伸缩性。

十分钟成为 TiDB Contributor | 添加內建函数

2017-03-15
阅读 4 分钟
4.1k
最近我们对 TiDB 代码做了些改进,大幅度简化了添加內建函数的流程,这篇教程为大家分享如何为 TiDB 新增 builtin 函数。首先介绍一些必需的背景知识,然后介绍增加 builtin 函数的流程,最后会以一个函数作为示例。

TiKV 源码解析系列 - Raft 的优化

2017-03-13
阅读 3 分钟
4.8k
摘要: 本系列文章主要面向 TiKV 社区开发者,重点介绍 TiKV 的系统架构,源码结构,流程解析。目的是使得开发者阅读之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中。本文是本系列文章的第六章节。重点介绍 TiKV 中 Raft 的优化。(作者:唐刘)

日均数据量千万级,MySQL、TiDB 两种存储方案的落地对比

2017-03-10
阅读 3 分钟
38.7k
盖娅广告匹配系统(GaeaAD)用于支撑盖娅互娱全平台实时广告投放系统,需要将广告数据和游戏 SDK 上报的信息进行近实时匹配,本质上来说需要实时的根据各个渠道的广告投放与相应渠道带来的游戏玩家数据进行计算,实现广告转化效果分钟级别的展现及优化。

TiDB 的正确使用姿势

2017-03-10
阅读 4 分钟
41.5k
最近这几个月,特别是 TiDB RC1 发布后,越来越多的用户已经开始测试起来,也有很多朋友已经在生产环境中使用,我们这边也陆续的收到了很多用户的测试和使用反馈。非常感谢各位小伙伴和早期用户的厚爱,而且看了这么多场景后,也总结出了一些 TiDB 的使用实践 (其实 Spanner 的最佳实践大部分在 TiDB 中也是适用的,MySQ...

TiKV 源码解析系列 - Lease Read

2017-02-22
阅读 4 分钟
2.7k
本系列文章主要面向 TiKV 社区开发者,重点介绍 TiKV 的系统架构,源码结构,流程解析。目的是使得开发者阅读之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中。本文是本系列文章的第五章节。作者:唐刘

TiDB 架构的演进和开发哲学

2017-02-08
阅读 6 分钟
10k
本文来自 CSDN《程序员》2017 年 2 月的封面报道。对于一个从零开始的数据库来说:选择什么语言,整体架构怎么做,要不要开源,如何去测试…太多的问题需要去考量。

解析 TiDB 在线数据同步工具 Syncer

2017-01-19
阅读 7 分钟
8.3k
TiDB 是一个完全分布式的关系型数据库,从诞生的第一天起,我们就想让它来兼容 MySQL 语法,希望让原有的 MySQL 用户 (不管是单机的 MySQL,还是多机的 MySQL Sharding)都可以在基本不修改代码的情况下,除了可以保留原有的 SQL 和 ACID 事务之外,还可以享受到分布式带来的高并发,高吞吐和 MPP 的高性能。

TiDB 增加 MySQL 内建函数

2017-01-13
阅读 4 分钟
2.8k
本文档用于描述如何为 TiDB 新增 builtin 函数。首先介绍一些必需的背景知识,然后介绍增加builtin 函数的流程,最后会以一个函数作为示例。

TiDB 源码初探

2017-01-11
阅读 7 分钟
8k
本文档面向 TiDB 社区开发者,主要介绍 TiDB 的系统架构、代码结构以及执行流程。 目的是使得开发者阅读文档后,可以对 TiDB 项目有一个整体的了解,更好的参与进来。首先会介绍一下大体的结构以及 Golang 包的结构,然后会介绍内部的执行流程,最后会对优化器、执行器这两个最重要的组件做一些说明。