How we Hunted a Data Corruption bug in RocksDB
Data was corrupted. A cluster panicked. The crime scene was compromised. What happened? Detective Huang (huachao@pingcap.com) went all lengths to locate the criminal and solved it once and for all.BackgroundAs a distributed open source HT…
TiDB 助力一面数据实现消费领域的决策分析平台
深圳市一面网络技术有限公司(下称:一面数据)是一家为消费领域的领导企业提供实时、精准、全面的数据洞察和决策指导的创新型企业,利用人工智能和算法,进行自然语言处理,语义情感分析,回归预测模型等,帮助客户实现精准产品运营和预测市场变化。一面数…
测试分布式系统的线性一致性
唐刘 译 最近看到一篇文章 http://www.anishathalye.com/2017/06/04/testing-distributed-systems-for-linearizability/,写得非常好,在征得作者 Anish 同意的情况下,决定将其翻译成中文。但为了更好理解,一些地方并不会逐字翻译,也会稍作调整。正确实现一个分布式系统是非常有挑战的一件事情,因为需要很好的处理并发和失败…
演讲实录|马晓宇:When TiDB Meets Spark
本文整理自 TiSpark 项目发起人马晓宇在 Strata Data Conference 上分享的《When TiDB Meets Spark》演讲实录。先介绍我自己,我是 PingCAP 的马晓宇,是 TiDB OLAP 方向的负责人,也是 TiSpark 项目的发起人,主要是做 OLAP 方面的 Feature 和 Product 相…
Linearizability 一致性验证
作者:徐鹏> 上篇文章介绍了 TiDB 如何使用 Jepsen 来进行一致性验证,并且介绍了具体的测试案例,但是并没有对 Jepsen 背后的一致性验证算法做过多介绍。这篇文章将会深入 Jepsen 的核心库 knossos ,介绍 knossos 库所涉及的 Linearizability(线性化)一…
TiDB Pre-GA Release
8 月 30 日,TiDB 发布 Pre-GA 版。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。 TiDB:SQL 查询优化器调整代价模型优化索引选择,支持不同类型字段比较的索引选择支持基于贪心算法的 Join Reorder大量 MySQL 兼容性相关功能支持 N…
「校招贴」为世界做一点微不足道的贡献是一种什么体验?
PingCAP 2018 校招职位现已开放 如果你是 2018 届毕业生,热爱开源,有好奇心,喜欢挑战;想体验纯正的开源和工程师文化;想享受亲自参与打造一款代表未来数据库产品的乐趣;想成为云计算基础软件领域抢手的人才;想接受前辈 One on One 的经验传承;想和简…
当 TiDB 遇上 Jepsen
本篇文章主要介绍 TiDB 是如何使用分布式一致性验证框架 Jepsen 进行一致性验证的。什么是 JepsenJepsen 是由 Kyle Kingsbury 采用函数式编程语言 Clojure 编写的验证分布式系统一致性的测试框架,作者使用它对许多著名的分布式系统(etcd, cockroachdb…)…
TiDB RC4 Release
8 月 4 日,TiDB 正式发布 RC4 版。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。性能方面重点优化了写入速度,计算任务调度支持优先级,避免分析型大事务影响在线事务。SQL 优化器全新改版,查询代价估算更加准确,且能够自动选择…
TiDB 在猿辅导数据快速增长及复杂查询场景下的应用实践
猿辅导是国内拥有最多中小学生用户的在线教育机构,旗下有猿题库、小猿搜题、猿辅导三款在线教育 APP,为用户提供在线题库、拍照搜题、名师在线辅导相关的服务。其中,猿辅导APP已经有超过116万付费用户,提供小学英语、奥数,和初中高中全学科的直播辅导课…
TiSpark (Beta) 用户指南
TiSpark 是 PingCAP 推出的为了解决用户复杂 OLAP 需求的产品。借助 Spark 平台本身的优势,同时融合 TiKV 分布式集群的优势,和 TiDB 一起为用户一站式解决 HTAP (Hybrid Transactional/Analytical Processing)需求。 TiSpark 依赖 TiKV 集群和 PD 的存…
gRPC-rs:从 C 到 Rust
在上篇文章中,我们讲到 TiKV 为了支持 gRPC,我们造了个轮子 gRPC-rs,这篇文章简要地介绍一下这个库。首先我们来聊聊什么是 gRPC。gRPC 是 Google 推出的基于 HTTP2 的开源 RPC 框架,希望通过它使得各种微服务之间拥有统一的 RPC 基础设施。它不仅支持常…
深入了解 gRPC:协议
RC3 版本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语言对接 TiKV 了。gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC…
十分钟成为 Contributor 系列 | 重构内建函数进度报
6 月 22 日,TiDB 发布了一篇如何十分钟成为 TiDB Contributor 系列的第二篇文章,向大家介绍如何为 TiDB 重构 built-in 函数。截止到目前,得到了来自社区的积极支持与热情反馈,TiDB 参考社区 contributors 的建议,对计算框架进行了部分修改以降低社区同…
TiDB Best Practice
本文档用于总结在使用 TiDB 时候的一些最佳实践,主要涉及 SQL 使用、OLAP/OLTP 优化技巧,特别是一些 TiDB 专有的优化开关。 建议先阅读讲解 TiDB 原理的三篇文章(讲存储,说计算,谈调度),再来看这篇文章。前言数据库是一个通用的基础组件,在开发过程中…
为 TiDB 重构 built-in 函数
这是十分钟成为 TiDB Contributor 系列的第二篇文章,让大家可以无门槛参与大型开源项目,感谢社区为 TiDB 带来的贡献,也希望参与 TiDB Community 能为你的生活带来更多有意义的时刻。为了加速表达式计算速度,最近我们对表达式的计算框架进行了重构,这篇…
PingCAP完成B轮融资 华创资本1500万美元领投
今日,全球分布式关系型数据库厂商 PingCAP 宣布完成 1500 万美元的 B 轮融资,本轮融资由华创资本领投,经纬中国、云启资本、峰瑞资本、险峰长青等多家投资机构跟投。本轮融资将帮助 PingCAP 加速技术产品的研发和商业化的推进,并为其全球化战略提供充…
使用 Ansible 安装部署 TiDB
背景知识 TiDB 作为一个分布式数据库,在多个节点分别配置安装服务会相当繁琐,为了简化操作以及方便管理,使用自动化工具来批量部署成为了一个很好的选择。 Ansible 是基于 Python 研发的自动化运维工具,糅合了众多老牌运维工具的优点实现了批量操作系统…
三篇文章了解 TiDB 技术内幕 —— 谈调度
任何一个复杂的系统,用户感知到的都只是冰山一角,数据库也不例外。前两篇文章介绍了 TiKV、TiDB 的基本概念以及一些核心功能的实现原理,这两个组件一个负责 KV 存储,一个负责 SQL 引擎,都是大家看得见的东西。在这两个组件的后面,还有一个叫做 PD(Pl…
黄东旭DTCC2017演讲实录:When TiDB Meets Kubernetes
本文是我司 CTO 黄东旭同学在 DTCC2017 上的《When TiDB Meets Kubernetes》演讲实录,主要分享了关于 TiDB 与 Kubernetes 整合的一些工作。文章较长,且干货满满。以下为演讲实录:今天给大家带来的分享是关于 TiDB 与 Kubernetes 整合的一些工作。在讲之…