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