2022腾讯犀牛鸟开源人才培养计划

开源项目介绍

滑至文末报名参与开源人才培养计划

提交 3TS 项目Proposal

3TS 项目介绍

腾讯公司CynosDB(TDSQL)团队与中国人民大学数据工程与知识工程教育部重点实验室,联合研制的面向数据库事务处理的验证系统。该系统旨在通过设计和构建事务(包括分布式事务)处理统一框架,并通过框架提供的访问接口,方便使用者快速构建新的并发控制算法;通过验证系统提供的测试床,可以方便用户根据应用场景的需要,对目前主流的并发控制算法在相同的测试环境下进行公平的性能比较,选择一种最佳的并发控制算法。目前,验证系统已集成13种主流的并发控制算法,提供了TPC-C、PPS、YCSB等常见基准测试。3TS还进一步提供了一致性级别的测试基准,针对现阶段分布式数据库系统的井喷式发展而造成的系统选择难问题,提供一致性级别判别与性能测试比较。

3TS 项目导师介绍

李海翔

3TS开源项目负责人

导师寄语:

Tencent Transaction Processing Testbed System (简称 3TS ),是腾讯公司 TDSQL 团队与中国 人民大学数据工程与知识工程教育部重点实验室,联合研制的面向数据库事务处理的验证系统。可以方便用户根据应用场景的需要,对目前主流的并发控制算法在相同的测试环境下进行公平的性能比较,选择一种最佳的并发控制算法。目前,验证系统已集成十几种主流的并发控制算法,提供了 TPC C 、 YCSB 等常见基准测试。我们还致力于1,方便设计,测试,验证新的控制算法,从而提高算法性能;2,方便检验算法的正确性,尤其保证是事务的一致性。

陈育兴

3TS开源项目负责人

事务处理是数据库的核心模块,我们致力于高效、正确的并发控制算法研发。此项目是关于数据库,分布式系统,大数据管理相关的核心技术研发。欢迎感兴趣的同学加入探讨,希望大家可以共同学习,一起进步,合作方式可以有以下但不限于:工程应用,工程研发,学术研究,撰写论文。

3TS 任务实战项目

编程任务

题目一:基于3TS-Coo框架,测试数据库的一致性

目标对象:数据库爱好者、初学者(会SQL语句)、DBA等

内容
此题目是判断数据库事务并发控制算法的执行正确性(一致性),核心任务是测试数据库的一致性,如(不限制于如下数据库,可以是3TS测过之外的任何数据库):
1 YugaByte DB的一致性测试与验证
2 Cassandra
3 FaunaDB
4 Redis-Raft
5 Dgraph

基本要求:

数据库事务处理知识,linux机器,C++,python, SQL

预备知识:

数据库事务处理数据一致性评估验证模型:

https://github.com/Tencent/3TS/tree/coo-consistency-check/

预期结果:
1.初级:基于3TS-Coo框架部署代码,部署单机数据库(e.g., PostgreSQL, MySQL)的一致性测试与验证
2.中级:熟悉3TS-Coo的框架、输出阅读文档、输出功能文档完善开源项目文档
3.高级:使用3TS-Coo的框架,测试数据库(我们测试之外的)的一致性

收获:

1.熟悉数据库事务处理技术的一致性的理念

2.掌握各个体系一致性的理念和异同

推荐文章:
一致性检测模型:
Adya model:Atul Adya and Barbara H. Liskov. 1999. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. (1999)
Elle:Peter Alvaro and Kyle Kingsbury. 2020. Elle: Inferring Isolation Anomalies from Experimental Observations. Proc. VLDB Endow. 14, 3 (2020), 268–280. https://doi.org/10.5555/3430915.3442427

题目二:基于3TS实现并发访问控制算法

目标对象:

数据库内核技术爱好者、数据库内核引擎研发者、高年级本科或研究生等

内容:
此题目是研究数据库事务并发控制算法的执行性能,核心任务是实现一个并发控制算法(3TS实现之外的),如:
1.2PL Wound-Wait
2.TicToc

3.可自行发挥

测试要求:

数据库事务处理知识,linux机器(4核8G以上机器),C++,python

预备知识:

多种并发访问控制算法:

https://github.com/Tencent/3TS/tree/master/doc/zh

3TS--分布式事务并发访问控制算法详解--腾讯TDSQL.pdf

3TS分布式事务处理框架--上--V3.pdf

3TS分布式事务处理框架--下--V3.pdf

预期结果:
1.初级:部署代码,完成并发控制算法测试,对比各算法差异,输出分析报告
2.中级:熟悉3TS的框架、输出阅读文档、输出功能文档完善开源项目文档
3.高级:基于3TS实现一个并发访问控制算法(该算法不在3TS之列),性能好于3TS提供的算法

收获:

1.熟悉数据库事务处理理论和技术

2.掌握经典的并发访问控制算法

推荐文章:
性能测试框架:
DBX1000: Xiangyao Yu, George Bezerra, Andrew Pavlo, Srinivas Devadas, and Michael Stonebraker. 2014. Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores. Proc. VLDB Endow. 8, 3 (2014), 209–220.
Deneva: Rachael Harding, Dana Van Aken, Andrew Pavlo, and Michael Stonebraker. 2017. An Evaluation of Distributed Concurrency Control. Proc. VLDB Endow. 10, 5 (2017), 553–564.

推荐中文书籍:
《数据库事务处理的艺术:事务管理与并发控制》李海翔

收获:

1.熟悉数据库事务处理技术的一致性的理念

2.掌握各个体系一致性的理念和异同

扫码填写问卷报名,提交项目proposal

加入开发实战

与导师一起成长这一夏

3TS 开源项目交流群

更多开源项目信息,

尽在“腾讯犀牛鸟开源人才社区

扫码加入,解锁所有学习资料

🔍学生指南Q&A:https://github.com/Tencent/OpenSourceTalent/issues/14

🔍官方QQ群:

859260607 (加群请备注学校+专业)

腾讯犀牛鸟开源人才培养计划官网

https://opensource.tencent.com/summer-of-code

(点击文末阅读原文直接访问)

合作或疑问欢迎联系:tencentopen@tencent.com

文章来源于腾讯云开发者社区,点击查看原文