[ 
https://issues.apache.org/jira/browse/GSOC-245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Liyao Miao updated GSOC-245:
----------------------------
    Description: 
h1. 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] 
h1. Background

There is a proposal about new CRD Cluster and ComputeNode as belows:
 - #167
 - #166

Currently we try to promote StorageNode as major CRD to represent a set of 
storage units for ShardingSphere.
h1. Task

The elementary task is that the storage node controller could manage the 
lifecycle of a set of storage units, like PostgreSQL, in kubernetes.

We don't hope to create another wheel like pg-operator. So consider using a 
predefined parameter group to generate the target CRD.
 - [ ] Create a PostgreSQL cluster while a StorageNode with pg parameters is 
created
 - [ ] Update the PostgreSQL cluster while updated StorageNode
 - [ ] Delete the PostgreSQL cluster while deleted StorageNode. Notice this may 
need a deletion strategy.
 - [ ] Reconciling StorageNode according to the status of PostgreSQL cluster.
 - [ ] The status of StorageNode would be consumed by common storage units 
related DistSQLs

h1. Relevant Skills

1. Master Go language, Ginkgo test framework
2. Have a basic understanding of Apache ShardingSphere Concepts
3. Be familiar with Kubernetes Operator, kubebuilder framework
h1. Targets files

StorageNode Controller - 
[https://github.com/apache/shardingsphere-on-cloud/blob/main/shardingsphere-operator/pkg/controllers/storagenode_controller.go]

 
h3. Mentor

Liyao Miao, Committer of Apache ShardingSphere,  
[[email protected]|mailto:[email protected]]

Chuxin Chen, Committer of Apache ShardingSphere, 
[[email protected]|mailto:[email protected]]

  was:
# 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

There is a proposal about new CRD Cluster and ComputeNode as belows:
- #167 
- #166 

Currently we try to promote StorageNode as major CRD to represent a set of 
storage units for ShardingSphere.

# Task

The elementary task is that the storage node controller could manage the 
lifecycle of  a set of storage units, like PostgreSQL, in kubernetes. 

We don't hope to create another wheel like pg-operator. So consider using a 
predefined parameter group to generate the target CRD.

- [ ] Create a PostgreSQL cluster while a StorageNode with pg parameters is 
created
- [ ] Update the PostgreSQL cluster while updated StorageNode
- [ ] Delete the PostgreSQL cluster while deleted StorageNode. Notice this may 
need a deletion strategy.
- [ ] Reconciling StorageNode according to the status of PostgreSQL cluster. 
- [ ] The status of StorageNode would be consumed by common storage units 
related DistSQLs

# Relevant Skills

1. Master Go language, Ginkgo test framework
2. Have a basic understanding of Apache ShardingSphere Concepts
3. Be familiar with Kubernetes Operator, kubebuilder framework

# Targets files

StorageNode Controller - 
https://github.com/apache/shardingsphere-on-cloud/blob/main/shardingsphere-operator/pkg/controllers/storagenode_controller.go


> Apache ShardingSphere: Introduce new CRD as StorageNode for better usability
> ----------------------------------------------------------------------------
>
>                 Key: GSOC-245
>                 URL: https://issues.apache.org/jira/browse/GSOC-245
>             Project: Comdev GSOC
>          Issue Type: Improvement
>            Reporter: Liyao Miao
>            Priority: Major
>              Labels: ShardingSphere, gsoc2023, mentor
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> h1. 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] 
> h1. Background
> There is a proposal about new CRD Cluster and ComputeNode as belows:
>  - #167
>  - #166
> Currently we try to promote StorageNode as major CRD to represent a set of 
> storage units for ShardingSphere.
> h1. Task
> The elementary task is that the storage node controller could manage the 
> lifecycle of a set of storage units, like PostgreSQL, in kubernetes.
> We don't hope to create another wheel like pg-operator. So consider using a 
> predefined parameter group to generate the target CRD.
>  - [ ] Create a PostgreSQL cluster while a StorageNode with pg parameters is 
> created
>  - [ ] Update the PostgreSQL cluster while updated StorageNode
>  - [ ] Delete the PostgreSQL cluster while deleted StorageNode. Notice this 
> may need a deletion strategy.
>  - [ ] Reconciling StorageNode according to the status of PostgreSQL cluster.
>  - [ ] The status of StorageNode would be consumed by common storage units 
> related DistSQLs
> h1. Relevant Skills
> 1. Master Go language, Ginkgo test framework
> 2. Have a basic understanding of Apache ShardingSphere Concepts
> 3. Be familiar with Kubernetes Operator, kubebuilder framework
> h1. Targets files
> StorageNode Controller - 
> [https://github.com/apache/shardingsphere-on-cloud/blob/main/shardingsphere-operator/pkg/controllers/storagenode_controller.go]
>  
> h3. Mentor
> Liyao Miao, Committer of Apache ShardingSphere,  
> [[email protected]|mailto:[email protected]]
> Chuxin Chen, Committer of Apache ShardingSphere, 
> [[email protected]|mailto:[email protected]]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to