黄东旭解析 TiDB 的核心优势
509
2020-02-24
内容来源:http://mp.weixin.qq.com/s?__biz=MzI3NDIxNTQyOQ==&mid=2247490912&idx=1&sn=d36d4cc5495d87e574a70983588306d2&chksm=eb163a0adc61b31c8326c0840d28d48a4f0edde9b721682036bf69a2714a9b4e3bd4eef5958d#rd
互联网时代,从衣食住行到社交娱乐,几乎所有的业务都离不开数据库服务的支撑,可以说关系数据库是信息社会中最无可替代的基础设施。作为一个基石组件,数据库系统之所以有重要的价值,其本质的原因在于数据库系统提供事务支持。
另外,系统的处理能力、吞吐量,或者说系统的运行成本,都直接决定于事务引擎处理速度和能力。
简而言之,数据库系统需要提供事务保证,而且要高效地处理并发事务。更大的挑战在于,如何在基于不可靠硬件的分布式环境下,实现可靠而高效的分布式事务,提供更强高效的 OLTP 处理能力。
我们在做什么?
TiDB 从一开始就定位于分布式的关系数据库,TiDB 架构组一直致力于 TiDB 事务引擎的架构设计和研发工作,不断解决分布式事务的各种挑战和难题,提升 TiDB 稳定性和 OLTP 处理能力,其中包括但不限于:
1. 实现完整的基于 Percolator 论文的分布式事务引擎,确保分布式语境下事务原子性和一致性。将 TiDB、PD、TiKV 等分布式组件有效整合,实现基本的分布式事务原语,即两阶段提交的各个基本组成部分,对上层提供完整的事务语义接口;
2. 并发事务的协调和处理,确保快照读取(Snapshot Isolation)的事务隔离级别。支持数据多版本(MVCC),实现数据历史版本的控制和清理;
3. 协调事务处理资源使用,提升系统吞吐量和资源利用率,支持量级更大的事务处理能力(GB 级别)和并发控制,提供更佳的资源调度策略;
4. 提供不同的加锁模型适配不同的业务场景,同时支持乐观锁和悲观锁的加锁模型,实现高效的优先级评估,等待唤醒,分布式死锁检测等机制;
5. 尝试不同的提交策略,获取更好的事务处理性能,实现组提交、并行提交、一阶段提交等优化策略,提升系统响应能力和吞吐量,降低延迟;
6. 处理分布式环境的各种异常(操作系统,磁盘,网络等),保障事务引擎的正确性和性能,实现分布式的容灾测试和异常测试,覆盖分布式环境下所有可能的异常分支,确保在各种异常情况下,分布式事务的正确推进和执行。
除此之外,架构组致力于探索新的事务和存储技术,包括但不限于:
1. 更强大的日志模块,在实现分布式一致性协议,提供持久化保证的基础上,实现更好的性能和吞吐能力;
2. 更强大 TiDB OLTP 处理能力,更好的复用执行计划,支持编译、向量化等执行方式,更友好的 cache 使用和更佳的指令执行效率等;
3. 更前沿的存储技术,新的 lsm 存储引擎,新的索引结构、缓存策略和算法、新的冻结和合并处理机制等,提供更好的读写性能,以及更优的内存,磁盘空间利用率。
期待你的加入!
如果你对下面描述的任何一项,心有戚戚焉——
对分布式技术充满热情,对于 CAP 理论、一致性协议有独到的理解,热衷于解决相关的挑战和难题;
对于事务处理有较深的认识,对于传统数据库的事务、存储引擎实现有深入探究,对于事务异常,并发控制,隔离级别等有独到的理解;
有存储引擎工作的相关经验,对于索引结构,缓存策略,文件系统等有实践经历;
对于分布式执行,有创新的想法,深谙 OLTP 性能调优之道;
对于操作系统,数据库有浓厚的兴趣,期待加入 NewSQL 的浪潮。
那么, 欢迎加入 TiDB Architecture Team!和我们一起挑战在不可靠的硬件环境下实现可靠的数据库服务的终极难题,打造新一代的海量数据存储系统,实现更低成本更高性能的分布式关系数据库服务。这里是一个数据库技术和分布式技术的爱好者聚集地,高效快乐的工作的同时,你可以收获满满的个人成长,在基础核心技术领域遨游,尽情放飞想象力。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。