You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gsoc@community.apache.org by "Liyao Miao (Jira)" <ji...@apache.org> on 2023/03/23 02:28:00 UTC

[jira] [Created] (GSOC-245) Apache ShardingSphere: Introduce new CRD as StorageNode for better usability

Liyao Miao created GSOC-245:
-------------------------------

             Summary: 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


# 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



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

---------------------------------------------------------------------
To unsubscribe, e-mail: gsoc-unsubscribe@community.apache.org
For additional commands, e-mail: gsoc-help@community.apache.org