Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024腾讯犀牛鸟开源人才培养计划—3TS #47

Open
tencent-adm opened this issue Jun 13, 2023 · 0 comments
Open

2024腾讯犀牛鸟开源人才培养计划—3TS #47

tencent-adm opened this issue Jun 13, 2023 · 0 comments

Comments

@tencent-adm
Copy link
Member

tencent-adm commented Jun 13, 2023

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

欢迎广大高校学子加入2024腾讯犀牛鸟开源人才培养计划!腾讯犀牛鸟开源人才培养计划面向全国高校学生发布实践及研学项目,由教育部计算机类专业教学指导委员会、教育部软件工程专业教学指导委员会、教育部电子信息类专业教学指导委员会作为联合指导单位,腾讯开源和腾讯高校合作联合主办,表现优异的高校学生将有机会获得腾讯颁发的荣誉证书、现金奖励以及腾讯特色礼包。

期待同学们在本次研学旅程中,和腾讯一起探索未知、学习技术,让开源伴你成长,收获满满一夏!

更多项目信息请看:腾讯开源活动官网腾讯开源研学基地

项目简介

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

项目导师

陈育兴,3TS开源项目负责人

导师寄语

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

培养概览

1️⃣ 参与“腾讯开源基础课程”
完成考试可获得《腾讯开源研学结课证书》

2️⃣ 参与“腾讯开源issue实战”
完成任意issue即可获得专属《腾讯开源实战证书》+ 腾讯周边精美礼包一套。其中完成issue难度对应礼包大小。

3️⃣ 参与“腾讯开源课题实战”
任务奖金从6K、8K到12K不等、腾讯犀牛鸟研学专属《优秀学生证书》、全球限量《腾讯开源贡献者证书》

如何贡献

参与“腾讯开源issue实战”

进入“研学基地”,参与“腾讯开源issue实战”,选择你感兴趣项目的 Issue 任务,认领和完成它。6月28日开放 issue ,学生可无门槛参与和认领

1、如果你愿意解决issue,请在腾讯开源研学基地「领取issue任务」
2、Fork 到个人的仓库下
3、在个人仓库解决完对应的任务后,提交 PR 至 Issue 所在仓库的 master 分支
4、PR提交后,项目导师将进行 code review, PR 被合并后即视为任务完成
5、如有任何疑问可以在评论区留言或者邮件至联络人

参与“腾讯开源课题实战”

时间安排:6月28日至7月28日为活动报名期,8月12日公布入围名单,8月12日至10月12日为课题实战期,通过筛选的学生即可参与此模块

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

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

内容:
此题目是判断数据库事务的执行正确性(一致性),核心任务是测试数据库的一致性,包括但不限于如下数据库(可以是3TS测过之外的任何数据库):
1 YugabyteDB
2 Cassandra
3 FaunaDB
4 Redis-Raft
5 MariaDB
6 Dgraph

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

预备知识:
1.数据库事务处理数据一致性评估验证模型:https://github.com/Tencent/3TS/tree/coo-consistency-check/
2.以往测试结果:https://coo3ts.github.io/result/

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

收获:
1.熟悉数据库事务处理技术与一致性的概念
2.掌握各种体系下一致性的概念及其异同
推荐文章:
一致性模型与检测技术:
Atul Adya and Barbara H. Liskov. 1999. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. (1999)

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

Kaile Huang, Si Liu, Zhenge Chen, Hengfeng Wei, David Basin, Haixiang Li, and Anqun Pan. 2023. Efficient Black-Box Checking of Snapshot Isolation in Databases. Proc. VLDB Endow. 16, 6 (February 2023), 1264–1276. https://doi.org/10.14778/3583140.3583145

Cheng Tan, Changgeng Zhao, Shuai Mu, and Michael Walfish. 2020. COBRA: making transactional key-value stores verifiably serializable. In Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation (OSDI'20). USENIX Association, USA, Article 4, 63–80.

Zu-Ming Jiang, Si Liu, Manuel Rigger, Zhendong Su: Detecting Transactional Bugs in Database Engines via Graph-Based Oracle Construction. OSDI 2023: 397-417

Wensheng Dou, Ziyu Cui, Qianwang Dai, Jiansen Song, Dong Wang, Yu Gao, Wei Wang, Jun Wei, Lei Chen, Hanmo Wang, Hua Zhong, Tao Huang: Detecting Isolation Bugs via Transaction Oracle Construction. ICSE 2023: 1123-1135

联系导师

陈育兴:[email protected]
QQ交流群:429468482

💁🏻‍♀️ 如有项目任何疑问,欢迎加入腾讯开源犀牛鸟官方QQ群859260607,期待你来!

@tencent-adm tencent-adm changed the title 2023腾讯犀牛鸟开源人才培养计划—3TS 2024腾讯犀牛鸟开源人才培养计划—3TS Jun 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant