TiDB 学习课程 Lesson-7
本节课程主要学习的是 TiDB 的 事务原理。由于 TiDB 的分布式部署的特性,其事务的实现主要借鉴了 Percolator 中分布式事务的实现方式,将 TiDB 与 TiKV 结合起来,共同完成分布式事务的任务。
本文中涉及到的图片来源,都来自 PingCAP 官方网站。
本节课程主要学习的是 TiDB 的 事务原理。由于 TiDB 的分布式部署的特性,其事务的实现主要借鉴了 Percolator 中分布式事务的实现方式,将 TiDB 与 TiKV 结合起来,共同完成分布式事务的任务。
本文中涉及到的图片来源,都来自 PingCAP 官方网站。
本节课程主要学习的是 TiDB 的 planer 模块,planer 模块的主要功能是将 AST 转化为实际的执行计划,在这当中,包含了两个阶段的优化过程:逻辑优化、物理优化。优化过后的执行计划可以直接构造对应的 Executor 来执行(回忆 Executor 章节的火山模型)。
本文中涉及到的图片来源,都来自 PingCAP 官方网站。
这一节,我们涉及的知识是 TiDB 如何实现 DDL。
本次课程主要涉及 TiDB 中的 Executor 组件。
本节课程作业,我们会采用多种 profile 工具来对 TiDB 的性能进行分析,寻找其性能瓶颈,并根据分析结果来给出优化建议。
主要内容如下:
这一节,我们需要对一个完整的 TiDB 集群进行性能测试,为了实现这一目标,本文会通过以下几个步骤来介绍如何从零开始实现 TiDB 的性能测试:
今年了解到 TiDB 这样一个 HTAP 数据库,在 Github 上面热度超高,再加上国人开发与维护,因此产生了很大的兴趣。
正好社区搞了一个《高性能 TiDB 课程学习计划》通过 12 节课来使学员能达到 Committer 的水平,因此就报名参加啦。
第一节课的课程作业是尝试在本地启动一个最小集群,并在开启事务时打印 “hello transaction” 并将这一过程写成一片文章,因此本文将会主要描述这一过程。
近期所在的项目,在进行近 4 个月的紧张交付后,与客户一起安排并进行了一次发布上线。在上线过程中出现了一个较为严重的事故,好在没有对客户造成太大的损失,本文期望针对完整的事件进行复盘与反思,以加强自己对线上环境的敬畏。
本文是对 Pete Hodgson 的文章 Feature Toggles (aka Feature Flags) 的全文翻译,一切版权归原作者所有。
Feature Toggles(也经常被称为 Feature Flags)是一项强大的技术,它允许团队不改动代码就能改变系统的行为。Feature Toggles 分为了许多种使用类别,当实现和管理他们时,考虑这些类别是十分重要的。Toggle 会引入复杂性。我们可以通过更聪明的实现方法与合适的工具来管理 Toggle 配置,以此来使 Toggle 带来的复杂性可控,但是我们也应该限制系统中 Toggle 的总量。
“Feature Toggling” 是一组模式,它能帮助团队更快且更安全的将新功能交付给用户。在下文中,我们会以一个小故事开头,来展现一些 Feature Toggling 适用的典型场景。之后我们会深入细节,这包括有助于团队成功实施 Feature Toggle 的特定模式与实践。
Feature Toggles 也被称为 Feature Flags, Feature Bits, 或 Feature Flippers。他们都是同一类技术的同义词。 在下文中我会交替使用 feature toggles 和 feature flags。
Guava 的common.graph
库对图结构进行了建模,图,是一种包含实体及其之间关系的数据结构。这种结构的例子包括
web
页面与超链接、科学家和他们写的论文、机场以及机场之间的航路、以及个人与其家庭关系(谱系树)。图结构的目的在于能提供一种通用且可扩展的语言来描述上述这类数据。