Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

开源软件供应链点亮计划2020,任务列表

中文版本(待更新)

项目题目

项目描述

难度

导师名称/联系方式

项目产出要求

项目技术要求

相关仓库地址

报名学生

官网优化根据项目团队要求,重新设计并实现新的官网。

张亮

zhangliang@apache.org


  1. 符合Apache的页面要求
  2. 官网首页支持内容滑动
  3. 支持官方文档PDF导出
  4. 重新设计社区和下载页面
  5. 能够使用Hugo编译成为静态网站
  6. 仅允许使用开源的风格资源,或自主设计
  7. 支持Markdown风格的博客和文章
  8. 支持第三方视频、音频资源
  1. 美工设计
  2. 页面布局
  3. Hugo
  4. Markdown
https://github.com/apache/shardingsphere/tree/master/docs
完善SQL语法解析模块参考PostgreSQL数据库的SQL语法,完善Sharding Parser模块有关PostgreSQL的语法定义

潘娟

panjuan@apache.org


  1. 符合ShardingSphere SQL语法定义风格
  2. 依据PostgreSQL官网的DCL SQL语法定义,校对Sharding Parser的语法定义
  3. 依据PostgreSQL官网的DAL SQL语法定义,校对Sharding Parser的语法定义
  4. 依据PostgreSQL官网的DDL SQL语法定义,校对Sharding Parser的语法定义
  5. 依据PostgreSQL官网的DML SQL语法定义,校对Sharding Parser的语法定义
  1. 能够使用Java编程语言
  2. 熟悉正则表达式
  3. 了解Antlr基本运行原理
  4. 了解如何编写Antlr的g4语法文件
https://github.com/apache/shardingsphere
基于Catalyst Optimizer实现SQL查询优化器参考Spark SQL的查询优化器基于Catalyst Optimizer实现ShardingSphere的查询优化器提高ShardingSphere SQL查询性能

蒋晓峰

nicholasjiang@apache.org

1.基于ShardingSphere Parser模块利用Rule Based(基于经验规则RBO)/Cost Based(基于代价CBO)的优化方法,对逻辑执行计划进行优化

2.ShardingSphere SQL查询性能有一定程度的提高

1.熟悉关系代数

2.熟悉常见的查询优化技术:查询重用(ReuseSubquery/ReuseExchange等)/RBO/CBO


实现MySQL KILL语句的功能通过实现MySQL KILL语句的功能,中断当前客户端请求,释放ShardingSphere-Proxy后端资源

张永伦

zhangyonglun@apache.org

  1. 实现MySQL KILL Statement的语法解析
  2. 增加KillStatement处理流程
  3. 通过MySQL握手流程,管理processList ID
  4. 根据语法解析得到的ID及SQL请求的路由结果,释放后端资源
  5. 向客户端返回对应的Response消息
  1. 熟悉Java
  2. 熟悉Netty
  3. 熟悉MySQL及数据库连接池
  4. 熟悉TCP/IP协议及Wireshark等抓包工具
  5. 了解Antlr基本运行原理
https://github.com/apache/shardingsphere
实现弹性伸缩输出支持 ShardingSphere-JDBC弹性伸缩输出支持 ShardingSphere-JDBC后,可以独立完成数据迁移,不需要依赖 ShardingSphere-Proxy欧阳文 ouyangwen@apache.org1. 实现通过界面配置 ShardingSphere-JDBC 作为数据输出组件
2. 实现 ShardingSphere-JDBC 作为数据输出组件
3. 完成对应代码的单元测试
1. 熟练使用 Java 编程语言
2. 熟练使用 Javascript 编程语言
https://github.com/apache/shardingsphere
实现权限控制模型完善目前Proxy的权限设计,支撑更细粒度的权限控制,支持DCL操作权限模型并且拦截SQL操作进行权限验证,集成配置中心对多Proxy集群生效

秦金卫

kimmking@apache.org


1.实现权限领域模型

2.支持配置中心

3.拦截验证SQL操作

4.支持DCL权限变更

1.熟练使用 Java 编程语言

2.了解SQL/DCL语法

3.了解Zookeeper的基本使用

4.了解BRAC等权限模型

3.熟悉Catalyst Optimizer

https://github.com/apache/shardingsphere
























































English Version

Task

Description

Difficulty

Mentor

Output

Tech. Requirements

Repo

Candidate

Official Website OptimizationRedesign and reimplement the website by following the project requirements.Medium

Liang Zhang

zhangliang@apache.org

  1. Follow all Apache Foundation requirements
  2. Homepage support slidable contents
  3. Support document export to PDF
  4. Redesign community/download pages. 
  5. Hugo based website build process
  6. Only use open source or new design materials(css, images, etc.)
  7. Support blogs and articles in markdown
  8. Support Video and Audio hosted on the 3rd party platform
  1. UI Design
  2. Website Layout
  3. Hugo
  4. Markdown
https://github.com/apache/shardingsphere/tree/master/docs
Proofread the SQL definitions of Sharding ParserIt is designed to proofread SQL definitions of Sharding Parser concerning PostgreSQL databaseHigh

Juan Pan

panjuan@apache.org


  1. Follow the SQL definition style of ShardingSphere
  2. Proofread the DCL SQL definitions of Sharding Parser referring to PostgreSQL document
  3. Proofread the DAL SQL definitions of Sharding Parser referring to PostgreSQL document
  4. Proofread the DDL SQL definitions of Sharding Parser referring to PostgreSQL document
  5. Proofread the DML SQL definitions of Sharding Parser referring to PostgreSQL document
  1. Be able to program with Java
  2. Be familiar with regular expression
  3. Basically learn how Antlr works
  4. Know how to write g4 file of Antlr
https://github.com/apache/shardingsphere
Implementation of processing MySQL KILL StatementInterrupt the request of current MySQL client and release the resources of
SQL query optimizer based on Catalyst OptimizerRefer to Spark SQL's query optimizer based on Catalyst Optimizer to implement ShardingSphere's query optimizer to improve ShardingSphere SQL query performanceHigh

Xiaofeng Jiang

nicholasjiang@apache.org

1. Based on the ShardingSphere Parser module using Rule Based (based on experience rule RBO) 
/ Cost Based (based on cost CBO) optimization method to optimize the logic execution plan 2. ShardingSphere SQL query performance has been improved to a certain extent
ShardingSphere-Proxy's backend by implementing the processing of MySQL KILL StatementMedium

Yonglun Zhang

zhangyonglun@apache.org

  1. Implement the SQL parsing of MySQL Kill Statement
  2. Add KillStatement processing flow
  3. Manage processList ID through MySQL handshake process
  4. Release backend resources according to the ID obtained from SQL parsing and the routing result of SQL
  5. Return the corresponding Response message to the MySQL client
  1. Familiar with Java
  2. Familiar with Netty
  3. Familiar with MySQL and database connection pool
  4. Familiar with TCP/IP protocol, Wireshark or other packet capturing tools
  5. Know how Antlr works
https://github.com/apache/shardingsphere
Implement scaling output supports ShardingSphere-JDBCAfter scaling output supports ShardingSphere-JDBC, data migration can be completed independently without relying on ShardingSphere-ProxyMedium

YangWen Ou

ouyangwen@apache.org

1. Implement through the interface, ShardingSphere-JDBC can be configured as the data output componen

2. Implement ShardingSphere-JDBC as data output component
3. Complete unit test of corresponding code

  1. Familiar with Javascript
  2. Familiar with Java
https://github.com/apache/shardingsphere
Implementation of authority control model 

Improve authority control model of proxy, support more fine-grained permission control,  DCL operation /SQL verification, integration with config center for proxy clusters

Medium

Kimm King

kimmking@apache.org


1. Implement authority domain model

2. Support config center

3. Intercept and verify SQL operation

4. Support DCL statements

  1. Familiar with Java
  2. Familiar with SQL/DCL
  3. Familiar with Zookeeper
  4. Familiar with BRAC etc.

1. Familiar with relational algebra

2. Familiar with common query optimization techniques: query reuse (ReuseSubquery / ReuseExchange, etc.) / RBO / CBO

3. Familiar with Catalyst Optimizer
https://github.com/apache/shardingsphere
























































Apache ShardingSphere项目基本情况介绍

...