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]
> > > >
> > > >
> > > >
> > > >
> > >
> >
>

Reply via email to