FYI: primary and replica, replica replication are widely used terms in AWS.
https://aws.amazon.com/blogs/database/best-practices-for-amazon-rds-postgresql-replication/ https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.Redis.Groups.html On Mon, Sep 14, 2020 at 1:07 AM Juan Pan <[email protected]> wrote: > Hi Liang, > > > I also looked through many docs of other databases, > like MySQL, MariaDB, PostgreSQL, and MongoDB. > > > For me, I can accept your proposal. > > > In short, no matter `PrimarySecondaryReplication` or > `PrimaryReplicaReplication`, > IMO. We need to focus on `replication` which means a synchronization > process > among primary nodes and secondary nodes (Replica nodes). > The links below will help me explain more. > > > > > [1] > https://medium.com/@Jelastic/mongodb-replica-set-with-master-slave-replication-and-automated-failover-be3cb374452 > [2] > https://www.datadriveninvestor.com/2020/05/28/the-master-slave-database-concept-for-beginners/ > [3] https://www.postgresql.org/docs/9.2/warm-standby.html > [4] > https://mariadb.com/resources/blog/database-master-slave-replication-in-the-cloud/ > > > Best, > Trista > > > Juan Pan (Trista) > > Senior DBA & PMC of Apache ShardingSphere > E-mail: [email protected] > > > > > On 09/14/2020 12:34,[email protected]<[email protected]> wrote: > I investigate related materials again, maybe read-write-spilt is not a good > name. > > There are two features in Apache ShardingSphere now, master-slave and > replica. > > Master-slave: > Write to master data source and replication data to slave data sources > async, and then read from slave data sources. > Benefit: performance. > > Replica: > Still in dev mode, we plan to use Raft algorithm to keep the multiple > replicas with consensus. > Benefit: consensus. > > The tow features can not use together, users can choose one of them in the > same time only. > > I prefer to rename master-slave module to primary-secondary-replication, > and rename replica module to consensus-replication. > The new names can describe the feature more accurate and can let user to > know they are mutually exclusive. > > Primary-standby-replication is another choice, but I am afraid the meaning > of `standby` is waiting here and do nothing if normal, > but the secondary data source still need to process the query requests. > > So, how about to rename the concept to: > > MasterSlave -> PrimarySecondaryReplication > MasterDataSource -> PrimaryDataSource > SlaveDataSource -> SecondaryDataSource > > Please advice me. > > ------------------ > > Sincerely, > Liang Zhang (John) > Apache ShardingSphere > > > Hongwei Li <[email protected]> 于2020年9月14日周一 下午12:02写道: > > I don't have any idea about how the module 'shardingsphere-master-slave' vs > 'shardingsphere-read-write-split', was named. > If there was no specific reason, it is like a historical debt, but does not > matter so much, as it has been there for a long time, everyone knows > the function of the module. > In the meantime, 'read-write-split' is more obvious from the > processing/action perspective of the module. 'Master/Slave' is also fine > from the processing object(datasource) perspective. > > For simple processing and not considering much, the replacement of > 'master/slave' to 'primary/replica' including the combinations is much > straightforward. It is kind of 'leave it as is' processing. > > For moving one step further, renaming the module to 'read-write-split' is a > way to go. The questions are: > shall we replace 'MasterSlave' as 'ReadWriteSplit' at all places? > Do we need to consider if the replacement is meaningful at any place, such > as the below names: > MasterSlaveDataSourceRuleConfiguration > MasterSlaveLoadBalanceAlgorithm > > > > On Sat, Sep 12, 2020 at 11:29 PM [email protected] < > [email protected]> wrote: > > I like > > MasterDataSource -> PrimaryDataSource > SlaveDataSource -> ReplicaDataSource > > > But I am not sure about > > MasterSlave -> PrimaryReplica > > Because ShardingSphere's feature is route the update SQL > to PrimaryDataSource and route the query SQL to ReplicaDataSource. > The name ReadWriteSplit may describe the feature more clear. > > Any suggestions? > > ------------------ > > Sincerely, > Liang Zhang (John) > Apache ShardingSphere > > > Juan Pan <[email protected]> 于2020年9月13日周日 上午10:07写道: > > Hi Craig, > > > Thanks for your suggestion. :-) > For me, both `primary` and `source` are ok. > > > usually using terms like "primary", "secondary", "source", and > "replica" > Considering the expression above is mentioned in [1]. > > > There are good reasons for MySQL to use "source" instead of "primary" > because in their model there may be many "source" databases. > Actually, ShardingSphere could also have many "source" databases > (Depending on the user's configuration). > > > MasterSlave -> ReadWriteSplit > IMO, this renaming does not sound wonderful. I prefer > > > MasterSlave -> PrimaryReplica or MasterSlave -> SourceReplica > > > Moreover, I'd like to listen to others' opinions. > > > [1] https://mysqlhighavailability.com/mysql-terminology-updates/ > > > Best, > Trista > > > Juan Pan (Trista) > > Senior DBA & PMC of Apache ShardingSphere > E-mail: [email protected] > > > > > On 09/12/2020 22:26,Craig Russell<[email protected]> wrote: > Hi, > > This will be a significant change so I think it would be good to > resolve > all of the naming before any PR is proposed. The first place to start > might > be the documentation to see all of the name changes in one place. > > There are good reasons for MySQL to use "source" instead of "primary" > because in their model there may be many "source" databases. > Personally I > don't think "source" is particularly obvious to users, but they did not > ask > me. ;-) > > For ShardingSphere, "primary" and "replica" seem to be better choices. > It > will be easy for us to tell users that ShardingSphere's "replica" > corresponds to MySQL's "source". > > So the concepts to be changed might be: > > MasterSlave -> PrimaryReplica > MasterDataSource -> PrimaryDataSource > SlaveDataSource -> ReplicaDataSource > > And again, it might be easier to review the name changes in the context > of > documentation changes. > > HTH, > Craig > > On Sep 6, 2020, at 2:42 AM, [email protected] wrote: > > Hi All, > > I want to discuss to rename MasterSlave module to ReadWriteSplit > module. > > MySQL[1] has already change the master and slave to source and replica. > > Some concepts I plan to change: > > MasterSlave -> ReadWriteSplit > MasterDataSource -> SourceDataSource > SlaveDataSource -> ReplicaDataSource > > Please advice me. > > [1] https://mysqlhighavailability.com/mysql-terminology-updates/ > > ------------------ > > Sincerely, > Liang Zhang (John) > Apache ShardingSphere > > Craig L Russell > [email protected] > > > >
