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: [email protected]
For additional commands, e-mail: [email protected]