As you know, `slave` is not a good word, we need to change it. ------------------
Sincerely, Liang Zhang (John) Apache ShardingSphere 蒋晓峰 <[email protected]> 于2020年9月16日周三 下午1:55写道: > Hi Liang, > In my opinion, primary-replica naming makes confusion for developers how > to understand the replacement of 'master/slave' to 'primary/replica'. In a > distributed system, 'master/slave' directly describes the relationship > of distributed nodes, but what about 'primary/replica' represents? > > Regards, > Nicholas Jiang > > On Wed, Sep 16, 2020 at 1:43 PM [email protected] < > [email protected]> > wrote: > > > Primary-replica is good to me. > > > > So, how about: > > > > MasterSlave -> PrimaryReplicaReplication > > MasterDataSource -> PrimaryDataSource > > SlaveDataSource -> ReplicaDataSource > > > > ------------------ > > > > Sincerely, > > Liang Zhang (John) > > Apache ShardingSphere > > > > > > Hongwei Li <[email protected]> 于2020年9月14日周一 下午10:31写道: > > > > > 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] > > > > > > > > > > > > > > > > > > > > > >
