Looks good to me

Thanks,

Hongwei Li

> On Sep 16, 2020, at 1:43 AM, "[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