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