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