Nice catch and good name for ReplicaQuery.
PrimaryReplicaReplication may mislead user because the feature do nothing
for replication. We just route query requests to replica and route write
requests to primary data source.
I will rename the module name to ReplicaQuery soon.

------------------

Sincerely,
Liang Zhang (John)
Apache ShardingSphere


Juan Pan <[email protected]> 于2020年10月27日周二 上午11:59写道:

> Hi, community,
>
>
> I know it is a little late to deliver this email. Still, I want to drop
> some discussion about this issue here.
> Currently, with a crude talking with other guys, there are two great
> alternatives ( PrimaryReplica ad QueryReplica) for the original name (i.e.,
> masterSlave).
>
>
> I prefer QueryReplica, but considering we have finished renaming it as
> PrimaryReplica, my opinion is to keep it that way. However, @John wants to
> have another renaming work with `QueryReplica` for this module's optimal
> name.
>
>
> I’d like to listen to your idea about this one, but keep in mind that our
> next release is close at hand.
> So we have to make a decision ASAP.
>
>
>  Juan Pan (Trista)
>
> Senior DBA & PMC of Apache ShardingSphere
> E-mail: [email protected]
>
>
>
>
> On 09/25/2020 01:46,Liang Zhang<[email protected]> wrote:
> Done by https://github.com/apache/shardingsphere/issues/7560
>
> On 2020/09/22 10:44:29, "[email protected]" <[email protected]>
> wrote:
> Because the release date is coming soon, I will do this issue.
>
> ------------------
>
> Sincerely,
> Liang Zhang (John)
> Apache ShardingSphere
>
>
> Harvey <[email protected]> 于2020年9月16日周三 下午8:03写道:
>
> 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