Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
Description
Apache ShardingSphere
Apache ShardingSphere is positioned as a Database Plus, and aims at building a standard layer and ecosystem above heterogeneous databases. It focuses on how to reuse existing databases and their respective upper layer, rather than creating a new database. The goal is to minimize or eliminate the challenges caused by underlying databases fragmentation.
Page: https://shardingsphere.apache.org
Github: https://github.com/apache/shardingsphere
Background
Since version 5.0.0, ShrdingSphere provides its own management language: DistSQL, which greatly facilitates users to manage distributed databases.
There are now many users who want to convert from legacy YAML configuration to DistSQL, and we want to design a tool to help them. (For ShardingSphere-Proxy only)
More details:
https://shardingsphere.apache.org/document/current/en/concepts/distsql/
Task
Design and implement a command line tool that allows the user to enter a path to a YAML configuration file and output a DistSQL script file.
This means that when a user uses the generated DistSQL script, it is possible to create a configuration result equivalent to a YAML file.
We have provided a DistSQL for exporting schema configuration, which is related to this issue, to help you understand this issue.
- The tool should convert both datasources and rule configuration in YAML to corresponding DistSQL RDL
- The tool needs to run independently, but it can depend on the jar package of ShardingSphere.
- When the tool starts, it is best to prompt the currently applicable ShardingSphere version.
- It is best to use the Java language, so that the jar package provided by ShardingSphere can be reused
Notice:
- There is currently no suitable module in the ShardingSphere repository for standalone tools, so a new module needs to be added.
Relevant Skills
1. Master JAVA language
2. Understand the schema configurations of ShardingSphere-Proxy
3. Understand DistSQL RDL
Mentor
Longtao Jiang, Committer of Apache ShardingSphere, jianglongtao@apache.org
Chengxiang Lan, Committer of Apache ShardingSphere, lanchengxiang@apache.org