Tencent / OpenSourceTalent

143 stars 15 forks source link

2022腾讯犀牛鸟开源人才培养计划-3TS #35

Closed tencent-adm closed 1 month ago

tencent-adm commented 2 years ago

腾讯犀牛鸟开源人才培养计划 Tencent Rhino-bird Open-source Training Program 2021年腾讯首次发布“犀牛鸟开源人才培养计划”,通过打造面向高校学生的开源课程和开源实践培养方案,培育开源人才、普及开源文化,助力开源人才生态的发展。5月30日,2022年度“犀牛鸟开源人才培养计划”正式启动,由教育部计算机类专业教学指导委员会、教育部软件工程专业教学指导委员会、教育部电子信息类专业教学指导委员会、中国信息通信研究院作为联合指导单位,腾讯开源和腾讯高校合作联合主办,培养计划涉及开源基础课程、开源进阶研学和开源项目实战三大阶段培养。本届培养计划除了来自腾讯的热点开源项目之外,还有来自清华大学、北京大学、中国人民大学与腾讯基于联合实验室平台合作开展的开源项目,涉及技术领域包括人工智能、大数据、前端应用、基础平台(操作系统)、数据库等。

各位同学报名即可参加线上开源系列课程,学习开源知识,对话学界及产业界大咖。其中入选开源项目实战的学生将在导师的一对一指导下,利用暑假开展编程实战。

更多项目信息请看官网:https://opensource.tencent.com/summer-of-code

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

项目导师 李海翔,3TS开源项目负责人 陈育兴,3TS开源项目负责人

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

编程任务

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

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

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

预备知识:

  1. 数据库事务处理数据一致性评估验证模型: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 SILO 3 可自行发挥

测试要求:数据库事务处理知识,低配linux机器,C++,python

预备知识:

  1. 多种并发访问控制算法:https://github.com/Tencent/3TS/tree/master/doc/zh
  2. 3TS--分布式事务并发访问控制算法详解--腾讯TDSQL.pdf
  3. 3TS分布式事务处理框架--上--V3.pdf
  4. 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. 掌握各个体系一致性的理念和异同

联系导师 李海翔:blueseali@tencent.com 陈育兴:axingguchen@tencent.com QQ交流群:429468482