You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by xi...@apache.org on 2020/10/28 09:04:27 UTC

[shardingsphere] branch master updated: Rename module name from primary-replica-replication to replica-query (#7943)

This is an automated email from the ASF dual-hosted git repository.

xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 82e5f03  Rename module name from primary-replica-replication to replica-query (#7943)
82e5f03 is described below

commit 82e5f038b9cffb1a371c9fbd3c3cd24d5dffcfd5
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Oct 28 17:04:04 2020 +0800

    Rename module name from primary-replica-replication to replica-query (#7943)
    
    * Update doc for SQLParserFacade
    
    * Rename module name from primary-replica-replication to replica-query
    
    * Rename primary-replica-replication to replica-query
    
    * Rename Primary-Replica Replication to replica query
    
    * Rename primary_replica_replication to replica_query
    
    * Rename primary replica replication to replica query
    
    * Rename PrimaryReplicaReplication to ReplicaQuery
    
    * Rename read-write-split to replica-query
---
 README.md                                          |   4 +-
 RELEASE-NOTES.md                                   |  26 ++---
 docs/blog/content/material/proxy.en.md             |   2 +-
 .../content/contribute/document-contributor.cn.md  |   4 +-
 .../content/contribute/document-contributor.en.md  |   4 +-
 .../content/dev-manual/configuration.cn.md         |  44 +++----
 .../content/dev-manual/configuration.en.md         |  44 +++----
 docs/document/content/dev-manual/kernel.cn.md      |  20 ++--
 docs/document/content/dev-manual/kernel.en.md      |  20 ++--
 ...plica-replication.cn.md => replica-query.cn.md} |   0
 ...plica-replication.en.md => replica-query.en.md} |   2 +-
 docs/document/content/faq/_index.cn.md             |   2 +-
 docs/document/content/faq/_index.en.md             |   2 +-
 .../content/features/encrypt/principle.en.md       |   2 +-
 .../governance/management/config-center.cn.md      |   2 +-
 .../governance/management/config-center.en.md      |   4 +-
 .../governance/management/registry-center.en.md    |   2 +-
 .../features/pluggable-architecture/_index.en.md   |   2 +-
 .../primary-replica-replication/_index.en.md       |  28 -----
 .../_index.cn.md                                   |   4 +-
 .../content/features/replica-query/_index.en.md    |  28 +++++
 .../concept.cn.md                                  |   0
 .../concept.en.md                                  |   4 +-
 .../use-norms.cn.md                                |   0
 .../use-norms.en.md                                |   6 +-
 .../content/features/sharding/_index.en.md         |   4 +-
 .../features/sharding/concept/configuration.en.md  |   2 +-
 .../features/sharding/principle/execute.en.md      |   2 +-
 .../content/features/test-engine/_index.cn.md      |   2 +-
 .../content/features/test-engine/_index.en.md      |   4 +-
 .../test-engine/integration-test-engine.cn.md      |   2 +-
 .../test-engine/integration-test-engine.en.md      |   2 +-
 .../features/test-engine/performance-test.cn.md    |   4 +-
 .../features/test-engine/performance-test.en.md    |  14 +--
 docs/document/content/overview/_index.en.md        |   4 +-
 .../shardingsphere-jdbc/configuration/_index.en.md |   2 +-
 ...plica-replication.cn.md => replica-query.cn.md} |  12 +-
 ...plica-replication.en.md => replica-query.en.md} |  18 +--
 .../primary-replica-replication.cn.md              |  20 ----
 .../primary-replica-replication.en.md              |  20 ----
 .../spring-boot-starter/replica-query.cn.md        |  20 ++++
 .../spring-boot-starter/replica-query.en.md        |  20 ++++
 ...plica-replication.cn.md => replica-query.cn.md} |   8 +-
 ...plica-replication.en.md => replica-query.en.md} |  18 +--
 .../configuration/yaml/_index.en.md                |   2 +-
 ...plica-replication.cn.md => replica-query.cn.md} |   2 +-
 ...plica-replication.en.md => replica-query.en.md} |   6 +-
 .../usage/governance/spring-namespace.cn.md        |   2 +-
 .../usage/sharding/_index.en.md                    |   2 +-
 .../configuration/_index.en.md                     |   2 +-
 .../configuration/authentication.cn.md             |   2 +-
 .../configuration/authentication.en.md             |   2 +-
 .../shardingsphere-proxy/usage/startup.en.md       |   2 +-
 .../shardingsphere-ui/usage/rule-config.en.md      |   2 +-
 .../replica-query-standalone.png}                  | Bin
 .../sharding-and-replica-query.png}                | Bin
 examples/README.md                                 |   4 +-
 .../shardingsphere/example/type/ShardingType.java  |   6 +-
 .../raw/jdbc/JavaConfigurationExampleMain.java     |  12 +-
 .../raw/jdbc/YamlConfigurationExampleMain.java     |   8 +-
 .../GovernanceRepositoryConfigurationUtil.java     |   8 +-
 ...on.java => CloudReplicaQueryConfiguration.java} |   4 +-
 ...on.java => LocalReplicaQueryConfiguration.java} |  14 +--
 ...=> LocalShardingReplicaQueryConfiguration.java} |  18 +--
 ...replica-replication.yaml => replica-query.yaml} |   0
 ...replica-replication.yaml => replica-query.yaml} |   2 +-
 ...replica-replication.yaml => replica-query.yaml} |   0
 ...replica-replication.yaml => replica-query.yaml} |   2 +-
 ...plication-cloud-nacos-replica-query.properties} |   0
 ...ation-cloud-zookeeper-replica-query.properties} |   0
 ...plication-local-nacos-replica-query.properties} |   8 +-
 ...ation-local-zookeeper-replica-query.properties} |   8 +-
 .../src/main/resources/application.properties      |   8 +-
 .../governance/spring/namespace/ExampleMain.java   |   6 +-
 ...plication.xml => application-replica-query.xml} |   6 +-
 ...plication.xml => application-replica-query.xml} |  20 ++--
 ...plication.xml => application-replica-query.xml} |   6 +-
 ...plication.xml => application-replica-query.xml} |  20 ++--
 .../raw/jdbc/JavaConfigurationExampleMain.java     |   2 +-
 .../main/resources/META-INF/hint-primary-only.yaml |   2 +-
 .../raw/jdbc/JavaConfigurationExampleMain.java     |   4 +-
 .../raw/jdbc/YamlConfigurationExampleMain.java     |   2 +-
 ... ReplicaQueryShadowDatabasesConfiguration.java} |  14 +--
 .../table/raw/jdbc/factory/DataSourceFactory.java  |   6 +-
 .../raw/jdbc/factory/YamlDataSourceFactory.java    |   4 +-
 ...es.yaml => replica-query-shadow-databases.yaml} |   2 +-
 ...tion-replica-query-shadow-databases.properties} |   8 +-
 .../src/main/resources/application.properties      |   2 +-
 .../shadow/table/spring/namespace/ExampleMain.java |   2 +-
 ...application-replica-query-shadow-databases.xml} |  16 +--
 .../raw/jdbc/JavaConfigurationExampleMain.java     |   6 +-
 .../jdbc/JavaRangeConfigurationExampleMain.java    |   6 +-
 .../raw/jdbc/YamlConfigurationExampleMain.java     |   6 +-
 .../jdbc/YamlRangeConfigurationExampleMain.java    |   6 +-
 ...uration.java => ReplicaQueryConfiguration.java} |  12 +-
 ... ShardingReplicaQueryConfigurationPrecise.java} |  17 ++-
 ...=> ShardingReplicaQueryConfigurationRange.java} |  16 +--
 .../raw/jdbc/factory/DataSourceFactory.java        |  12 +-
 .../raw/jdbc/factory/RangeDataSourceFactory.java   |  12 +-
 .../raw/jdbc/factory/YamlDataSourceFactory.java    |   8 +-
 .../jdbc/factory/YamlRangeDataSourceFactory.java   |   8 +-
 ...replica-replication.yaml => replica-query.yaml} |   2 +-
 ...ange.yaml => sharding-replica-query-range.yaml} |   2 +-
 ...eplication.yaml => sharding-replica-query.yaml} |   2 +-
 ...erties => application-replica-query.properties} |   8 +-
 ... application-sharding-replica-query.properties} |   8 +-
 .../src/main/resources/application.properties      |   4 +-
 ...erties => application-replica-query.properties} |   8 +-
 ... application-sharding-replica-query.properties} |   8 +-
 .../src/main/resources/application.properties      |   4 +-
 .../sharding/spring/namespace/jpa/ExampleMain.java |   4 +-
 ...plication.xml => application-replica-query.xml} |  18 +--
 ....xml => application-sharding-replica-query.xml} |  18 +--
 .../spring/namespace/mybatis/ExampleMain.java      |   4 +-
 ...plication.xml => application-replica-query.xml} |  20 ++--
 ....xml => application-sharding-replica-query.xml} |  18 +--
 .../boot/mybatis/SpringBootStarterExample.java     |   2 +-
 ...-replication.yaml => config-replica-query.yaml} |   6 +-
 .../main/resources/conf/config-primary-only.yaml   |   2 +-
 ...-replication.yaml => config-replica-query.yaml} |  10 +-
 shardingsphere-features/pom.xml                    |   2 +-
 ...ovidedPrimaryReplicaReplicationRuleBuilder.java |  47 --------
 ...eAlgorithmProviderConfigurationYamlSwapper.java |  90 ---------------
 ...dingsphere.infra.rule.ShardingSphereRuleBuilder |  19 ---
 ...infra.yaml.swapper.YamlRuleConfigurationSwapper |  19 ---
 ...rimaryReplicaReplicationDataSourceRuleTest.java |  93 ---------------
 .../rule/PrimaryReplicaReplicationRuleTest.java    | 101 ----------------
 ...eplicationRuleConfigurationYamlSwapperTest.java | 128 ---------------------
 ...licaReplicationRuleSpringbootConfiguration.java |  79 -------------
 ...lication-primary-replica-replication.properties |  22 ----
 .../src/main/resources/META-INF/spring.handlers    |  18 ---
 .../src/main/resources/META-INF/spring.schemas     |  18 ---
 .../pom.xml                                        |  10 +-
 .../shardingsphere-replica-query-api}/pom.xml      |   4 +-
 .../api/config/ReplicaQueryRuleConfiguration.java} |  10 +-
 .../ReplicaQueryDataSourceRuleConfiguration.java}  |   6 +-
 .../spi/ReplicaLoadBalanceAlgorithm.java           |   4 +-
 .../shardingsphere-replica-query-common}/pom.xml   |   6 +-
 .../RandomReplicaLoadBalanceAlgorithm.java         |   4 +-
 .../RoundRobinReplicaLoadBalanceAlgorithm.java     |   4 +-
 ...ithmProvidedReplicaQueryRuleConfiguration.java} |  12 +-
 .../replicaquery/constant/ReplicaQueryOrder.java}  |  10 +-
 ...licaQueryTableAddressingMetaDataDecorator.java} |  22 ++--
 .../rule/ReplicaQueryDataSourceRule.java}          |  14 +--
 .../replicaquery/rule/ReplicaQueryRule.java}       |  44 +++----
 .../AlgorithmProvidedReplicaQueryRuleBuilder.java} |  22 ++--
 .../rule/biulder/ReplicaQueryRuleBuilder.java}     |  22 ++--
 .../config/YamlReplicaQueryRuleConfiguration.java} |  16 +--
 ...mlReplicaQueryDataSourceRuleConfiguration.java} |   6 +-
 ...eAlgorithmProviderConfigurationYamlSwapper.java |  90 +++++++++++++++
 .../ReplicaQueryRuleConfigurationYamlSwapper.java} |  48 ++++----
 ...del.addressing.TableAddressingMetaDataDecorator |   2 +-
 ...ingsphere.infra.rule.ShardingSphereRuleBuilder} |   3 +-
 ...nfra.yaml.swapper.YamlRuleConfigurationSwapper} |   4 +-
 ...e.replicaquery.spi.ReplicaLoadBalanceAlgorithm} |   3 +-
 .../RandomReplicaLoadBalanceAlgorithmTest.java     |   2 +-
 .../RoundRobinReplicaLoadBalanceAlgorithmTest.java |   2 +-
 .../rule/ReplicaQueryDataSourceRuleTest.java       |  89 ++++++++++++++
 .../replicaquery/rule/ReplicaQueryRuleTest.java    | 101 ++++++++++++++++
 ...orithmProvidedReplicaQueryRuleBuilderTest.java} |  16 +--
 .../rule/biulder/ReplicaQueryRuleBuilderTest.java} |  16 +--
 ...rithmProviderConfigurationYamlSwapperTest.java} |  34 +++---
 ...plicaQueryRuleConfigurationYamlSwapperTest.java | 128 +++++++++++++++++++++
 ...sForYamlReplicaQueryRuleConfigurationTest.java} |  24 ++--
 .../src/test/resources/logback-test.xml            |   0
 .../test/resources/yaml/replica-query-rule.yaml}   |   2 +-
 .../shardingsphere-replica-query-route}/pom.xml    |   6 +-
 .../route/engine/ReplicaQuerySQLRouter.java}       |  32 +++---
 .../route/engine/impl/PrimaryVisitedManager.java   |   2 +-
 .../engine/impl/ReplicaQueryDataSourceRouter.java} |  10 +-
 ...org.apache.shardingsphere.infra.route.SQLRouter |   2 +-
 .../route/engine/ReplicaQuerySQLRouterTest.java}   |  32 +++---
 .../shardingsphere-replica-query-spring}/pom.xml   |   8 +-
 .../pom.xml                                        |   6 +-
 .../ReplicaQueryRuleSpringbootConfiguration.java   |  79 +++++++++++++
 ...ReplicaQueryAlgorithmProvidedBeanRegistry.java} |  14 +--
 .../ReplicaQuerySpringBootCondition.java}          |  10 +-
 ...mlReplicaQueryRuleSpringBootConfiguration.java} |  10 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 .../boot/ReplicaQuerySpringBootStarterTest.java}   |  20 ++--
 .../ReplicaQuerySpringBootConditionTest.java}      |  10 +-
 .../application-replica-query.properties}          |   7 +-
 .../src/test/resources/logback-test.xml            |   0
 .../pom.xml                                        |   6 +-
 .../ReplicaLoadBalanceAlgorithmFactoryBean.java    |   4 +-
 .../handler/ReplicaQueryNamespaceHandler.java}     |  16 +--
 .../ReplicaQueryRuleBeanDefinitionParser.java}     |  36 +++---
 .../tag/LoadBalanceAlgorithmBeanDefinitionTag.java |   2 +-
 .../tag/ReplicaQueryRuleBeanDefinitionTag.java}    |   8 +-
 .../META-INF/namespace/replica-query.xsd}          |   4 +-
 .../src/main/resources/META-INF/spring.handlers}   |   2 +-
 .../src/main/resources/META-INF/spring.schemas}    |   2 +-
 .../ReplicaQuerySpringNamespaceTest.java}          |  22 ++--
 .../spring/replica-query-application-context.xml}  |  20 ++--
 .../src/test/resources/logback-test.xml            |   0
 .../shardingsphere-governance-core-common/pom.xml  |   2 +-
 .../governance/core/config/ConfigCenter.java       |  18 +--
 .../governance/core/config/ConfigCenterTest.java   |  62 +++++-----
 .../listener/ConfigurationListenerManagerTest.java |   2 +-
 .../config/listener/SchemaChangedListenerTest.java |  30 ++---
 ...tion-rule.yaml => data-replica-query-rule.yaml} |   2 +-
 ...plication-rule.yaml => replica-query-rule.yaml} |   2 +-
 .../schema/GovernanceSchemaContextsTest.java       |   8 +-
 .../core/facade/GovernanceFacadeTest.java          |   2 +-
 .../core/registry/RegistryCenterNodeTest.java      |  10 +-
 .../core/registry/RegistryCenterTest.java          |   2 +-
 .../DataSourceStateChangedListenerTest.java        |   6 +-
 .../listener/RegistryListenerManagerTest.java      |   2 +-
 .../dbtest/engine/dml/AdditionalDMLIT.java         |  28 ++---
 .../dbtest/engine/dml/BatchDMLIT.java              |   8 +-
 .../dbtest/engine/dml/GeneralDMLIT.java            |   8 +-
 .../batch_insert_for_order.xml                     |   0
 .../batch_insert_with_generate_key_column.xml      |   0
 .../batch_insert_without_generate_key_column.xml   |   0
 .../delete_with_alias.xml                          |   0
 .../delete_with_sharding_value.xml                 |   0
 .../delete_without_sharding_value.xml              |   0
 .../insert_for_order_1.xml                         |   0
 .../insert_for_order_1_2.xml                       |   0
 .../insert_for_order_2.xml                         |   0
 .../insert_multiple_values_for_order_1_2.xml       |   0
 .../insert_on_duplicate_key_update.xml             |   0
 .../insert_with_generate_key_column.xml            |   0
 .../insert_with_now_function.xml                   |   0
 .../insert_without_generate_key_column.xml         |   0
 .../update.xml                                     |   0
 .../update_with_column_equal_column.xml            |   0
 .../update_without_condition.xml                   |   0
 .../batch_insert_for_order.xml                     |   0
 .../batch_insert_with_generate_key_column.xml      |   0
 .../batch_insert_without_generate_key_column.xml   |   0
 .../delete_with_alias.xml                          |   0
 .../delete_with_sharding_value.xml                 |   0
 .../delete_without_sharding_value.xml              |   0
 .../insert_for_order_1.xml                         |   0
 .../insert_for_order_1_2.xml                       |   0
 .../insert_for_order_2.xml                         |   0
 .../insert_multiple_values_for_order_1_2.xml       |   0
 .../insert_on_duplicate_key_update.xml             |   0
 .../insert_with_generate_key_column.xml            |   0
 .../insert_with_now_function.xml                   |   0
 .../insert_without_generate_key_column.xml         |   0
 .../update.xml                                     |   0
 .../update_with_column_equal_column.xml            |   0
 .../update_without_condition.xml                   |   0
 .../cases/dml/dml-integrate-test-cases.xml         |   4 +-
 .../postgresql/select_count_tilde_concat.xml       |   0
 .../select_alias_as_keyword.xml                    |   0
 .../select_alias_as_single_quote_string.xml        |   0
 .../select_avg.xml                                 |   0
 .../select_between_with_single_table.xml           |   0
 .../select_comparison_symbol_with_single_table.xml |   0
 .../select_count.xml                               |   0
 .../select_count_like_concat.xml                   |   0
 .../select_count_with_binding_tables.xml           |   0
 .../select_count_with_sub.xml                      |   0
 .../select_count_with_sub_with_whitespace.xml      |   0
 .../select_distinct_function.xml                   |   0
 .../select_distinct_with_avg.xml                   |   0
 .../select_distinct_with_count.xml                 |   0
 .../select_distinct_with_count_calculation.xml     |   0
 .../select_distinct_with_count_group_by.xml        |   0
 .../select_distinct_with_count_sum.xml             |   0
 .../select_distinct_with_multi_column.xml          |   0
 ...distinct_with_multi_column_without_order_by.xml |   0
 .../select_distinct_with_owner_column.xml          |   0
 ...distinct_with_owner_column_without_order_by.xml |   0
 .../select_distinct_with_owner_star.xml            |   0
 ...t_distinct_with_owner_star_without_order_by.xml |   0
 .../select_distinct_with_single_column.xml         |   0
 ...istinct_with_single_column_without_order_by.xml |   0
 .../select_distinct_with_single_count_group_by.xml |   0
 .../select_distinct_with_star.xml                  |   0
 .../select_distinct_with_sum.xml                   |   0
 .../select_equal_with_single_table.xml             |   0
 .../select_for_update.xml                          |   0
 .../select_full_route_with_binding_tables.xml      |   0
 .../select_group_by_with_avg.xml                   |   0
 .../select_group_by_with_count.xml                 |   0
 ...ect_group_by_with_count_without_column_name.xml |   0
 .../select_group_by_with_date_function.xml         |   0
 .../select_group_by_with_key_word_alias.xml        |   0
 .../select_group_by_with_keyword_alias.xml         |   0
 .../select_group_by_with_limit.xml                 |   0
 .../select_group_by_with_max.xml                   |   0
 .../select_group_by_with_min.xml                   |   0
 .../select_group_by_with_order_by_and_limit.xml    |   0
 .../select_group_by_with_order_by_desc.xml         |   0
 .../select_group_by_with_sum.xml                   |   0
 .../select_group_by_without_grouped_column.xml     |   0
 .../select_in_with_same_sharding_column.xml        |   0
 .../select_in_with_single_table.xml                |   0
 .../select_inner_join.xml                          |   0
 .../select_max.xml                                 |   0
 .../select_min.xml                                 |   0
 .../select_not_equal_with_single_table.xml         |   0
 .../select_not_in_with_single_table.xml            |   0
 .../select_or_mix_and_for_complex_pattern.xml      |   0
 .../select_or_mix_and_for_simple_pattern.xml       |   0
 ...r_mix_and_with_binding_and_broadcast_tables.xml |   0
 .../select_or_mix_and_with_binding_tables.xml      |   0
 .../select_or_with_different_sharding_columns.xml  |   0
 .../select_or_with_none_sharding_columns.xml       |   0
 .../select_or_with_same_sharding_columns.xml       |   0
 .../select_order_by_asc_and_index_desc.xml         |   0
 .../select_order_by_desc_and_index_asc.xml         |   0
 .../select_order_by_with_alias_star_alias_name.xml |   0
 .../select_order_by_with_date.xml                  |   0
 .../select_order_by_with_multiple_stars.xml        |   0
 .../select_order_by_with_ordered_column.xml        |   0
 .../select_order_by_with_star_no_table_alias.xml   |   0
 .../select_order_by_with_star_table_alias.xml      |   0
 .../select_order_by_with_table_star_table_name.xml |   0
 ...order_by_with_table_star_without_table_name.xml |   0
 ..._pagination_with_diff_group_by_and_order_by.xml |   0
 ...elect_pagination_with_group_by_and_order_by.xml |   0
 .../select_pagination_with_offset.xml              |   0
 .../select_pagination_with_offset_and_limit.xml    |   0
 ...select_pagination_with_offset_and_row_count.xml |   0
 .../select_pagination_with_offset_fetch.xml        |   0
 .../select_pagination_with_row_count.xml           |   0
 ...select_pagination_with_row_number_and_limit.xml |   0
 ...elect_pagination_with_row_number_not_at_end.xml |   0
 .../select_pagination_with_top_and_limit.xml       |   0
 .../select_sharding_route_with_binding_tables.xml  |   0
 .../select_sharding_route_with_broadcast_table.xml |   0
 .../select_sub_query_with_group_by.xml             |   0
 .../select_sub_query_with_multiple_tables.xml      |   0
 .../select_sub_query_with_order_by.xml             |   0
 .../select_sum.xml                                 |   0
 .../select_with_case_expression.xml                |   0
 .../select_with_date_function.xml                  |   0
 .../select_with_expression.xml                     |   0
 .../select_with_force_index_join.xml               |   0
 ...tem_alias_match_order_by_and_group_by_items.xml |   0
 .../select_with_regexp.xml                         |   0
 .../mysql/select_avg.xml                           |   0
 .../mysql/select_group_by_with_avg.xml             |   0
 .../postgresql/select_avg.xml                      |   0
 .../postgresql/select_count_tilde_concat.xml       |   0
 .../postgresql/select_group_by_with_avg.xml        |   0
 .../select_alias_as_keyword.xml                    |   0
 .../select_alias_as_single_quote_string.xml        |   0
 .../select_avg.xml                                 |   0
 .../select_between_with_single_table.xml           |   0
 .../select_comparison_symbol_with_single_table.xml |   0
 .../select_count.xml                               |   0
 .../select_count_like_concat.xml                   |   0
 .../select_count_with_binding_tables.xml           |   0
 .../select_count_with_sub.xml                      |   0
 .../select_count_with_sub_with_whitespace.xml      |   0
 .../select_distinct_function.xml                   |   0
 .../select_distinct_with_avg.xml                   |   0
 .../select_distinct_with_count.xml                 |   0
 .../select_distinct_with_count_calculation.xml     |   0
 .../select_distinct_with_count_group_by.xml        |   0
 .../select_distinct_with_count_sum.xml             |   0
 .../select_distinct_with_multi_column.xml          |   0
 ...distinct_with_multi_column_without_order_by.xml |   0
 .../select_distinct_with_owner_column.xml          |   0
 ...distinct_with_owner_column_without_order_by.xml |   0
 .../select_distinct_with_owner_star.xml            |   0
 ...t_distinct_with_owner_star_without_order_by.xml |   0
 .../select_distinct_with_single_column.xml         |   0
 ...istinct_with_single_column_without_order_by.xml |   0
 .../select_distinct_with_single_count_group_by.xml |   0
 .../select_distinct_with_star.xml                  |   0
 .../select_distinct_with_sum.xml                   |   0
 .../select_equal_with_single_table.xml             |   0
 .../select_for_update.xml                          |   0
 .../select_full_route_with_binding_tables.xml      |   0
 .../select_group_by_with_avg.xml                   |   0
 .../select_group_by_with_count.xml                 |   0
 ...ect_group_by_with_count_without_column_name.xml |   0
 .../select_group_by_with_key_word_alias.xml        |   0
 .../select_group_by_with_keyword_alias.xml         |   0
 .../select_group_by_with_limit.xml                 |   0
 .../select_group_by_with_max.xml                   |   0
 .../select_group_by_with_min.xml                   |   0
 .../select_group_by_with_order_by_and_limit.xml    |   0
 .../select_group_by_with_order_by_desc.xml         |   0
 .../select_group_by_with_sum.xml                   |   0
 .../select_group_by_without_grouped_column.xml     |   0
 .../select_in_with_same_sharding_column.xml        |   0
 .../select_in_with_single_table.xml                |   0
 .../select_inner_join.xml                          |   0
 .../select_max.xml                                 |   0
 .../select_min.xml                                 |   0
 .../select_not_equal_with_single_table.xml         |   0
 .../select_not_in_with_single_table.xml            |   0
 .../select_or_mix_and_for_complex_pattern.xml      |   0
 .../select_or_mix_and_for_simple_pattern.xml       |   0
 ...r_mix_and_with_binding_and_broadcast_tables.xml |   0
 .../select_or_mix_and_with_binding_tables.xml      |   0
 .../select_or_with_different_sharding_columns.xml  |   0
 .../select_or_with_none_sharding_columns.xml       |   0
 .../select_or_with_same_sharding_columns.xml       |   0
 .../select_order_by_asc_and_index_desc.xml         |   0
 .../select_order_by_desc_and_index_asc.xml         |   0
 .../select_order_by_with_alias_star_alias_name.xml |   0
 .../select_order_by_with_date.xml                  |   0
 .../select_order_by_with_multiple_stars.xml        |   0
 .../select_order_by_with_ordered_column.xml        |   0
 .../select_order_by_with_star_no_table_alias.xml   |   0
 .../select_order_by_with_star_table_alias.xml      |   0
 .../select_order_by_with_table_star_table_name.xml |   0
 ...order_by_with_table_star_without_table_name.xml |   0
 ..._pagination_with_diff_group_by_and_order_by.xml |   0
 ...elect_pagination_with_group_by_and_order_by.xml |   0
 .../select_pagination_with_offset.xml              |   0
 .../select_pagination_with_offset_and_limit.xml    |   0
 ...select_pagination_with_offset_and_row_count.xml |   0
 .../select_pagination_with_offset_fetch.xml        |   0
 .../select_pagination_with_row_count.xml           |   0
 ...select_pagination_with_row_number_and_limit.xml |   0
 ...elect_pagination_with_row_number_not_at_end.xml |   0
 .../select_pagination_with_top_and_limit.xml       |   0
 .../select_sharding_route_with_binding_tables.xml  |   0
 .../select_sharding_route_with_broadcast_table.xml |   0
 .../select_sub_query_with_group_by.xml             |   0
 .../select_sub_query_with_multiple_tables.xml      |   0
 .../select_sub_query_with_order_by.xml             |   0
 .../select_sum.xml                                 |   0
 .../select_with_case_expression.xml                |   0
 .../select_with_date_function.xml                  |   0
 .../select_with_expression.xml                     |   0
 .../select_with_force_index_join.xml               |   0
 ...tem_alias_match_order_by_and_group_by_items.xml |   0
 .../select_with_regexp.xml                         |   0
 .../cases/dql/dql-integrate-test-cases.xml         |   2 +-
 .../resources/integrate/env-jdbc-ci.properties     |   4 +-
 .../resources/integrate/env-jdbc-local.properties  |   4 +-
 .../authority.xml                                  |   0
 .../dataset.xml                                    |   0
 .../schema.xml                                     |   0
 .../sharding-rule.yaml                             |   2 +-
 .../authority.xml                                  |   0
 .../dataset.xml                                    |   0
 .../schema.xml                                     |   0
 .../sharding-rule.yaml                             |   2 +-
 .../shardingsphere-jdbc-core/pom.xml               |   2 +-
 .../jdbc/adapter/AbstractConnectionAdapter.java    |   2 +-
 ...ardingSphereDataSourceForReplicaQueryTest.java} |  10 +-
 .../datasource/ShardingSphereDataSourceTest.java   |   2 +-
 ...java => ReplicaQueryPreparedStatementTest.java} |  10 +-
 ...entTest.java => ReplicaQueryStatementTest.java} |   8 +-
 ...-replication.yaml => config-replica-query.yaml} |   2 +-
 .../api/yaml/AbstractYamlDataSourceTest.java       |  16 +--
 ...ernanceShardingSphereDataSourceFactoryTest.java |   6 +-
 .../YamlGovernanceReplicaQueryIntegrateTest.java}  |  16 +--
 ...anceShardingWithReplicaQueryIntegrateTest.java} |  12 +-
 .../GovernanceShardingSphereDataSourceTest.java    |  14 +--
 ...configWithReplicaQueryDataSourceWithProps.yaml} |   2 +-
 ...figWithReplicaQueryDataSourceWithoutProps.yaml} |   2 +-
 .../configWithDataSourceWithProps.yaml             |   2 +-
 .../configWithDataSourceWithoutProps.yaml          |   2 +-
 .../configWithDataSourceWithoutRules.yaml          |   0
 .../configWithoutDataSourceWithProps.yaml          |   2 +-
 .../configWithoutDataSourceWithoutProps.yaml       |   2 +-
 .../primary_ds.sql                                 |   0
 .../replica_ds_0.sql                               |   0
 .../replica_ds_1.sql                               |   0
 .../primary_ds_0.sql                               |   0
 .../primary_ds_1.sql                               |   0
 .../replica_ds_0.sql                               |   0
 .../replica_ds_1.sql                               |   0
 .../src/test/resources/yaml/unit/sharding.yaml     |   2 +-
 .../pom.xml                                        |   2 +-
 .../spring/boot/SpringBootStarterTest.java         |  14 +--
 .../test/resources/application-common.properties   |   9 +-
 .../pom.xml                                        |   2 +-
 .../shardingsphere/spring/SpringNamespaceTest.java |   8 +-
 .../META-INF/spring/application-context.xml        |  16 +--
 .../pom.xml                                        |   2 +-
 ...ernanceSpringBootRegistryReplicaQueryTest.java} |  12 +-
 ...a => GovernanceSpringBootReplicaQueryTest.java} |  16 +--
 ... application-registry-replica-query.properties} |   2 +-
 ...erties => application-replica-query.properties} |   6 +-
 ...databases.yaml => replica-query-databases.yaml} |   0
 ...plication-rule.yaml => replica-query-rule.yaml} |   2 +-
 ...va => GovernanceReplicaQueryNamespaceTest.java} |  44 +++----
 ...vernanceShardingReplicaQueryNamespaceTest.java} |   6 +-
 ...ta-source.xml => replica-query-data-source.xml} |   2 +-
 ...y-replica-replication-data-source-namespace.xml |  47 --------
 .../replica-query-data-source-namespace.xml        |  47 ++++++++
 .../namespace/sharding-data-source-namespace.xml   |   2 +-
 ...ce.xml => sharding-replica-query-namespace.xml} |  30 ++---
 ...governance.xml => replica-query-governance.xml} |  10 +-
 ...e.xml => sharding-replica-query-governance.xml} |   6 +-
 ...nf.properties => replica_query_conf.properties} |   0
 .../shardingsphere-proxy-backend/pom.xml           |   2 +-
 ...-replication.yaml => config-replica-query.yaml} |  10 +-
 .../shardingsphere-proxy-common/pom.xml            |   2 +-
 .../proxy/config/ProxyConfigurationLoaderTest.java |  20 ++--
 .../swapper/YamlProxyConfigurationSwapperTest.java |   8 +-
 ...-replication.yaml => config-replica-query.yaml} |   4 +-
 .../src/test/resources/conf/server.yaml            |   2 +-
 .../frontend/command/CommandExecutorTask.java      |   2 +-
 .../netty/FrontendChannelInboundHandler.java       |   2 +-
 500 files changed, 1623 insertions(+), 1767 deletions(-)

diff --git a/README.md b/README.md
index 022978c..b105473 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ Aiming at reasonably making full use of the computation and storage capacity of
 As the cornerstone of many enterprises, relational database still takes a huge market share. Therefore, at current stage, we prefer to focus on its increment instead of a total overturn.
 
 Apache ShardingSphere begins to focus on pluggable architecture from version 5.x, features can be embedded into project flexibility.
-Currently, the features such as data sharding, primary-replica replication, consensus replication, data encrypt, shadow test, and SQL dialects / database protocols such as MySQL, PostgreSQL, SQLServer, Oracle supported are all weaved by plugins.
+Currently, the features such as data sharding, replica query, consensus replication, data encrypt, shadow test, and SQL dialects / database protocols such as MySQL, PostgreSQL, SQLServer, Oracle supported are all weaved by plugins.
 Developers can customize their own ShardingSphere systems just like building lego blocks. There are lots of SPI extensions for Apache ShardingSphere now and increasing continuously.
 
 ShardingSphere became an [Apache](https://apache.org/index.html#projects-list) Top Level Project on April 16, 2020.
@@ -101,7 +101,7 @@ Architects can adjust the system architecture to the most applicable one to curr
 ### Data Sharding
 
 * Database sharding & Table sharding
-* Primary-replica replication
+* Replica query
 * Sharding strategy customization
 * Centre-less Distributed primary key
 
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index d76aa0f..10e803c 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -250,7 +250,7 @@ Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First ap
 1. [ISSUE #701](https://github.com/apache/shardingsphere/issues/701) Caching parsed results to improve performance
 1. [ISSUE #773](https://github.com/apache/shardingsphere/issues/773) Support sharding and autoincrement key of INSERT without column names
 1. [ISSUE #935](https://github.com/apache/shardingsphere/issues/935) Use `YAML` instead of `JSON` to store configurations in registry center
-1. [ISSUE #1004](https://github.com/apache/shardingsphere/issues/1004) Properties can configure for sharding and primary-replica replication independent
+1. [ISSUE #1004](https://github.com/apache/shardingsphere/issues/1004) Properties can configure for sharding and replica query independent
 1. [ISSUE #1205](https://github.com/apache/shardingsphere/issues/1205) Execute engine enhancement
 
 #### ShardingSphere-JDBC
@@ -266,12 +266,12 @@ Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First ap
 
 ### API changes
 
-1. [ISSUE #1153](https://github.com/apache/shardingsphere/issues/1153) Adjust the maven artifactId for Orchestration module
-1. [ISSUE #1203](https://github.com/apache/shardingsphere/issues/1203) Adjust Spring namespace xsd for Sharding and primary-replica replication
-1. [ISSUE #1289](https://github.com/apache/shardingsphere/issues/1289) Adjust Hint API
+1. [ISSUE #1153](https://github.com/apache/shardingsphere/issues/1153) Adjust the maven artifactId for orchestration module
+1. [ISSUE #1203](https://github.com/apache/shardingsphere/issues/1203) Adjust Spring namespace xsd for sharding and replica query
+1. [ISSUE #1289](https://github.com/apache/shardingsphere/issues/1289) Adjust hint API
 1. [ISSUE #1302](https://github.com/apache/shardingsphere/issues/1302) Refine package structure
 1. [ISSUE #1305](https://github.com/apache/shardingsphere/issues/1305) Deprecated and remove sharding-jdbc-transaction-parent module
-1. [ISSUE #1382](https://github.com/apache/shardingsphere/issues/1328) Remove type configuration in Orchestration module
+1. [ISSUE #1382](https://github.com/apache/shardingsphere/issues/1328) Remove type configuration in orchestration module
 
 ### Bug Fixes
 
@@ -313,7 +313,7 @@ Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First ap
 
 #### ShardingSphere-JDBC
 
-1. [ISSUE #522](https://github.com/apache/shardingsphere/issues/522) Replica database does not need to execute the DDL for primary-replica replication
+1. [ISSUE #522](https://github.com/apache/shardingsphere/issues/522) Replica database does not need to execute the DDL for replica query
 
 
 ## 2.0.2
@@ -367,7 +367,7 @@ Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First ap
 1. Support `spring-boot-starter` of `ShardingSphere-JDBC`
 1. Dynamic configuration. `ZooKeeper` and `etcd` can be used as registry to dynamically modify data sources and sharding configurations
 1. Database orchestration. Fusing database access procedures to access databases and disable access to replica databases
-1. ConfigMap support. Predefined metadata can be obtained in the sharding and primary-replica replication strategy
+1. ConfigMap support. Predefined metadata can be obtained in the sharding and replica query strategy
 1. Tracking system support. You can view the invocation chain of `ShardingSphere-JDBC` through `sky-walking` and other `Opentracing` based APM systems
 
 ### Enhancements
@@ -394,7 +394,7 @@ Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First ap
 1. [ISSUE #394](https://github.com/apache/shardingsphere/issues/394) Can't only close statement
 1. [ISSUE #398](https://github.com/apache/shardingsphere/issues/398) Use Hint routing to shield case sensitivity 
 1. [ISSUE #404](https://github.com/apache/shardingsphere/issues/404) Sharding-jdbc's spring-boot-starter does not support HikariDataSource
-1. [ISSUE #436](https://github.com/apache/shardingsphere/issues/436) Primary-replica replication, when the RoundRobin algorithm is configured from the database and MyBatis is used, it can only be routed to the same replica database
+1. [ISSUE #436](https://github.com/apache/shardingsphere/issues/436) Replica query, when the RoundRobin algorithm is configured from the database and MyBatis is used, it can only be routed to the same replica database
 1. [ISSUE #452](https://github.com/apache/shardingsphere/issues/452) Sharding of DDL statements to more than one table causes a connection leak
 1. [ISSUE #472](https://github.com/apache/shardingsphere/issues/472) Before Connection executes createStatement, it calls getMetaData first and then setAutoCommit can not take effective connection to the database that was created later
 
@@ -409,7 +409,7 @@ Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First ap
 ### Bug Fixes
 
 1. [ISSUE #356](https://github.com/apache/shardingsphere/issues/356) In the Where condition of SQL, the REGEXP operator is compatible with non sharding columns
-1. [ISSUE #362](https://github.com/apache/shardingsphere/issues/362) Primary-replica replication using PreparedStatement does not invoke the setParameter method to cause errors
+1. [ISSUE #362](https://github.com/apache/shardingsphere/issues/362) Replica query using PreparedStatement does not invoke the setParameter method to cause errors
 1. [ISSUE #370](https://github.com/apache/shardingsphere/issues/370) Error in calling getGeneratedKeys using native self increment primary key
 1. [ISSUE #375](https://github.com/apache/shardingsphere/issues/375) Data can not be obtained after paging second pages route to a single node
 1. [ISSUE #379](https://github.com/apache/shardingsphere/issues/379) When Mybatis is used to call Connection.getMetaData (), the connection is not close correct
@@ -418,8 +418,8 @@ Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First ap
 
 ### Enhancements
 
-1. [ISSUE #98](https://github.com/apache/shardingsphere/issues/98) Primary-replica replication load balancing strategy support configuration
-1. [ISSUE #196](https://github.com/apache/shardingsphere/issues/196) Primary-replica replication and sharding configuration independence
+1. [ISSUE #98](https://github.com/apache/shardingsphere/issues/98) Replica query load balancing strategy support configuration
+1. [ISSUE #196](https://github.com/apache/shardingsphere/issues/196) Replica query and sharding configuration independence
 
 ### Bug Fixes
 
@@ -579,14 +579,14 @@ Automatic generation key implementation, including
 
 ### Bug Fixes
 
-1. [ISSUE #89](https://github.com/apache/shardingsphere/issues/89) Use primary-replica replication with sharding hint leads to conflict
+1. [ISSUE #89](https://github.com/apache/shardingsphere/issues/89) Use replica query with sharding hint leads to conflict
 1. [ISSUE #95](https://github.com/apache/shardingsphere/issues/95) Write operations in the same thread read from the primary database changed to the same thread and within the same connection
 
 ## 1.3.0
 
 ### New Features
 
-1. [ISSUE #85](https://github.com/apache/shardingsphere/issues/85) primary-replica replication separation
+1. [ISSUE #85](https://github.com/apache/shardingsphere/issues/85) New feature for replica query
 
 ### Enhancements
 
diff --git a/docs/blog/content/material/proxy.en.md b/docs/blog/content/material/proxy.en.md
index eaf0d02..40cd678 100644
--- a/docs/blog/content/material/proxy.en.md
+++ b/docs/blog/content/material/proxy.en.md
@@ -36,7 +36,7 @@ Comparison with Sharding-JDBC & Sharding-Sidecar:
 
 ![](https://shardingsphere.apache.org/blog/img/comparsion_en.jpg)
 
-They can work individually and cooperate each other, which achieve same purpose through different architecture and point of penetration. Its core functions based on same implementation, such as data sharding, primary-replica replication and base transaction. 
+They can work individually and cooperate each other, which achieve same purpose through different architecture and point of penetration. Its core functions based on same implementation, such as data sharding, replica query and base transaction. 
 
 For instance, Sharding-JDBC highly supports many kinds of ORM framework for Java development technology stack scenarios. It's quite convenient to import data sharding ability to your system. DBA retrieves and manages data by deploying a Sharding-Proxy instance.
 
diff --git a/docs/community/content/contribute/document-contributor.cn.md b/docs/community/content/contribute/document-contributor.cn.md
index a2fd572..0878ace 100644
--- a/docs/community/content/contribute/document-contributor.cn.md
+++ b/docs/community/content/contribute/document-contributor.cn.md
@@ -44,8 +44,8 @@ shardingsphere
   │  │  │  ├─encrypt
   │  │  │  ├─governance
   │  │  │  ├─pluggable-architecture
-  │  │  │  ├─primary-replica-replication
-  │  │  │  ├─replica
+  │  │  │  ├─replica-query
+  │  │  │  ├─consensus-replica
   │  │  │  ├─scaling
   │  │  │  ├─shadow
   │  │  │  ├─sharding
diff --git a/docs/community/content/contribute/document-contributor.en.md b/docs/community/content/contribute/document-contributor.en.md
index 7f86502..64e094d 100644
--- a/docs/community/content/contribute/document-contributor.en.md
+++ b/docs/community/content/contribute/document-contributor.en.md
@@ -43,8 +43,8 @@ shardingsphere
   │  │  │  ├─encrypt
   │  │  │  ├─governance
   │  │  │  ├─pluggable-architecture
-  │  │  │  ├─primary-replica-replication
-  │  │  │  ├─replica
+  │  │  │  ├─replica-query
+  │  │  │  ├─consensus-replica
   │  │  │  ├─scaling
   │  │  │  ├─shadow
   │  │  │  ├─sharding
diff --git a/docs/document/content/dev-manual/configuration.cn.md b/docs/document/content/dev-manual/configuration.cn.md
index cc10299..1a9a791 100644
--- a/docs/document/content/dev-manual/configuration.cn.md
+++ b/docs/document/content/dev-manual/configuration.cn.md
@@ -7,31 +7,31 @@ chapter = true
 
 ## ShardingSphereRuleBuilder
 
-| *SPI 名称*                | *详细说明*                               |
-| ------------------------- | -------------------------------------- |
-| ShardingSphereRuleBuilder | 用于将用户配置转化为规则对象               |
-
-| *已知实现类*                          | *详细说明*                                      |
-| ------------------------------------ | ---------------------------------------------- |
-| ShardingRuleBuilder                  | 用于将分片用户配置转化为分片规则对象               |
-| PrimaryReplicaReplicationRuleBuilder | 用于将读写分离用户配置转化为读写分离规则对象        |
-| ConsensusReplicationRuleBuilder      | 用于将强一致多副本用户配置转化为强一致多副本规则对象 |
-| EncryptRuleBuilder                   | 用于将加密用户配置转化为加密规则对象               |
-| ShadowRuleBuilder                    | 用于将影子库用户配置转化为影子库规则对象           |
+| *SPI 名称*                       | *详细说明*                                     |
+| ------------------------------- | --------------------------------------------- |
+| ShardingSphereRuleBuilder       | 用于将用户配置转化为规则对象                      |
+
+| *已知实现类*                     | *详细说明*                                      |
+| ------------------------------- | ---------------------------------------------- |
+| ShardingRuleBuilder             | 用于将分片用户配置转化为分片规则对象               |
+| ReplicaQueryRuleBuilder         | 用于将读写分离用户配置转化为读写分离规则对象        |
+| ConsensusReplicationRuleBuilder | 用于将强一致多副本用户配置转化为强一致多副本规则对象 |
+| EncryptRuleBuilder              | 用于将加密用户配置转化为加密规则对象               |
+| ShadowRuleBuilder               | 用于将影子库用户配置转化为影子库规则对象           |
 
 ## YamlRuleConfigurationSwapper
 
-| *SPI 名称*                              | *详细说明*                                   |
-| --------------------------------------- | ------------------------------------------ |
-| YamlRuleConfigurationSwapper            | 用于将 YAML 配置转化为标准用户配置             |
-
-| *已知实现类*                                           | *详细说明*                                             |
-| ----------------------------------------------------- | ----------------------------------------------------- |
-| ShardingRuleConfigurationYamlSwapper                  | 用于将分片的 YAML 配置转化为分片标准配置                  |
-| PrimaryReplicaReplicationRuleConfigurationYamlSwapper | 用于将读写分离的 YAML 配置转化为读写分离标准配置           |
-| ConsensusReplicationRuleConfigurationYamlSwapper      | 用于将强一致多副本的 YAML 分片配置转化为强一致多副本标准配置 |
-| EncryptRuleConfigurationYamlSwapper                   | 用于将加密的 YAML 分片配置转化为加密标准配置               |
-| ShadowRuleConfigurationYamlSwapper                    | 用于将影子库的 YAML 分片配置转化为影子库标准配置           |
+| *SPI 名称*                                      | *详细说明*                                   |
+| ----------------------------------------------- | ------------------------------------------ |
+| YamlRuleConfigurationSwapper                    | 用于将 YAML 配置转化为标准用户配置             |
+
+| *已知实现类*                                      | *详细说明*                                             |
+| ------------------------------------------------ | ----------------------------------------------------- |
+| ShardingRuleConfigurationYamlSwapper             | 用于将分片的 YAML 配置转化为分片标准配置                  |
+| ReplicaQueryRuleConfigurationYamlSwapper         | 用于将读写分离的 YAML 配置转化为读写分离标准配置           |
+| ConsensusReplicationRuleConfigurationYamlSwapper | 用于将强一致多副本的 YAML 分片配置转化为强一致多副本标准配置 |
+| EncryptRuleConfigurationYamlSwapper              | 用于将加密的 YAML 分片配置转化为加密标准配置               |
+| ShadowRuleConfigurationYamlSwapper               | 用于将影子库的 YAML 分片配置转化为影子库标准配置           |
 
 ## ShardingSphereYamlConstruct
 
diff --git a/docs/document/content/dev-manual/configuration.en.md b/docs/document/content/dev-manual/configuration.en.md
index 8e42e38..b864267 100644
--- a/docs/document/content/dev-manual/configuration.en.md
+++ b/docs/document/content/dev-manual/configuration.en.md
@@ -7,31 +7,31 @@ chapter = true
 
 ## ShardingSphereRuleBuilder
 
-| *SPI Name*                | *Description*                                                                       |
-| ------------------------- | ----------------------------------------------------------------------------------- |
-| ShardingSphereRuleBuilder | Used to convert user configurations to rule objects                                 |
-
-| *Implementation Class*               | *Description*                                                                                               |
-| ------------------------------------ | ----------------------------------------------------------------------------------------------------------- |
-| ShardingRuleBuilder                  | Used to convert user sharding configurations to sharding rule objects                                       |
-| PrimaryReplicaReplicationRuleBuilder | Used to convert user primary-replica replication configurations to primary-replica replication rule objects |
-| ConsensusReplicationRuleBuilder      | Used to convert user consensus replication configurations to consensus replication rule objects             |
-| EncryptRuleBuilder                   | Used to convert user encryption configurations to encryption rule objects                                   |
-| ShadowRuleBuilder                    | Used to convert user shadow database configurations to shadow database rule objects                         |
+| *SPI Name*                      | *Description*                                                                                               |
+| ------------------------------- | ----------------------------------------------------------------------------------------------------------- |
+| ShardingSphereRuleBuilder       | Used to convert user configurations to rule objects                                                         |
+
+| *Implementation Class*          | *Description*                                                                                               |
+| ------------------------------- | ----------------------------------------------------------------------------------------------------------- |
+| ShardingRuleBuilder             | Used to convert user sharding configurations to sharding rule objects                                       |
+| ReplicaQueryRuleBuilder         | Used to convert user replica query configurations to replica query rule objects |
+| ConsensusReplicationRuleBuilder | Used to convert user consensus replication configurations to consensus replication rule objects             |
+| EncryptRuleBuilder              | Used to convert user encryption configurations to encryption rule objects                                   |
+| ShadowRuleBuilder               | Used to convert user shadow database configurations to shadow database rule objects                         |
 
 ## YamlRuleConfigurationSwapper
 
-| *SPI Name*                              | *Description*                                                                                |
-| --------------------------------------- | -------------------------------------------------------------------------------------------- |
-| YamlRuleConfigurationSwapper            | Used to convert YAML configuration to standard user configuration                            |
-
-| *Implementation Class*                                | *Description*                                                                                                        |
-| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
-| ShardingRuleConfigurationYamlSwapper                  | Used to convert YAML sharding configuration to standard sharding configuration                                       |
-| PrimaryReplicaReplicationRuleConfigurationYamlSwapper | Used to convert YAML primary-replica replication configuration to standard primary-replica replication configuration |
-| ConsensusReplicationRuleConfigurationYamlSwapper      | Used to convert YAML consensus replication configuration to standard consensus replication configuration             |
-| EncryptRuleConfigurationYamlSwapper                   | Used to convert YAML encryption configuration to standard encryption configuration                                   |
-| ShadowRuleConfigurationYamlSwapper                    | Used to convert YAML shadow database configuration to standard shadow database configuration                         |
+| *SPI Name*                                       | *Description*                                                                                            |
+| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
+| YamlRuleConfigurationSwapper                     | Used to convert YAML configuration to standard user configuration                                        |
+
+| *Implementation Class*                           | *Description*                                                                                            |
+| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
+| ShardingRuleConfigurationYamlSwapper             | Used to convert YAML sharding configuration to standard sharding configuration                           |
+| ReplicaQueryRuleConfigurationYamlSwapper         | Used to convert YAML replica query configuration to standard replica query configuration                 |
+| ConsensusReplicationRuleConfigurationYamlSwapper | Used to convert YAML consensus replication configuration to standard consensus replication configuration |
+| EncryptRuleConfigurationYamlSwapper              | Used to convert YAML encryption configuration to standard encryption configuration                       |
+| ShadowRuleConfigurationYamlSwapper               | Used to convert YAML shadow database configuration to standard shadow database configuration             |
 
 ## ShardingSphereYamlConstruct
 
diff --git a/docs/document/content/dev-manual/kernel.cn.md b/docs/document/content/dev-manual/kernel.cn.md
index bf12184..e3563c2 100644
--- a/docs/document/content/dev-manual/kernel.cn.md
+++ b/docs/document/content/dev-manual/kernel.cn.md
@@ -45,16 +45,16 @@ chapter = true
 
 ## SQLRouter
 
-| *SPI 名称*                | *详细说明*              |
-| ------------------------- | --------------------- |
-| SQLRouter                 | 用于处理路由结果        |
-
-| *已知实现类*                        | *详细说明*                |
-| ---------------------------------- | ------------------------ |
-| ShardingSQLRouter                  | 用于处理分片路由结果       |
-| PrimaryReplicaReplicationSQLRouter | 用于处理读写分离路由结果    |
-| ConsensusReplicationSQLRouter      | 用于处理强一致多副本路由结果 |
-| ShadowSQLRouter                    | 用于处理影子库路由结果      |
+| *SPI 名称*                   | *详细说明*                 |
+| ---------------------------- | ------------------------- |
+| SQLRouter                    | 用于处理路由结果            |
+
+| *已知实现类*                   | *详细说明*                |
+| ----------------------------- | ------------------------ |
+| ShardingSQLRouter             | 用于处理分片路由结果       |
+| ReplicaQuerySQLRouter         | 用于处理读写分离路由结果    |
+| ConsensusReplicationSQLRouter | 用于处理强一致多副本路由结果 |
+| ShadowSQLRouter               | 用于处理影子库路由结果      |
 
 ## SQLRewriteContextDecorator
 
diff --git a/docs/document/content/dev-manual/kernel.en.md b/docs/document/content/dev-manual/kernel.en.md
index 6f5857f..0acd352 100644
--- a/docs/document/content/dev-manual/kernel.en.md
+++ b/docs/document/content/dev-manual/kernel.en.md
@@ -45,16 +45,16 @@ chapter = true
 
 ## SQLRouter
 
-| *SPI Name*           | *Description*                                   |
-| -------------------- | ----------------------------------------------- |
-| SQLRouter            | Used to process routing results                 |
-
-| *Implementation Class*             | *Description*                                               |
-| ---------------------------------- | ----------------------------------------------------------- |
-| ShardingSQLRouter                  | Used to process sharding routing results                    |
-| PrimaryReplicaReplicationSQLRouter | Used to process primary-replica replication routing results |
-| ConsensusReplicationSQLRouter      | Used to process consensus replication routing results       |
-| ShadowRouteSQLRouter               | Used to process shadow database routing results             |
+| *SPI Name*                    | *Description*                                         |
+| ----------------------------- | ----------------------------------------------------- |
+| SQLRouter                     | Used to process routing results                       |
+
+| *Implementation Class*        | *Description*                                         |
+| ----------------------------- | ----------------------------------------------------- |
+| ShardingSQLRouter             | Used to process sharding routing results              |
+| ReplicaQuerySQLRouter         | Used to process replica query routing results         |
+| ConsensusReplicationSQLRouter | Used to process consensus replication routing results |
+| ShadowRouteSQLRouter          | Used to process shadow database routing results       |
 
 ## SQLRewriteContextDecorator
 
diff --git a/docs/document/content/dev-manual/primary-replica-replication.cn.md b/docs/document/content/dev-manual/replica-query.cn.md
similarity index 100%
rename from docs/document/content/dev-manual/primary-replica-replication.cn.md
rename to docs/document/content/dev-manual/replica-query.cn.md
diff --git a/docs/document/content/dev-manual/primary-replica-replication.en.md b/docs/document/content/dev-manual/replica-query.en.md
similarity index 95%
rename from docs/document/content/dev-manual/primary-replica-replication.en.md
rename to docs/document/content/dev-manual/replica-query.en.md
index cbb5285..5282fc3 100644
--- a/docs/document/content/dev-manual/primary-replica-replication.en.md
+++ b/docs/document/content/dev-manual/replica-query.en.md
@@ -1,6 +1,6 @@
 +++
 pre = "<b>5.5. </b>"
-title = "Primary-Replica Replication"
+title = "Replica Query"
 weight = 5
 chapter = true
 +++
diff --git a/docs/document/content/faq/_index.cn.md b/docs/document/content/faq/_index.cn.md
index 76f61a1..ca91357 100644
--- a/docs/document/content/faq/_index.cn.md
+++ b/docs/document/content/faq/_index.cn.md
@@ -27,7 +27,7 @@ ShardingSphere使用lombok实现极简代码。关于更多使用和安装细节
 Spring命名空间使用规范并未强制要求将xsd文件部署至公网地址,但考虑到部分用户的需求,我们也将相关xsd文件部署至ShardingSphere官网。
 
 实际上 shardingsphere-jdbc-spring-namespace 的 jar 包中 META-INF\spring.schemas 配置了 xsd 文件的位置:
-META-INF\namespace\sharding.xsd 和 META-INF\namespace\primary-replica-replication.xsd,只需确保 jar 包中该文件存在即可。
+META-INF\namespace\sharding.xsd 和 META-INF\namespace\replica-query.xsd,只需确保 jar 包中该文件存在即可。
 
 ## 4. Cloud not resolve placeholder ... in string value ...异常的解决方法?
 
diff --git a/docs/document/content/faq/_index.en.md b/docs/document/content/faq/_index.en.md
index 4baa62c..4ff796b 100644
--- a/docs/document/content/faq/_index.en.md
+++ b/docs/document/content/faq/_index.en.md
@@ -26,7 +26,7 @@ Answer:
 The use norm of Spring Namespace does not require to deploy xsd files to the official website. But considering some users' needs, we will deploy them to ShardingSphere's official website.
 
 Actually, META-INF\spring.schemas in the jar package of shardingsphere-jdbc-spring-namespace has been configured with the position of xsd files: 
-META-INF\namespace\sharding.xsd and META-INF\namespace\primary-replica-replication.xsd, so you only need to make sure that the file is in the jar package.
+META-INF\namespace\sharding.xsd and META-INF\namespace\replica-query.xsd, so you only need to make sure that the file is in the jar package.
 
 ## 4. How to solve `Cloud not resolve placeholder … in string value …` error?
 
diff --git a/docs/document/content/features/encrypt/principle.en.md b/docs/document/content/features/encrypt/principle.en.md
index 7f15799..1213ef1 100644
--- a/docs/document/content/features/encrypt/principle.en.md
+++ b/docs/document/content/features/encrypt/principle.en.md
@@ -131,7 +131,7 @@ Such a simple and rough way, based on historical experience, will definitely not
 
 Then another relatively safe approach is to rebuild a pre-release environment exactly like the production environment, 
 and then encrypt the **Inventory plaintext data** of the production environment through the relevant migration and washing tools and store it in the pre-release environment. 
-The **Increment data** is encrypted by tools such as MySQL primary-replica replication and the business party ’s own development, 
+The **Increment data** is encrypted by tools such as MySQL replica query and the business party ’s own development, 
 encrypted and stored in the database of the pre-release environment, and then the refactored code can be deployed to the pre-release environment. 
 In this way, the production environment is a set of environment for **modified/queries with plain text as the core**; 
 the pre-release environment is a set of **encrypt/decrypt queries modified with ciphertext as the core**. 
diff --git a/docs/document/content/features/governance/management/config-center.cn.md b/docs/document/content/features/governance/management/config-center.cn.md
index 3e47aa6..ec4dba9 100644
--- a/docs/document/content/features/governance/management/config-center.cn.md
+++ b/docs/document/content/features/governance/management/config-center.cn.md
@@ -87,7 +87,7 @@ rules:
 - !SHARDING
   xxx
   
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   xxx
   
 - !ENCRYPT
diff --git a/docs/document/content/features/governance/management/config-center.en.md b/docs/document/content/features/governance/management/config-center.en.md
index 08d03c5..0bac859 100644
--- a/docs/document/content/features/governance/management/config-center.en.md
+++ b/docs/document/content/features/governance/management/config-center.en.md
@@ -80,14 +80,14 @@ dataSources:
 
 ### /schemas/${schemeName}/rule
 
-Rule configurations, including sharding, primary-replica replication, data encryption, shadow DB, consensus replication configurations.
+Rule configurations, including sharding, replica query, data encryption, shadow DB, consensus replication configurations.
 
 ```yaml
 rules:
 - !SHARDING
   xxx
   
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   xxx
   
 - !ENCRYPT
diff --git a/docs/document/content/features/governance/management/registry-center.en.md b/docs/document/content/features/governance/management/registry-center.en.md
index 6fbca2e..893cfcc 100644
--- a/docs/document/content/features/governance/management/registry-center.en.md
+++ b/docs/document/content/features/governance/management/registry-center.en.md
@@ -52,7 +52,7 @@ Zookeeper command is as follows:
 
 ### Disable Replica Database
 
-Under primary-replica replication scenarios, users can write `DISABLED` (case insensitive) to sub-nodes of data source name to disable replica database sources. Delete `DISABLED` or the node to enable it.
+Under replica query scenarios, users can write `DISABLED` (case insensitive) to sub-nodes of data source name to disable replica database sources. Delete `DISABLED` or the node to enable it.
 
 Zookeeper command is as follows:
 
diff --git a/docs/document/content/features/pluggable-architecture/_index.en.md b/docs/document/content/features/pluggable-architecture/_index.en.md
index 296c40b..75b4f2b 100644
--- a/docs/document/content/features/pluggable-architecture/_index.en.md
+++ b/docs/document/content/features/pluggable-architecture/_index.en.md
@@ -17,7 +17,7 @@ It needs to make each module decouple to independent and imperceptible to each o
 Design an architecture to completely isolate each function, not only can stimulate the enthusiasm of the open source community, but also can guarantee the quality of the project.
 
 Apache ShardingSphere begin to focus on pluggable architecture from version 5.x, features can be embedded into project flexibility.
-Currently, the features such as data sharding, primary-replica replication, consensus replication, data encrypt, shadow test, and SQL dialects / database protocols such as MySQL, PostgreSQL, SQLServer, Oracle supported are all weaved by plugins.
+Currently, the features such as data sharding, replica query, consensus replication, data encrypt, shadow test, and SQL dialects / database protocols such as MySQL, PostgreSQL, SQLServer, Oracle supported are all weaved by plugins.
 There are lots of SPI extensions for Apache ShardingSphere now and increase continuously.
 
 ## Goal
diff --git a/docs/document/content/features/primary-replica-replication/_index.en.md b/docs/document/content/features/primary-replica-replication/_index.en.md
deleted file mode 100644
index c9ef2d5..0000000
--- a/docs/document/content/features/primary-replica-replication/_index.en.md
+++ /dev/null
@@ -1,28 +0,0 @@
-+++
-pre = "<b>3.3. </b>"
-title = "Primary-Replica Replication"
-weight = 3
-chapter = true
-+++
-
-## Background
-
-With increasing system TPS, database capacity has faced great bottleneck effect. For the application system with massive concurrence read operations but less write operations in the same time, we can divide the database into a primary database and a replica database. The primary database is responsible for the addition, deletion and modification of transactions, while the replica database is responsible for queries. It can significantly improve the query performance of the whole system b [...]
-
-One primary database with multiple replica databases can further enhance system processing capacity by distributing queries evenly into multiple data replicas. Multiple primary databases with multiple replica databases can enhance not only system throughput but also system availability. Therefore, the system can still function normally, even though any database is down or physical disk is destroyed.
-
-Different from the horizontal sharding that separates data to all nodes according to sharding keys, primary-replica replication routes read operations and write operations separately to the primary database and the replica database according to SQL meaning analysis.
-
-![Primary-replica replication](https://shardingsphere.apache.org/document/current/img/read-write-split/read-write-split.png)
-
-Data in primary-replica replication split nodes is consistent, whereas that in horizontal shards is not. The combined use of horizontal sharding and primary-replica replication will effectively enhance the system performance.
-
-## Challenges
-
-Though primary-replica replication can enhance system throughput and availability, it also brings inconsistent data, including that between multiple primary databases and between primary databases and replica databases. What's more, it also brings the same problem as data sharding, complicating app developer and operator's maintenance and operation. The following picture has shown the complex topological relations between applications and database groups when sharding table and database  [...]
-
-![Sharding + Primary-Replica Replication](https://shardingsphere.apache.org/document/current/img/read-write-split/sharding-read-write-split.png)
-
-## Goal
-
-**The main design goal of the primary-replica replication modular of ShardingSphere is to try to reduce the influence of primary-replica replication, in order to let users use primary-replica replication database group like one database.**
\ No newline at end of file
diff --git a/docs/document/content/features/primary-replica-replication/_index.cn.md b/docs/document/content/features/replica-query/_index.cn.md
similarity index 94%
rename from docs/document/content/features/primary-replica-replication/_index.cn.md
rename to docs/document/content/features/replica-query/_index.cn.md
index 8f8e56e..559bfad 100644
--- a/docs/document/content/features/primary-replica-replication/_index.cn.md
+++ b/docs/document/content/features/replica-query/_index.cn.md
@@ -15,7 +15,7 @@ chapter = true
 
 与将数据根据分片键打散至各个数据节点的水平分片不同,读写分离则是根据SQL语义的分析,将读操作和写操作分别路由至主库与从库。
 
-![读写分离](https://shardingsphere.apache.org/document/current/img/read-write-split/read-write-split.png)
+![读写分离](https://shardingsphere.apache.org/document/current/img/replica-query/replica-query-standalone.png)
 
 读写分离的数据节点中的数据内容是一致的,而水平分片的每个数据节点的数据内容却并不相同。将水平分片和读写分离联合使用,能够更加有效的提升系统性能。
 
@@ -26,7 +26,7 @@ chapter = true
 并且,读写分离也带来了与数据分片同样的问题,它同样会使得应用开发和运维人员对数据库的操作和运维变得更加复杂。
 下图展现了将分库分表与读写分离一同使用时,应用程序与数据库集群之间的复杂拓扑关系。
 
-![数据分片 + 读写分离](https://shardingsphere.apache.org/document/current/img/read-write-split/sharding-read-write-split.png)
+![数据分片 + 读写分离](https://shardingsphere.apache.org/document/current/img/replica-query/sharding-and-replica-query.png)
 
 ## 目标
 
diff --git a/docs/document/content/features/replica-query/_index.en.md b/docs/document/content/features/replica-query/_index.en.md
new file mode 100644
index 0000000..4bf7455
--- /dev/null
+++ b/docs/document/content/features/replica-query/_index.en.md
@@ -0,0 +1,28 @@
++++
+pre = "<b>3.3. </b>"
+title = "Replica query"
+weight = 3
+chapter = true
++++
+
+## Background
+
+With increasing system TPS, database capacity has faced great bottleneck effect. For the application system with massive concurrence read operations but less write operations in the same time, we can divide the database into a primary database and a replica database. The primary database is responsible for the addition, deletion and modification of transactions, while the replica database is responsible for queries. It can significantly improve the query performance of the whole system b [...]
+
+One primary database with multiple replica databases can further enhance system processing capacity by distributing queries evenly into multiple data replicas. Multiple primary databases with multiple replica databases can enhance not only system throughput but also system availability. Therefore, the system can still function normally, even though any database is down or physical disk is destroyed.
+
+Different from the horizontal sharding that separates data to all nodes according to sharding keys, replica query routes read operations and write operations separately to the primary database and the replica database according to SQL meaning analysis.
+
+![Query from Replica](https://shardingsphere.apache.org/document/current/img/replica-query/replica-query-standalone.png)
+
+Data in replica query split nodes is consistent, whereas that in horizontal shards is not. The combined use of horizontal sharding and replica query will effectively enhance the system performance.
+
+## Challenges
+
+Though replica query can enhance system throughput and availability, it also brings inconsistent data, including that between multiple primary databases and between primary databases and replica databases. What's more, it also brings the same problem as data sharding, complicating app developer and operator's maintenance and operation. The following picture has shown the complex topological relations between applications and database groups when sharding table and database used together  [...]
+
+![Sharding + Replica query](https://shardingsphere.apache.org/document/current/img/replica-query/sharding-and-replica-query.png)
+
+## Goal
+
+**The main design goal of the replica query modular of ShardingSphere is to try to reduce the influence of replica query, in order to let users use replica query database group like one database.**
\ No newline at end of file
diff --git a/docs/document/content/features/primary-replica-replication/concept.cn.md b/docs/document/content/features/replica-query/concept.cn.md
similarity index 100%
rename from docs/document/content/features/primary-replica-replication/concept.cn.md
rename to docs/document/content/features/replica-query/concept.cn.md
diff --git a/docs/document/content/features/primary-replica-replication/concept.en.md b/docs/document/content/features/replica-query/concept.en.md
similarity index 78%
rename from docs/document/content/features/primary-replica-replication/concept.en.md
rename to docs/document/content/features/replica-query/concept.en.md
index 1053bcd..d849e3d 100644
--- a/docs/document/content/features/primary-replica-replication/concept.en.md
+++ b/docs/document/content/features/replica-query/concept.en.md
@@ -12,10 +12,10 @@ It refers to the database used in data insertion, update and deletion. It only s
 
 It refers to the database used in data query. It supports multiple replica databases.
 
-## Primary replica Replication
+## Primary Replica Replication
 
 It refers to the operation to asynchronously replicate data from the primary database to the replica database. 
-Because of primary-replica replication asynchronization, there may be short-time data inconsistency between them.  
+Because of replica query asynchronization, there may be short-time data inconsistency between them.  
 
 ## Load Balance Strategy
 
diff --git a/docs/document/content/features/primary-replica-replication/use-norms.cn.md b/docs/document/content/features/replica-query/use-norms.cn.md
similarity index 100%
rename from docs/document/content/features/primary-replica-replication/use-norms.cn.md
rename to docs/document/content/features/replica-query/use-norms.cn.md
diff --git a/docs/document/content/features/primary-replica-replication/use-norms.en.md b/docs/document/content/features/replica-query/use-norms.en.md
similarity index 61%
rename from docs/document/content/features/primary-replica-replication/use-norms.en.md
rename to docs/document/content/features/replica-query/use-norms.en.md
index ed66a2b..b6be3a8 100644
--- a/docs/document/content/features/primary-replica-replication/use-norms.en.md
+++ b/docs/document/content/features/replica-query/use-norms.en.md
@@ -6,8 +6,8 @@ weight = 2
 
 ## Supported Items
 
-* Provide the primary-replica replication configuration of one primary database with multiple replica databases, which can be used alone or with sharding table and database;
-* Support SQL pass-through in independent use of primary-replica replication;
+* Provide the replica query configuration of one primary database with multiple replica databases, which can be used alone or with sharding table and database;
+* Support SQL pass-through in independent use of replica query;
 * If there is write operation in the same thread and database connection, all the following read operations are from the primary database to ensure data consistency;
 * Forcible primary database route based on SQL Hint;
 
@@ -17,4 +17,4 @@ weight = 2
 * Data inconsistency caused by replication delay between databases;
 * Double or multiple primary databases to provide write operation;
 * The data for transaction across primary and replica nodes are inconsistent. 
-In the primary-replica replication model, the primary nodes need to be used for both reading and writing in the transaction.
+In the replica query model, the primary nodes need to be used for both reading and writing in the transaction.
diff --git a/docs/document/content/features/sharding/_index.en.md b/docs/document/content/features/sharding/_index.en.md
index c610b2d..ce2ea36 100644
--- a/docs/document/content/features/sharding/_index.en.md
+++ b/docs/document/content/features/sharding/_index.en.md
@@ -11,13 +11,13 @@ The traditional solution that stores all the data in one concentrated node has h
 
 In performance, the relational database mostly uses B+ tree index. When the data amount exceeds the threshold, deeper index will increase the disk IO access number, and thereby, weaken the performance of query. In the same time, high concurrency requests also make the centralized database to be the greatest limitation of the system.
 
-In availability, capacity can be expanded at a relatively low cost and any extent with stateless service, which can make all the pressure, at last, fall on the database. But the single data node or simple primary-replica replication structure has been harder and harder to take these pressures. Therefore, database availability has become the key to the whole system.
+In availability, capacity can be expanded at a relatively low cost and any extent with stateless service, which can make all the pressure, at last, fall on the database. But the single data node or simple replica query structure has been harder and harder to take these pressures. Therefore, database availability has become the key to the whole system.
 
 From the aspect of operation costs, when the data in a database instance has reached above the threshold, DBA’s operation pressure will also increase. The time cost of data backup and data recovery will be more uncontrollable with increasing amount of data. Generally, it is a relatively reasonable range for the data in single database case to be within 1TB.
 
 Under the circumstance that traditional relational databases cannot satisfy the requirement of the Internet, there are more and more attempts to store the data in native distributed NoSQL. But its incompatibility with SQL and imperfection in ecosystem block it from defeating the relational database in the competition, so the relational database still holds an unshakable position.
 
-Sharding refers to splitting the data in one database and storing them in multiple tables and databases according to some certain standard, so that the performance and availability can be improved. Both methods can effectively avoid the query limitation caused by data exceeding affordable threshold. What’s more, database sharding can also effectively disperse TPS. Table sharding, though cannot ease the database pressure, can provide possibilities to transfer distributed transactions to l [...]
+Sharding refers to splitting the data in one database and storing them in multiple tables and databases according to some certain standard, so that the performance and availability can be improved. Both methods can effectively avoid the query limitation caused by data exceeding affordable threshold. What’s more, database sharding can also effectively disperse TPS. Table sharding, though cannot ease the database pressure, can provide possibilities to transfer distributed transactions to l [...]
 
 Splitting data through database sharding and table sharding is an effective method to deal with high TPS and mass amount data system, because it can keep the data amount lower than the threshold and evacuate the traffic. 
 Sharding method can be divided into vertical sharding and horizontal sharding.
diff --git a/docs/document/content/features/sharding/concept/configuration.en.md b/docs/document/content/features/sharding/concept/configuration.en.md
index 5fd4eee..906ec53 100644
--- a/docs/document/content/features/sharding/concept/configuration.en.md
+++ b/docs/document/content/features/sharding/concept/configuration.en.md
@@ -5,7 +5,7 @@ weight = 3
 
 ## Sharding Rule
 
-The main entrance for Sharding rules includes the configurations of data source, tables, binding tables and primary-replica replication.
+The main entrance for Sharding rules includes the configurations of data source, tables, binding tables and replica query.
 
 ## Data Sources Configuration
 
diff --git a/docs/document/content/features/sharding/principle/execute.en.md b/docs/document/content/features/sharding/principle/execute.en.md
index 31c8e95..7ba9a8c 100644
--- a/docs/document/content/features/sharding/principle/execute.en.md
+++ b/docs/document/content/features/sharding/principle/execute.en.md
@@ -70,7 +70,7 @@ For example, suppose one query needs to acquire two database connections from a
 To avoid the deadlock, ShardingSphere will go through synchronous processing when acquiring database connection. When creating execution units, it acquires all the database connections that this SQL requires for once with atomic method and reduces the possibility of acquiring only part of the resources. Due to the high operation frequency, locking the connection each time when acquiring it can decrease ShardingSphere's concurrency. Therefore, it has improved two aspects here:
 
 1. Avoid the setting that locking only takes one database connection each time. Because under this kind of circumstance, two requests waiting for each other will not happen, so there is no need for locking. 
-Most OLTP operations use sharding keys to route to the only data node, which will make the system in a totally unlocked state, thereby improve the concurrency efficiency further. In addition to routing to a single shard, primary-replica replication also belongs to this category.
+Most OLTP operations use sharding keys to route to the only data node, which will make the system in a totally unlocked state, thereby improve the concurrency efficiency further. In addition to routing to a single shard, replica query also belongs to this category.
 
 2. Only aim at MEMORY_STRICTLY mode to lock resources. When using CONNECTION_STRICTLY mode, all the query result sets will release database connection resources after loading them to the memory, so deadlock wait will not appear.
 
diff --git a/docs/document/content/features/test-engine/_index.cn.md b/docs/document/content/features/test-engine/_index.cn.md
index a03d3f9..32fec84 100644
--- a/docs/document/content/features/test-engine/_index.cn.md
+++ b/docs/document/content/features/test-engine/_index.cn.md
@@ -17,4 +17,4 @@ SQL解析单元测试全面覆盖SQL占位符和字面量维度。整合测试
 >
 >SQL-TYPE : 是 DAL,DCL,DDL,DML,DQL,TCL 中的某一个或者集合
 >
->SHARDING-TYPE : 是 db,dbtbl_with_primary_replica_replication,primary_replica_replication,tbl 中的某一个或者集合
+>SHARDING-TYPE : 是 db,dbtbl_with_replica_query,replica_query,tbl 中的某一个或者集合
diff --git a/docs/document/content/features/test-engine/_index.en.md b/docs/document/content/features/test-engine/_index.en.md
index 41ff152..45b3d02 100644
--- a/docs/document/content/features/test-engine/_index.en.md
+++ b/docs/document/content/features/test-engine/_index.en.md
@@ -11,7 +11,7 @@ each engine is suit for H2、MySQL、PostgreSQL、SQLServer and Oracle.
 To make the test engine more easy to get start, all test engines in shardingsphere are designed to modify the configuration files to execute all assertions without any **Java code** modification.
 
 The SQL parsing unit test covers both SQL placeholder and literal dimension. 
-Integration test can be further divided into two dimensions of strategy and JDBC; the former one includes strategies as Sharding, table Sharding, database Sharding, and primary-replica replication while the latter one includes `Statement` and `PreparedStatement`.
+Integration test can be further divided into two dimensions of strategy and JDBC; the former one includes strategies as Sharding, table Sharding, database Sharding, and replica query while the latter one includes `Statement` and `PreparedStatement`.
 
 Therefore, one SQL can drive 5 kinds of database parsing * 2 kinds of parameter transmission modes + 5 kinds of databases * 5 kinds of Sharding strategies * 2 kinds of JDBC operation modes = 60 test cases, to enable ShardingSphere to achieve the pursuit of high quality.
 
@@ -19,4 +19,4 @@ Therefore, one SQL can drive 5 kinds of database parsing * 2 kinds of parameter
 >
 >SQL-TYPE : is one of or collection of dal,dcl,ddl,dml,dql,tcl
 >
->SHARDING-TYPE : is one of or collection of db,dbtbl_with_primary_replica_replication,primary_replica_replication,tbl
+>SHARDING-TYPE : is one of or collection of db,dbtbl_with_replica_query,replica_query,tbl
diff --git a/docs/document/content/features/test-engine/integration-test-engine.cn.md b/docs/document/content/features/test-engine/integration-test-engine.cn.md
index 31664fc..801de5a 100644
--- a/docs/document/content/features/test-engine/integration-test-engine.cn.md
+++ b/docs/document/content/features/test-engine/integration-test-engine.cn.md
@@ -33,7 +33,7 @@ Junit 中的 `Parameterized` 会聚合起所有的测试数据,并将测试数
 run.additional.cases=false
 
 # 分片策略,可指定多种策略
-sharding.rule.type=db,tbl,dbtbl_with_primary_replica_replication,primary_replica_replication
+sharding.rule.type=db,tbl,dbtbl_with_replica_query,replica_query
 
 # 要测试的数据库,可以指定多种数据库(H2,MySQL,Oracle,SQLServer,PostgreSQL)
 databases=MySQL,PostgreSQL
diff --git a/docs/document/content/features/test-engine/integration-test-engine.en.md b/docs/document/content/features/test-engine/integration-test-engine.en.md
index b1e3438..d134cc7 100644
--- a/docs/document/content/features/test-engine/integration-test-engine.en.md
+++ b/docs/document/content/features/test-engine/integration-test-engine.en.md
@@ -32,7 +32,7 @@ Firstly, setup configuration file `/shardingsphere-test-suite/src/test/resources
 run.additional.cases=false
 
 # sharding rule, could define multiple rules
-sharding.rule.type=db,tbl,dbtbl_with_primary_replica_replication,primary_replica_replication
+sharding.rule.type=db,tbl,dbtbl_with_replica_query_,replica_query_
 
 # database type, could define multiple databases(H2,MySQL,Oracle,SQLServer,PostgreSQL)
 databases=MySQL,PostgreSQL
diff --git a/docs/document/content/features/test-engine/performance-test.cn.md b/docs/document/content/features/test-engine/performance-test.cn.md
index a454f62..ae01e24 100644
--- a/docs/document/content/features/test-engine/performance-test.cn.md
+++ b/docs/document/content/features/test-engine/performance-test.cn.md
@@ -130,7 +130,7 @@ dataSources:
     idleTimeoutMilliseconds: 60000
     maxLifetimeMilliseconds: 1800000
     maxPoolSize: 200
-primaryReplicaReplicationRule:
+replicaQueryRule:
   name: pr_ds
   primaryDataSourceName: primary_ds
   replicaDataSourceNames:
@@ -227,7 +227,7 @@ shardingRule:
   defaultDataSourceName: primary_ds_1
   defaultTableStrategy:
     none:
-  primaryReplicaReplicationRules:
+  replicaQueryRules:
     pr_ds_0:
       primaryDataSourceName: primary_ds_0
       replicaDataSourceNames:
diff --git a/docs/document/content/features/test-engine/performance-test.en.md b/docs/document/content/features/test-engine/performance-test.en.md
index 2ace021..59ae085 100644
--- a/docs/document/content/features/test-engine/performance-test.en.md
+++ b/docs/document/content/features/test-engine/performance-test.en.md
@@ -6,7 +6,7 @@ weight = 5
 
 ## Target
 
-The performance of ShardingSphere-JDBC, ShardingSphere-Proxy and MySQL would be compared here. INSERT & UPDATE & DELETE which regarded as a set of associated operation and SELECT which focus on sharding optimization are used to evaluate performance for the basic scenarios (single route, primary-replica replication & encrypt & sharding, full route). While another set of associated operation, INSERT & SELECT & DELETE, is used to evaluate performance for primary-replica replication.
+The performance of ShardingSphere-JDBC, ShardingSphere-Proxy and MySQL would be compared here. INSERT & UPDATE & DELETE which regarded as a set of associated operation and SELECT which focus on sharding optimization are used to evaluate performance for the basic scenarios (single route, replica query & encrypt & sharding, full route). While another set of associated operation, INSERT & SELECT & DELETE, is used to evaluate performance for replica query.
 To achieve the result better, these tests are performed with jmeter which based on a certain amount of data with 20 concurrent threads for 30 minutes, and one MySQL has been deployed on one machine, while the scenario of MySQL used for comparison is deployed on one machine with one instance.
 
 ## Test Scenarios
@@ -16,12 +16,12 @@ To achieve the result better, these tests are performed with jmeter which based
 On the basis of one thousand data volume, four databases that are deployed on the same machine and each contains 1024 tables with `id` used for database sharding and `k` used for table sharding are designed for this scenario, single route select sql statement is chosen here.
 While as a comparison, MySQL runs with INSERT & UPDATE & DELETE statement and single route select sql statement on the basis of one thousand data volume.
 
-### Primary-Replica Replication
+### Replica Query
 
 One primary database and one replica database, which are deployed on different machines, are designed for this scenario based on ten thousand data volume.
 While as a comparison, MySQL runs with INSERT & SELECT & DELETE sql statement on the basis of ten thousand data volume.
 
-### Primary-Replica Replication & Encrypt & Sharding
+### Replica Query & Encrypt & Sharding
 
 On the basis of one thousand data volume, four databases that are deployed on different machines and each contains 1024 tables with `id` used for database sharding, `k` used for table sharding, `c` encrypted with aes and  `pad` encrypted with md5 are designed for this scenario, single route select sql statement is chosen here.
 While as a comparison, MySQL runs with INSERT & UPDATE & DELETE statement and single route select sql statement on the basis of one thousand data volume.
@@ -109,7 +109,7 @@ shardingRule:
       none:
 ```
 
-#### Primary-Replica Replication Configuration
+#### Replica Query Configuration
 
 ```yaml
 schemaName: sharding_db
@@ -131,14 +131,14 @@ dataSources:
     idleTimeoutMilliseconds: 60000
     maxLifetimeMilliseconds: 1800000
     maxPoolSize: 200
-primaryReplicaReplicationRule:
+replicaQueryRule:
   name: pr_ds
   primaryDataSourceName: primary_ds
   replicaDataSourceNames:
     - replica_ds_0
 ```
 
-#### Primary-Replica Replication & Encrypt & Sharding Configuration
+#### Replica Query & Encrypt & Sharding Configuration
 
 ```yaml
 schemaName: sharding_db
@@ -228,7 +228,7 @@ shardingRule:
   defaultDataSourceName: primary_ds_1
   defaultTableStrategy:
     none:
-  primaryReplicaReplicationRules:
+  replicaQueryRules:
     pr_ds_0:
       primaryDataSourceName: primary_ds_0
       replicaDataSourceNames:
diff --git a/docs/document/content/overview/_index.en.md b/docs/document/content/overview/_index.en.md
index 2322fe6..27f4636 100644
--- a/docs/document/content/overview/_index.en.md
+++ b/docs/document/content/overview/_index.en.md
@@ -18,7 +18,7 @@ Aiming at reasonably making full use of the computation and storage capacity of
 As the cornerstone of many enterprises, relational database still takes a huge market share. Therefore, at current stage, we prefer to focus on its increment instead of a total overturn.
 
 Apache ShardingSphere begin to focus on pluggable architecture from version 5.x, features can be embedded into project flexibility.
-Currently, the features such as data sharding, primary-replica replication, consensus replication, data encrypt, shadow test, and SQL dialects / database protocols such as MySQL, PostgreSQL, SQLServer, Oracle supported are all weaved by plugins.
+Currently, the features such as data sharding, replica query, consensus replication, data encrypt, shadow test, and SQL dialects / database protocols such as MySQL, PostgreSQL, SQLServer, Oracle supported are all weaved by plugins.
 Developers can customize their own ShardingSphere just like building lego blocks. There are lots of SPI extensions for Apache ShardingSphere now and increase continuously.
 
 ShardingSphere became an [Apache](https://apache.org/index.html#projects-list) Top Level Project on April 16 2020.
@@ -104,7 +104,7 @@ Architects can adjust the system architecture to the most applicable one to curr
 ### Data Sharding
 
 * Database sharding & Table sharding
-* Primary-replica replication
+* Replica query
 * Sharding strategy customization
 * Centre-less Distributed primary key
 
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/_index.en.md
index 1534865..344e007 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/_index.en.md
@@ -11,4 +11,4 @@ through which developers can quickly and clearly understand the functions provid
 This chapter is a configuration manual for ShardingSphere-JDBC, which can also be referred to as a dictionary if necessary.
 
 ShardingSphere-JDBC has provided 4 kinds of configuration methods for different situations. 
-By configuration, application developers can flexibly use data sharding, primary-replica replication, consensus replication, data encryption, shadow database or the combination of them.
+By configuration, application developers can flexibly use data sharding, replica query, consensus replication, data encryption, shadow database or the combination of them.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/primary-replica-replication.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/replica-query.cn.md
similarity index 72%
rename from docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/primary-replica-replication.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/replica-query.cn.md
index 68def1d..739b529 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/primary-replica-replication.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/replica-query.cn.md
@@ -5,18 +5,18 @@ weight = 2
 
 ## 配置入口
 
-类名称:PrimaryReplicaReplicationRuleConfiguration
+类名称:ReplicaQueryRuleConfiguration
 
 可配置属性:
 
-| *名称*             | *数据类型*                                                         | *说明*            |
-| ----------------- | ------------------------------------------------------------------ | ----------------- |
-| dataSources (+)   | Collection\<PrimaryReplicaReplicationDataSourceRuleConfiguration\> | 主从数据源配置      |
-| loadBalancers (*) | Map\<String, ShardingSphereAlgorithmConfiguration\>                | 从库负载均衡算法配置 |
+| *名称*             | *数据类型*                                             | *说明*            |
+| ----------------- | ----------------------------------------------------- | ----------------- |
+| dataSources (+)   | Collection\<ReplicaQueryDataSourceRuleConfiguration\> | 主从数据源配置      |
+| loadBalancers (*) | Map\<String, ShardingSphereAlgorithmConfiguration\>   | 从库负载均衡算法配置 |
 
 ## 主从数据源配置
 
-类名称:PrimaryReplicaReplicationDataSourceRuleConfiguration
+类名称:ReplicaQueryDataSourceRuleConfiguration
 
 可配置属性:
 
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/primary-replica-replication.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/replica-query.en.md
similarity index 59%
rename from docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/primary-replica-replication.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/replica-query.en.md
index 36add84..ef2f9b6 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/primary-replica-replication.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/java-api/replica-query.en.md
@@ -1,28 +1,28 @@
 +++
-title = "Primary-Replica Replication"
+title = "Replica Query"
 weight = 2
 +++
 
 ## Root Configuration
 
-Class name: PrimaryReplicaReplicationRuleConfiguration
+Class name: ReplicaQueryRuleConfiguration
 
 Attributes:
 
-| *Name*            | *DataType*                                                         | *Description*                                                        |
-| ----------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------- |
-| dataSources (+)   | Collection\<PrimaryReplicaReplicationDataSourceRuleConfiguration\> | Data sources of primary and replicas                                 |
-| loadBalancers (*) | Map\<String, ShardingSphereAlgorithmConfiguration\>                | Load balance algorithm name and configurations of replica data sources |
+| *Name*            | *DataType*                                            | *Description*                                                          |
+| ----------------- | ----------------------------------------------------- | ---------------------------------------------------------------------- |
+| dataSources (+)   | Collection\<ReplicaQueryDataSourceRuleConfiguration\> | Data sources of primary and replicas                                   |
+| loadBalancers (*) | Map\<String, ShardingSphereAlgorithmConfiguration\>   | Load balance algorithm name and configurations of replica data sources |
 
-## Primary-Replica Replication Data Source Configuration
+## Replica Query Data Source Configuration
 
-Class name: PrimaryReplicaReplicationDataSourceRuleConfiguration
+Class name: ReplicaQueryDataSourceRuleConfiguration
 
 Attributes:
 
 | *Name*                     | *DataType*           | *Description*                                  | *Default Value*                    |
 | -------------------------- | -------------------- | ---------------------------------------------- | ---------------------------------- |
-| name                       | String               | Primary-replica replication data source name   | -                                  |
+| name                       | String               | Replica query data source name                 | -                                  |
 | primaryDataSourceName      | String               | Primary sources source name                    | -                                  |
 | replicaDataSourceNames (+) | Collection\<String\> | Replica sources source name list               | -                                  |
 | loadBalancerName (?)       | String               | Load balance algorithm name of replica sources | Round robin load balance algorithm |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/primary-replica-replication.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/primary-replica-replication.cn.md
deleted file mode 100644
index 59035ed..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/primary-replica-replication.cn.md
+++ /dev/null
@@ -1,20 +0,0 @@
-+++
-title = "读写分离"
-weight = 2
-+++
-
-## 配置项说明
-
-```properties
-spring.shardingsphere.datasource.names= # 省略数据源配置
-
-spring.shardingsphere.rules.primary-replica-replication.data-sources.<primary-replica-replication-data-source-name>.primary-data-source-name= # 主数据源名称
-spring.shardingsphere.rules.primary-replica-replication.data-sources.<primary-replica-replication-data-source-name>.replica-data-source-names= # 从数据源名称,多个从数据源用逗号分隔
-spring.shardingsphere.rules.primary-replica-replication.data-sources.<primary-replica-replication-data-source-name>.load-balancer-name= # 负载均衡算法名称
-
-# 负载均衡算法配置
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.<load-balance-algorithm-name>.type= # 负载均衡算法类型
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.<load-balance-algorithm-name>.props.xxx= # 负载均衡算法属性配置
-```
-
-算法类型的详情,请参见[内置负载均衡算法列表](/cn/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance)。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/primary-replica-replication.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/primary-replica-replication.en.md
deleted file mode 100644
index 6265b2c..0000000
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/primary-replica-replication.en.md
+++ /dev/null
@@ -1,20 +0,0 @@
-+++
-title = "Primary-Replica Replication"
-weight = 2
-+++
-
-## Configuration Item Explanation
-
-```properties
-spring.shardingsphere.datasource.names= # Omit data source configuration
-
-spring.shardingsphere.rules.primary-replica-replication.data-sources.<primary-replica-replication-data-source-name>.primary-data-source-name= # Primary data source name
-spring.shardingsphere.rules.primary-replica-replication.data-sources.<primary-replica-replication-data-source-name>.replica-data-source-names= # Replica data source names, multiple data source names separated with comma
-spring.shardingsphere.rules.primary-replica-replication.data-sources.<primary-replica-replication-data-source-name>.load-balancer-name= # Load balance algorithm name
-
-# Load balance algorithm configuration
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.<load-balance-algorithm-name>.type= # Load balance algorithm type
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.<load-balance-algorithm-name>.props.xxx= # Load balance algorithm properties
-```
-
-Please refer to [Built-in Load Balance Algorithm List](/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance) for more details about type of algorithm.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/replica-query.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/replica-query.cn.md
new file mode 100644
index 0000000..ef61350
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/replica-query.cn.md
@@ -0,0 +1,20 @@
++++
+title = "读写分离"
+weight = 2
++++
+
+## 配置项说明
+
+```properties
+spring.shardingsphere.datasource.names= # 省略数据源配置
+
+spring.shardingsphere.rules.replica-query.data-sources.<replica-query-data-source-name>.primary-data-source-name= # 主数据源名称
+spring.shardingsphere.rules.replica-query.data-sources.<replica-query-data-source-name>.replica-data-source-names= # 从数据源名称,多个从数据源用逗号分隔
+spring.shardingsphere.rules.replica-query.data-sources.<replica-query-data-source-name>.load-balancer-name= # 负载均衡算法名称
+
+# 负载均衡算法配置
+spring.shardingsphere.rules.replica-query.load-balancers.<load-balance-algorithm-name>.type= # 负载均衡算法类型
+spring.shardingsphere.rules.replica-query.load-balancers.<load-balance-algorithm-name>.props.xxx= # 负载均衡算法属性配置
+```
+
+算法类型的详情,请参见[内置负载均衡算法列表](/cn/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance)。
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/replica-query.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/replica-query.en.md
new file mode 100644
index 0000000..3b6f2ec
--- /dev/null
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/replica-query.en.md
@@ -0,0 +1,20 @@
++++
+title = "Replica Query"
+weight = 2
++++
+
+## Configuration Item Explanation
+
+```properties
+spring.shardingsphere.datasource.names= # Omit data source configuration
+
+spring.shardingsphere.rules.replica-query.data-sources.<replica-query-data-source-name>.primary-data-source-name= # Primary data source name
+spring.shardingsphere.rules.replica-query.data-sources.<replica-query-data-source-name>.replica-data-source-names= # Replica data source names, multiple data source names separated with comma
+spring.shardingsphere.rules.replica-query.data-sources.<replica-query-data-source-name>.load-balancer-name= # Load balance algorithm name
+
+# Load balance algorithm configuration
+spring.shardingsphere.rules.replica-query.load-balancers.<load-balance-algorithm-name>.type= # Load balance algorithm type
+spring.shardingsphere.rules.replica-query.load-balancers.<load-balance-algorithm-name>.props.xxx= # Load balance algorithm properties
+```
+
+Please refer to [Built-in Load Balance Algorithm List](/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance) for more details about type of algorithm.
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/primary-replica-replication.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/replica-query.cn.md
similarity index 79%
rename from docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/primary-replica-replication.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/replica-query.cn.md
index 13c2d12..5c82ae1 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/primary-replica-replication.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/replica-query.cn.md
@@ -5,16 +5,16 @@ weight = 2
 
 ## 配置项说明
 
-命名空间:[http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication-5.0.0.xsd](http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication-5.0.0.xsd)
+命名空间:[http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query-5.0.0.xsd](http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query-5.0.0.xsd)
 
-\<primary-replica-replication:rule />
+\<replica-query:rule />
 
 | *名称*                | *类型* | *说明*           |
 | -------------------- | ------ | --------------- |
 | id                   | 属性   | Spring Bean Id   |
 | data-source-rule (+) | 标签   | 读写分离数据源规则配置 |
 
-\<primary-replica-replication:data-source-rule />
+\<replica-query:data-source-rule />
 
 | *名称*                     | *类型* | *说明*                          |
 | -------------------------- | ----- | ------------------------------- |
@@ -24,7 +24,7 @@ weight = 2
 | load-balance-algorithm-ref | 属性  | 负载均衡算法名称                   |
 
 
-\<primary-replica-replication:load-balance-algorithm />
+\<replica-query:load-balance-algorithm />
 
 | *名称*    | *类型* | *说明*            |
 | --------- | ----- | ----------------- |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/primary-replica-replication.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/replica-query.en.md
similarity index 72%
rename from docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/primary-replica-replication.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/replica-query.en.md
index 09a36fc..89fc775 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/primary-replica-replication.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/spring-namespace/replica-query.en.md
@@ -1,20 +1,20 @@
 +++
-title = "Primary-Replica Replication"
+title = "Replica Query"
 weight = 2
 +++
 
 ## Configuration Item Explanation
 
-Namespace: [http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication-5.0.0.xsd](http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication-5.0.0.xsd)
+Namespace: [http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query-5.0.0.xsd](http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query-5.0.0.xsd)
 
-\<primary-replica-replication:rule />
+\<replica-query:rule />
 
-| *Name*               | *Type*    | *Description*                                              |
-| -------------------- | --------- | ---------------------------------------------------------- |
-| id                   | Attribute | Spring Bean Id                                             |
-| data-source-rule (+) | Tag       | Primary-replica replication data source rule configuration |
+| *Name*               | *Type*    | *Description*                                |
+| -------------------- | --------- | -------------------------------------------- |
+| id                   | Attribute | Spring Bean Id                               |
+| data-source-rule (+) | Tag       | Replica query data source rule configuration |
 
-\<primary-replica-replication:data-source-rule />
+\<replica-query:data-source-rule />
 
 | *Name*                     | *Type*     | *Description*                                                              |
 | -------------------------- | ---------- | -------------------------------------------------------------------------- |
@@ -23,7 +23,7 @@ Namespace: [http://shardingsphere.apache.org/schema/shardingsphere/primary-repli
 | replica-data-source-names  | Attribute  | Replica data source names, multiple data source names separated with comma |
 | load-balance-algorithm-ref | Attribute  | Load balance algorithm name                                                |
 
-\<primary-replica-replication:load-balance-algorithm />
+\<replica-query:load-balance-algorithm />
 
 | *Name*    | *Type*     | *Description*                     |
 | --------- | ---------- | --------------------------------- |
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/_index.en.md
index f700909..a12e2a2 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/_index.en.md
@@ -62,7 +62,7 @@ try (
 ### Data Source Configuration
 
 It is divided into single data source configuration and multi data source configuration.
-Single data source configuration used for data encryption rules; and multi data source configuration used for fragmentation, primary-replica replication and other rules.
+Single data source configuration used for data encryption rules; and multi data source configuration used for fragmentation, replica query and other rules.
 If features such as encryption and sharding are used in combination, a multi data source configuration should be used.
 
 #### Single Data Source Configuration
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/primary-replica-replication.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/replica-query.cn.md
similarity index 96%
rename from docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/primary-replica-replication.cn.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/replica-query.cn.md
index e135684..42accc4 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/primary-replica-replication.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/replica-query.cn.md
@@ -9,7 +9,7 @@ weight = 2
 dataSources: # 省略数据源配置
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     <data-source-name> (+): # 读写分离逻辑数据源名称
       primaryDataSourceName: # 主库数据源名称
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/primary-replica-replication.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/replica-query.en.md
similarity index 83%
rename from docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/primary-replica-replication.en.md
rename to docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/replica-query.en.md
index 552740c..82c89e6 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/primary-replica-replication.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/configuration/yaml/replica-query.en.md
@@ -1,5 +1,5 @@
 +++
-title = "Primary-Replica Replication"
+title = "Replica Query"
 weight = 2
 +++
 
@@ -9,9 +9,9 @@ weight = 2
 dataSource: # Omit data source configuration
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
-    <data-source-name> (+): # Logic data source name of primary-replica replication
+    <data-source-name> (+): # Logic data source name of replica query
       primaryDataSourceName: # Primary data source name
       replicaDataSourceNames: 
         - <replica-data-source-name> (+) # Replica data source name
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.cn.md
index 7a13b6b..874509a 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace.cn.md
@@ -45,7 +45,7 @@ weight = 4
      <governance:reg-center id="regCenter" type="Zookeeper" server-lists="localhost:2181" />
      <governance:config-center id="configCenter" type="ZooKeeper" server-lists="localhost:2182" />
      <governance:data-source id="shardingDatabasesTablesDataSource" data-source-names="demo_ds_0, demo_ds_1" reg-center-ref="regCenter" config-center-ref="configCenter" rule-refs="shardingRule" overwrite="true" />
-     <governance:data-source id="primaryReplicaReplicationDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" reg-center-ref="regCenter" config-center-ref="configCenter" rule-refs="primaryReplicaRule" overwrite="true" />
+     <governance:data-source id="replicaQueryDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" reg-center-ref="regCenter" config-center-ref="configCenter" rule-refs="replicaQueryRule" overwrite="true" />
      <governance:data-source id="encryptDataSource" data-source-names="demo_ds" reg-center-ref="regCenter" config-center-ref="configCenter" rule-refs="encryptRule" overwrite="true" >
         <props>
             <prop key="query-with-cipher-column">true</prop>
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.en.md
index 3ac5b24..e1bab02 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/usage/sharding/_index.en.md
@@ -6,7 +6,7 @@ chapter = true
 
 Data sharding is the basic capability of Apache ShardingSphere. 
 This section uses data sharding as an example.
-The usage of functions such as primary-replica replication, consensus replication, data encryption, shadow database is completely consistent with data sharding, as long as the corresponding rules are configured. 
+The usage of functions such as replica query, consensus replication, data encryption, shadow database is completely consistent with data sharding, as long as the corresponding rules are configured. 
 Multiple rules can be appended.
 
 Please refer to [Configuration Manual](/en/user-manual/shardingsphere-jdbc/configuration/) for more details.
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/configuration/_index.en.md b/docs/document/content/user-manual/shardingsphere-proxy/configuration/_index.en.md
index 500a23a..3038b9a 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/configuration/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/configuration/_index.en.md
@@ -10,6 +10,6 @@ through which developer can quickly and clearly understand the functions provide
 This chapter is a configuration manual for ShardingSphere-Proxy, which can also be referred to as a dictionary if necessary.
 
 ShardingSphere-Proxy only provided YAML configuration. 
-By configuration, application developers can flexibly use data sharding, primary-replica replication, consensus replication, data encryption, shadow database or the combination of them.
+By configuration, application developers can flexibly use data sharding, replica query, consensus replication, data encryption, shadow database or the combination of them.
 
 Rule configuration keeps consist with YAML configuration of ShardingSphere-JDBC.
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.cn.md b/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.cn.md
index 0ddebf9..81c9793 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.cn.md
@@ -13,5 +13,5 @@ authentication:
       password: root # 自定义用户名
     sharding: # 自定义用户名
       password: sharding # 自定义用户名
-      authorizedSchemas: sharding_db, primary_replica_replication_db # 该用户授权可访问的数据库,多个用逗号分隔。缺省将拥有 root 权限,可访问全部数据库。
+      authorizedSchemas: sharding_db, replica_query_db # 该用户授权可访问的数据库,多个用逗号分隔。缺省将拥有 root 权限,可访问全部数据库。
 ```
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.en.md b/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.en.md
index 5a04a20..3b20bf8 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/configuration/authentication.en.md
@@ -12,5 +12,5 @@ authentication:
       password: root # Self-defined password
     sharding: # Self-defined username
       password: sharding # Self-defined password
-      authorizedSchemas: sharding_db, primary_replica_replication_db # Schemas authorized to this user, please use commas to connect multiple schemas. Default authorized schemas is all of the schemas.
+      authorizedSchemas: sharding_db, replica_query_db # Schemas authorized to this user, please use commas to connect multiple schemas. Default authorized schemas is all of the schemas.
 ```
diff --git a/docs/document/content/user-manual/shardingsphere-proxy/usage/startup.en.md b/docs/document/content/user-manual/shardingsphere-proxy/usage/startup.en.md
index f519adc..e52cc7d 100644
--- a/docs/document/content/user-manual/shardingsphere-proxy/usage/startup.en.md
+++ b/docs/document/content/user-manual/shardingsphere-proxy/usage/startup.en.md
@@ -7,7 +7,7 @@ weight = 1
 
 1. Download the latest version of ShardingSphere-Proxy.
 1. If users use docker, they can implement `docker pull shardingsphere/shardingsphere-proxy` to get the clone. Please refer to [Docker Clone](/en/user-manual/shardingsphere-proxy/docker/) for more details.
-1. After the decompression, revise `conf/server.yaml` and documents begin with `config-` prefix, `conf/config-xxx.yaml` for example, to configure sharding rules and primary-replica replication rules. Please refer to [Configuration Manual](/en/user-manual/shardingsphere-proxy/configuration/) for the configuration method.
+1. After the decompression, revise `conf/server.yaml` and documents begin with `config-` prefix, `conf/config-xxx.yaml` for example, to configure sharding rules and replica query rules. Please refer to [Configuration Manual](/en/user-manual/shardingsphere-proxy/configuration/) for the configuration method.
 1. Please run `bin/start.sh` for Linux operating system; run `bin/start.bat` for Windows operating system to start ShardingSphere-Proxy. To configure start port and document location, please refer to [Quick Start](/en/quick-start/shardingsphere-proxy-quick-start/).
 
 ## Using PostgreSQL
diff --git a/docs/document/content/user-manual/shardingsphere-ui/usage/rule-config.en.md b/docs/document/content/user-manual/shardingsphere-ui/usage/rule-config.en.md
index a8e9774..5044ee6 100644
--- a/docs/document/content/user-manual/shardingsphere-ui/usage/rule-config.en.md
+++ b/docs/document/content/user-manual/shardingsphere-ui/usage/rule-config.en.md
@@ -5,7 +5,7 @@ weight = 3
 
 ## Rule Config
 
-+ After added and activated a registry center, the configuration of all data sources in the current active registry center can be obtained, including data sharding, primary-replica replication, properties, and so on.
++ After added and activated a registry center, the configuration of all data sources in the current active registry center can be obtained, including data sharding, replica query, properties, and so on.
 
 + The configuration can be modified by the YAML format.
 
diff --git a/docs/document/static/img/read-write-split/read-write-split.png b/docs/document/static/img/replica-query/replica-query-standalone.png
similarity index 100%
rename from docs/document/static/img/read-write-split/read-write-split.png
rename to docs/document/static/img/replica-query/replica-query-standalone.png
diff --git a/docs/document/static/img/read-write-split/sharding-read-write-split.png b/docs/document/static/img/replica-query/sharding-and-replica-query.png
similarity index 100%
rename from docs/document/static/img/read-write-split/sharding-read-write-split.png
rename to docs/document/static/img/replica-query/sharding-and-replica-query.png
diff --git a/examples/README.md b/examples/README.md
index 82dad6a..aed47f4 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -10,7 +10,7 @@ Example for 2.x or 3.x or 4.x please see tags in `https://github.com/apache/shar
 
 - *The manual schema initial script is in `https://github.com/apache/shardingsphere-example/blob/dev/src/resources/manual_schema.sql`, please execute it before you first run the example.*
 
-- *Please make sure primary-replica replication data sync on MySQL is running correctly. Otherwise this example will query empty data from the replica.*
+- *Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from the replica.*
 
 ## Before start the example if you want use `dev` branch
 
@@ -68,7 +68,7 @@ shardingsphere-example
 
 | Example | Description |
 |---------|-------------|
-| [sharding](shardingsphere-jdbc-example/sharding-example) | show how to use sharding-table\sharding-database\primary-replica-replication with ShardingSphere-JDBC |
+| [sharding](shardingsphere-jdbc-example/sharding-example) | show how to use sharding-table\sharding-database\replica-query with ShardingSphere-JDBC |
 | [springboot jpa](shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example) | show how to use SpringBoot JPA with ShardingSphere |
 | [springboot mybatis](shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example) | show how to use SpringBoot Mybatis with ShardingSphere |
 | [governance](shardingsphere-jdbc-example/governance-example) | show how to use ShardingSphere governance |
diff --git a/examples/example-core/config-utility/src/main/java/org/apache/shardingsphere/example/type/ShardingType.java b/examples/example-core/config-utility/src/main/java/org/apache/shardingsphere/example/type/ShardingType.java
index 63000ca..7693baa 100644
--- a/examples/example-core/config-utility/src/main/java/org/apache/shardingsphere/example/type/ShardingType.java
+++ b/examples/example-core/config-utility/src/main/java/org/apache/shardingsphere/example/type/ShardingType.java
@@ -29,11 +29,11 @@ public enum ShardingType {
     
     ENCRYPT_SHADOW,
     
-    PRIMARY_REPLICA_REPLICATION,
+    REPLICA_QUERY,
     
-    PRIMARY_REPLICA_REPLICATION_SHADOW,
+    REPLICA_QUERY_SHADOW,
     
-    SHARDING_PRIMARY_REPLICA_REPLICATION,
+    SHARDING_REPLICA_QUERY,
     
     ENCRYPT,
     
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/JavaConfigurationExampleMain.java
index 79cb61b..fe378c8 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/JavaConfigurationExampleMain.java
@@ -24,11 +24,11 @@ import org.apache.shardingsphere.example.core.api.service.ExampleService;
 import org.apache.shardingsphere.example.core.jdbc.service.OrderServiceImpl;
 import org.apache.shardingsphere.example.governance.raw.jdbc.config.GovernanceRepositoryConfigurationUtil;
 import org.apache.shardingsphere.example.governance.raw.jdbc.config.cloud.CloudEncryptConfiguration;
-import org.apache.shardingsphere.example.governance.raw.jdbc.config.cloud.CloudPrimaryReplicaReplicationConfiguration;
+import org.apache.shardingsphere.example.governance.raw.jdbc.config.cloud.CloudReplicaQueryConfiguration;
 import org.apache.shardingsphere.example.governance.raw.jdbc.config.cloud.CloudShadowConfiguration;
 import org.apache.shardingsphere.example.governance.raw.jdbc.config.cloud.CloudShardingDatabasesAndTablesConfiguration;
 import org.apache.shardingsphere.example.governance.raw.jdbc.config.local.LocalEncryptConfiguration;
-import org.apache.shardingsphere.example.governance.raw.jdbc.config.local.LocalPrimaryReplicaReplicationConfiguration;
+import org.apache.shardingsphere.example.governance.raw.jdbc.config.local.LocalReplicaQueryConfiguration;
 import org.apache.shardingsphere.example.governance.raw.jdbc.config.local.LocalShadowConfiguration;
 import org.apache.shardingsphere.example.governance.raw.jdbc.config.local.LocalShardingDatabasesAndTablesConfiguration;
 import org.apache.shardingsphere.example.type.RegistryCenterType;
@@ -39,14 +39,14 @@ import javax.sql.DataSource;
 import java.sql.SQLException;
 
 /*
- * 1. Please make sure primary-replication-replica data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * 1. Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  * 2. Please make sure sharding-governance-center-zookeeper-curator in your pom if registryCenterType = RegistryCenterType.ZOOKEEPER.
  * 3. Please make sure sharding-governance-center-nacos in your pom if registryCenterType = RegistryCenterType.NACOS.
  */
 public final class JavaConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY;
 //    private static ShardingType shardingType = ShardingType.ENCRYPT;
 //    private static ShardingType shardingType = ShardingType.SHADOW;
     
@@ -73,8 +73,8 @@ public final class JavaConfigurationExampleMain {
                 config = loadConfigFromRegCenter 
                         ? new CloudShardingDatabasesAndTablesConfiguration(governanceConfig) : new LocalShardingDatabasesAndTablesConfiguration(governanceConfig);
                 break;
-            case PRIMARY_REPLICA_REPLICATION:
-                config = loadConfigFromRegCenter ? new CloudPrimaryReplicaReplicationConfiguration(governanceConfig) : new LocalPrimaryReplicaReplicationConfiguration(governanceConfig);
+            case REPLICA_QUERY:
+                config = loadConfigFromRegCenter ? new CloudReplicaQueryConfiguration(governanceConfig) : new LocalReplicaQueryConfiguration(governanceConfig);
                 break;
             case ENCRYPT:
                 config = loadConfigFromRegCenter ? new CloudEncryptConfiguration(governanceConfig) : new LocalEncryptConfiguration(governanceConfig);
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/YamlConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/YamlConfigurationExampleMain.java
index f41f8ae..99bc78a 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/YamlConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/YamlConfigurationExampleMain.java
@@ -31,14 +31,14 @@ import java.io.IOException;
 import java.sql.SQLException;
 
 /*
- * 1. Please make sure primary-replica-replication data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * 1. Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  * 2. Please make sure sharding-governance-center-zookeeper-curator in your pom if registryCenterType = RegistryCenterType.ZOOKEEPER.
  * 3. Please make sure sharding-governance-center-nacos in your pom if registryCenterType = RegistryCenterType.NACOS.
  */
 public final class YamlConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY;
 //    private static ShardingType shardingType = ShardingType.ENCRYPT;
 //    private static ShardingType shardingType = ShardingType.SHADOW;
     
@@ -63,8 +63,8 @@ public final class YamlConfigurationExampleMain {
             case SHARDING_DATABASES_AND_TABLES:
                 yamlFilePath = String.format("/META-INF/%s/%s/sharding-databases-tables.yaml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
                 return YamlGovernanceShardingSphereDataSourceFactory.createDataSource(getFile(yamlFilePath));
-            case PRIMARY_REPLICA_REPLICATION:
-                yamlFilePath = String.format("/META-INF/%s/%s/primary-replica-replication.yaml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
+            case REPLICA_QUERY:
+                yamlFilePath = String.format("/META-INF/%s/%s/replica-query.yaml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
                 return YamlGovernanceShardingSphereDataSourceFactory.createDataSource(getFile(yamlFilePath));
             case ENCRYPT:
                 yamlFilePath = String.format("/META-INF/%s/%s/encrypt.yaml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/GovernanceRepositoryConfigurationUtil.java b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/GovernanceRepositoryConfigurationUtil.java
index 53d8bb5..e879921 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/GovernanceRepositoryConfigurationUtil.java
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/GovernanceRepositoryConfigurationUtil.java
@@ -34,8 +34,8 @@ public final class GovernanceRepositoryConfigurationUtil {
         switch (shardingType) {
             case SHARDING_DATABASES_AND_TABLES:
                 return new GovernanceConfiguration("governance-sharding-data-source", governanceCenterConfig, overwrite);
-            case PRIMARY_REPLICA_REPLICATION:
-                return new GovernanceConfiguration("governance-primary-replica-replication-data-source", governanceCenterConfig, overwrite);
+            case REPLICA_QUERY:
+                return new GovernanceConfiguration("governance-replica-query-data-source", governanceCenterConfig, overwrite);
             case ENCRYPT:
                 return new GovernanceConfiguration("governance-encrypt-data-source", governanceCenterConfig, overwrite);
             case SHADOW:
@@ -55,8 +55,8 @@ public final class GovernanceRepositoryConfigurationUtil {
         switch (shardingType) {
             case SHARDING_DATABASES_AND_TABLES:
                 return new GovernanceConfiguration("governance-zookeeper-sharding-data-source", zookeeperConfig, nacosConfig, overwrite);
-            case PRIMARY_REPLICA_REPLICATION:
-                return new GovernanceConfiguration("governance-zookeeper-primary-replica-replication-data-source", zookeeperConfig, nacosConfig, overwrite);
+            case REPLICA_QUERY:
+                return new GovernanceConfiguration("governance-zookeeper-replica-query-data-source", zookeeperConfig, nacosConfig, overwrite);
             case ENCRYPT:
                 return new GovernanceConfiguration("governance-zookeeper-encrypt-data-source", zookeeperConfig, nacosConfig, overwrite);
             case SHADOW:
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/cloud/CloudPrimaryReplicaReplicationConfiguration.java b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/cloud/CloudReplicaQueryConfiguration.java
similarity index 88%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/cloud/CloudPrimaryReplicaReplicationConfiguration.java
rename to examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/cloud/CloudReplicaQueryConfiguration.java
index 81720f4..513c80d 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/cloud/CloudPrimaryReplicaReplicationConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/cloud/CloudReplicaQueryConfiguration.java
@@ -24,11 +24,11 @@ import org.apache.shardingsphere.governance.repository.api.config.GovernanceConf
 import javax.sql.DataSource;
 import java.sql.SQLException;
 
-public final class CloudPrimaryReplicaReplicationConfiguration implements ExampleConfiguration {
+public final class CloudReplicaQueryConfiguration implements ExampleConfiguration {
     
     private final GovernanceConfiguration governanceConfig;
     
-    public CloudPrimaryReplicaReplicationConfiguration(final GovernanceConfiguration governanceConfig) {
+    public CloudReplicaQueryConfiguration(final GovernanceConfiguration governanceConfig) {
         this.governanceConfig = governanceConfig;
     }
     
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalPrimaryReplicaReplicationConfiguration.java b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalReplicaQueryConfiguration.java
similarity index 71%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalPrimaryReplicaReplicationConfiguration.java
rename to examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalReplicaQueryConfiguration.java
index 069e282..e9257ed 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalPrimaryReplicaReplicationConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalReplicaQueryConfiguration.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.example.governance.raw.jdbc.config.local;
 import org.apache.shardingsphere.driver.governance.api.GovernanceShardingSphereDataSourceFactory;
 import org.apache.shardingsphere.example.config.ExampleConfiguration;
 import org.apache.shardingsphere.example.core.api.DataSourceUtil;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
 
 import javax.sql.DataSource;
@@ -32,19 +32,19 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-public final class LocalPrimaryReplicaReplicationConfiguration implements ExampleConfiguration {
+public final class LocalReplicaQueryConfiguration implements ExampleConfiguration {
     
     private final GovernanceConfiguration governanceConfig;
     
-    public LocalPrimaryReplicaReplicationConfiguration(final GovernanceConfiguration governanceConfig) {
+    public LocalReplicaQueryConfiguration(final GovernanceConfiguration governanceConfig) {
         this.governanceConfig = governanceConfig;
     }
     
     @Override
     public DataSource getDataSource() throws SQLException {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfig = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
-                "demo_primary_replica_ds", "demo_primary_ds", Arrays.asList("demo_replica_ds_0", "demo_replica_ds_1"), null);
-        PrimaryReplicaReplicationRuleConfiguration ruleConfig = new PrimaryReplicaReplicationRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap());
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfig = new ReplicaQueryDataSourceRuleConfiguration(
+                "demo_replica_query_ds", "demo_primary_ds", Arrays.asList("demo_replica_ds_0", "demo_replica_ds_1"), null);
+        ReplicaQueryRuleConfiguration ruleConfig = new ReplicaQueryRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap());
         return GovernanceShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Collections.singleton(ruleConfig), new Properties(), governanceConfig);
     }
     
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalShardingPrimaryReplicaReplicationConfiguration.java b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalShardingReplicaQueryConfiguration.java
similarity index 83%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalShardingPrimaryReplicaReplicationConfiguration.java
rename to examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalShardingReplicaQueryConfiguration.java
index d1ecebc..d1a0782 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalShardingPrimaryReplicaReplicationConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/governance/raw/jdbc/config/local/LocalShardingReplicaQueryConfiguration.java
@@ -22,8 +22,8 @@ import org.apache.shardingsphere.example.config.ExampleConfiguration;
 import org.apache.shardingsphere.example.core.api.DataSourceUtil;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
@@ -40,11 +40,11 @@ import java.util.LinkedList;
 import java.util.Map;
 import java.util.Properties;
 
-public final class LocalShardingPrimaryReplicaReplicationConfiguration implements ExampleConfiguration {
+public final class LocalShardingReplicaQueryConfiguration implements ExampleConfiguration {
     
     private final GovernanceConfiguration governanceConfig;
     
-    public LocalShardingPrimaryReplicaReplicationConfiguration(final GovernanceConfiguration governanceConfig) {
+    public LocalShardingReplicaQueryConfiguration(final GovernanceConfiguration governanceConfig) {
         this.governanceConfig = governanceConfig;
     }
     
@@ -52,7 +52,7 @@ public final class LocalShardingPrimaryReplicaReplicationConfiguration implement
     public DataSource getDataSource() throws SQLException {
         Collection<RuleConfiguration> configs = new LinkedList<>();
         configs.add(getShardingRuleConfiguration());
-        configs.add(getPrimaryReplicaReplicationRuleConfiguration());
+        configs.add(getReplicaQueryRuleConfiguration());
         return GovernanceShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), configs, new Properties(), governanceConfig);
     }
     
@@ -84,12 +84,12 @@ public final class LocalShardingPrimaryReplicaReplicationConfiguration implement
         return new KeyGenerateStrategyConfiguration("order_id", "snowflake");
     }
     
-    private PrimaryReplicaReplicationRuleConfiguration getPrimaryReplicaReplicationRuleConfiguration() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfiguration1 = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+    private ReplicaQueryRuleConfiguration getReplicaQueryRuleConfiguration() {
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfiguration1 = new ReplicaQueryDataSourceRuleConfiguration(
                 "ds_0", "demo_primary_ds_0", Arrays.asList("demo_primary_ds_0_replica_0", "demo_primary_ds_0_replica_1"), null);
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfiguration2 = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfiguration2 = new ReplicaQueryDataSourceRuleConfiguration(
                 "ds_1", "demo_primary_ds_1", Arrays.asList("demo_primary_ds_1_replica_0", "demo_primary_ds_1_replica_1"), null);
-        return new PrimaryReplicaReplicationRuleConfiguration(Arrays.asList(dataSourceConfiguration1, dataSourceConfiguration2), Collections.emptyMap());
+        return new ReplicaQueryRuleConfiguration(Arrays.asList(dataSourceConfiguration1, dataSourceConfiguration2), Collections.emptyMap());
     }
     
     private static Properties getProperties() {
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/cloud/primary-replica-replication.yaml b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/cloud/replica-query.yaml
similarity index 100%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/cloud/primary-replica-replication.yaml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/cloud/replica-query.yaml
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/local/primary-replica-replication.yaml b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/local/replica-query.yaml
similarity index 98%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/local/primary-replica-replication.yaml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/local/replica-query.yaml
index 100310a..1e60c32 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/local/primary-replica-replication.yaml
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/nacos/local/replica-query.yaml
@@ -33,7 +33,7 @@ dataSources:
     password:
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/cloud/primary-replica-replication.yaml b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/cloud/replica-query.yaml
similarity index 100%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/cloud/primary-replica-replication.yaml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/cloud/replica-query.yaml
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/local/primary-replica-replication.yaml b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/local/replica-query.yaml
similarity index 98%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/local/primary-replica-replication.yaml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/local/replica-query.yaml
index 35aebc1..2369fcd 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/local/primary-replica-replication.yaml
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-raw-jdbc-example/src/main/resources/META-INF/zookeeper/local/replica-query.yaml
@@ -40,7 +40,7 @@ dataSources:
     password:
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-nacos-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-nacos-replica-query.properties
similarity index 100%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-nacos-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-nacos-replica-query.properties
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-zookeeper-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-zookeeper-replica-query.properties
similarity index 100%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-zookeeper-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-cloud-zookeeper-replica-query.properties
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-nacos-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-nacos-replica-query.properties
similarity index 80%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-nacos-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-nacos-replica-query.properties
index 23a41d4..d8ecb19 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-nacos-primary-replica-replication.properties
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-nacos-replica-query.properties
@@ -28,10 +28,10 @@ spring.shardingsphere.datasource.replica_ds_0.jdbc-url=jdbc:mysql://localhost:33
 
 spring.shardingsphere.datasource.replica_ds_1.jdbc-url=jdbc:mysql://localhost:3306/demo_replica_ds_1
 
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.round_robin.type=ROUND_ROBIN
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.load-balancer-name=round_robin
+spring.shardingsphere.rules.replica-query.load-balancers.round_robin.type=ROUND_ROBIN
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.load-balancer-name=round_robin
 
 spring.shardingsphere.governance.name=demo1_spring_boot_pr_ds
 spring.shardingsphere.governance.overwrite=true
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-zookeeper-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-zookeeper-replica-query.properties
similarity index 79%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-zookeeper-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-zookeeper-replica-query.properties
index 4b827aa..e3fdb86 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-zookeeper-primary-replica-replication.properties
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application-local-zookeeper-replica-query.properties
@@ -28,10 +28,10 @@ spring.shardingsphere.datasource.replica_ds_0.jdbc-url=jdbc:mysql://localhost:33
 
 spring.shardingsphere.datasource.replica_ds_1.jdbc-url=jdbc:mysql://localhost:3306/demo_replica_ds_1
 
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.round_robin.type=ROUND_ROBIN
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.load-balancer-name=round_robin
+spring.shardingsphere.rules.replica-query.load-balancers.round_robin.type=ROUND_ROBIN
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.load-balancer-name=round_robin
 
 spring.shardingsphere.governance.name=demo_spring_boot_pr_ds
 spring.shardingsphere.governance.overwrite=true
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application.properties b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application.properties
index ac7458e..1ad4bcb 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application.properties
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-boot-example/src/main/resources/application.properties
@@ -20,10 +20,10 @@ spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
 spring.jpa.properties.hibernate.show_sql=false
 
 spring.profiles.active=local-zookeeper-sharding-databases-tables
-#spring.profiles.active=local-zookeeper-primary-replica-replication
+#spring.profiles.active=local-zookeeper-replica-query
 
 #spring.profiles.active=cloud-zookeeper-sharding-databases-tables
-#spring.profiles.active=cloud-zookeeper-primary-replica-replication
+#spring.profiles.active=cloud-zookeeper-replica-query
 
 #spring.profiles.active=local-zookeeper-encrypt
 #spring.profiles.active=cloud-zookeeper-encrypt
@@ -33,10 +33,10 @@ spring.profiles.active=local-zookeeper-sharding-databases-tables
 
 
 #spring.profiles.active=local-nacos-sharding-databases-tables
-#spring.profiles.active=local-nacos-primary-replica-replication
+#spring.profiles.active=local-nacos-replica-query
 
 #spring.profiles.active=cloud-nacos-sharding-databases-tables
-#spring.profiles.active=cloud-nacos-primary-replica-replication
+#spring.profiles.active=cloud-nacos-replica-query
 
 #spring.profiles.active=local-nacos-encrypt
 #spring.profiles.active=cloud-nacos-encrypt
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/governance/spring/namespace/ExampleMain.java b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/governance/spring/namespace/ExampleMain.java
index b5f519d..44105c0 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/governance/spring/namespace/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/governance/spring/namespace/ExampleMain.java
@@ -29,7 +29,7 @@ import java.sql.SQLException;
 public final class ExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY;
 //    private static ShardingType shardingType = ShardingType.ENCRYPT;
 //    private static ShardingType shardingType = ShardingType.SHADOW;
     
@@ -49,8 +49,8 @@ public final class ExampleMain {
         switch (shardingType) {
             case SHARDING_DATABASES_AND_TABLES:
                 return String.format("META-INF/%s/%s/application-sharding-databases-tables.xml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
-            case PRIMARY_REPLICA_REPLICATION:
-                return String.format("META-INF/%s/%s/application-primary-replica-replication.xml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
+            case REPLICA_QUERY:
+                return String.format("META-INF/%s/%s/application-replica-query.xml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
             case ENCRYPT:
                 return String.format("META-INF/%s/%s/application-encrypt.xml", registryCenterType.name().toLowerCase(), loadConfigFromRegCenter ? "cloud" : "local");
             case SHADOW:
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/cloud/application-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/cloud/application-replica-query.xml
similarity index 89%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/cloud/application-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/cloud/application-replica-query.xml
index 61451b8..df88fb1 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/cloud/application-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/cloud/application-replica-query.xml
@@ -32,15 +32,15 @@
     <import resource="classpath*:META-INF/nacos/registry-center.xml" />
     <context:component-scan base-package="org.apache.shardingsphere.example.core.mybatis" />
     
-    <governance:data-source id="primaryReplicaReplicationDataSource" reg-center-ref="regCenter" data-source-names="" rule-refs="" />
+    <governance:data-source id="replicaQueryDataSource" reg-center-ref="regCenter" data-source-names="" rule-refs="" />
     
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
     </bean>
     <tx:annotation-driven />
     
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
         <property name="mapperLocations" value="classpath*:META-INF/mappers/*.xml" />
     </bean>
     
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/local/application-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/local/application-replica-query.xml
similarity index 78%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/local/application-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/local/application-replica-query.xml
index 21c9f6a..492d710 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/local/application-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/nacos/local/application-replica-query.xml
@@ -20,7 +20,7 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xmlns:governance="http://shardingsphere.apache.org/schema/shardingsphere/governance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
@@ -28,8 +28,8 @@
                            http://www.springframework.org/schema/context/spring-context.xsd
                            http://www.springframework.org/schema/tx 
                            http://www.springframework.org/schema/tx/spring-tx.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/governance
                            http://shardingsphere.apache.org/schema/shardingsphere/governance/governance.xsd
                            ">
@@ -57,21 +57,21 @@
         <property name="password" value="" />
     </bean>
     
-    <primary-replica-replication:load-balance-algorithm id="randomStrategy" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomStrategy" type="RANDOM" />
     
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
+    </replica-query:rule>
     
-    <governance:data-source id="primaryReplicaReplicationDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="primaryReplicaReplicationRule" reg-center-ref="regCenter" config-center-ref="confCenter" />
+    <governance:data-source id="replicaQueryDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="replicaQueryRule" reg-center-ref="regCenter" config-center-ref="confCenter" />
     
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
     </bean>
     <tx:annotation-driven />
     
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
         <property name="mapperLocations" value="classpath*:META-INF/mappers/*.xml" />
     </bean>
     
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/cloud/application-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/cloud/application-replica-query.xml
similarity index 91%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/cloud/application-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/cloud/application-replica-query.xml
index 78926db..c49be05 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/cloud/application-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/cloud/application-replica-query.xml
@@ -32,15 +32,15 @@
     <context:component-scan base-package="org.apache.shardingsphere.example.core.mybatis" />
     <import resource="classpath*:META-INF/zookeeper/registry-center.xml" />
     
-    <governance:data-source id="primaryReplicaReplicationDataSource" reg-center-ref="regCenter" />
+    <governance:data-source id="replicaQueryDataSource" reg-center-ref="regCenter" />
     
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
     </bean>
     <tx:annotation-driven />
     
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
         <property name="mapperLocations" value="classpath*:META-INF/mappers/*.xml" />
     </bean>
     
diff --git a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/local/application-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/local/application-replica-query.xml
similarity index 78%
rename from examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/local/application-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/local/application-replica-query.xml
index 5aa194c..f29b28c 100644
--- a/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/local/application-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/governance-example/governance-spring-namespace-example/src/main/resources/META-INF/zookeeper/local/application-replica-query.xml
@@ -20,7 +20,7 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xmlns:governance="http://shardingsphere.apache.org/schema/shardingsphere/governance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
@@ -28,8 +28,8 @@
                            http://www.springframework.org/schema/context/spring-context.xsd
                            http://www.springframework.org/schema/tx 
                            http://www.springframework.org/schema/tx/spring-tx.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/governance
                            http://shardingsphere.apache.org/schema/shardingsphere/governance/governance.xsd
                            ">
@@ -57,21 +57,21 @@
         <property name="password" value=""/>
     </bean>
     
-    <primary-replica-replication:load-balance-algorithm id="randomStrategy" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomStrategy" type="RANDOM" />
     
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
+    </replica-query:rule>
     
-    <governance:data-source id="primaryReplicaReplicationDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="primaryReplicaReplicationRule" reg-center-ref="regCenter" />
+    <governance:data-source id="replicaQueryDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="replicaQueryRule" reg-center-ref="regCenter" />
     
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
     </bean>
     <tx:annotation-driven />
     
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
         <property name="mapperLocations" value="classpath*:META-INF/mappers/*.xml" />
     </bean>
     
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java
index 4ba2302..856a30e 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java
@@ -16,7 +16,7 @@
  */
 
 /*
- * Please make sure primary-replica-replication data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  */
 
 package org.apache.shardingsphere.example.encrypt.table.raw.jdbc;
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/resources/META-INF/hint-primary-only.yaml b/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/resources/META-INF/hint-primary-only.yaml
index c6b1db0..ac2f952 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/resources/META-INF/hint-primary-only.yaml
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/resources/META-INF/hint-primary-only.yaml
@@ -33,7 +33,7 @@ dataSources:
     password:
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java
index 32d8326..304351b 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java
@@ -16,7 +16,7 @@
  */
 
 /*
- * Please make sure primary-replica-replication data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  */
 
 package org.apache.shardingsphere.example.shadow.table.raw.jdbc;
@@ -34,7 +34,7 @@ import java.sql.SQLException;
 public final class JavaConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHADOW;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION_SHADOW;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY_SHADOW;
 //    private static ShardingType shardingType = ShardingType.ENCRYPT_SHADOW;
 //    private static ShardingType shardingType = ShardingType.SHARDING_SHADOW_DATABASES;
     
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java
index 3025774..e35d747 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java
@@ -31,7 +31,7 @@ import java.sql.SQLException;
 public final class YamlConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHADOW;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION_SHADOW;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY_SHADOW;
 //    private static ShardingType shardingType = ShardingType.ENCRYPT_SHADOW;
 //    private static ShardingType shardingType = ShardingType.SHARDING_SHADOW_DATABASES;
     
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/config/PrimaryReplicaReplicationShadowDatabasesConfiguration.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/config/ReplicaQueryShadowDatabasesConfiguration.java
similarity index 70%
rename from examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/config/PrimaryReplicaReplicationShadowDatabasesConfiguration.java
rename to examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/config/ReplicaQueryShadowDatabasesConfiguration.java
index dfa9959..eb5973f 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/config/PrimaryReplicaReplicationShadowDatabasesConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/config/ReplicaQueryShadowDatabasesConfiguration.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.example.shadow.table.raw.jdbc.config;
 import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
 import org.apache.shardingsphere.example.config.ExampleConfiguration;
 import org.apache.shardingsphere.example.core.api.DataSourceUtil;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
 
 import javax.sql.DataSource;
@@ -31,7 +31,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-public final class PrimaryReplicaReplicationShadowDatabasesConfiguration implements ExampleConfiguration {
+public final class ReplicaQueryShadowDatabasesConfiguration implements ExampleConfiguration {
     
     @Override
     public DataSource getDataSource() throws SQLException {
@@ -41,11 +41,11 @@ public final class PrimaryReplicaReplicationShadowDatabasesConfiguration impleme
         dataSourceMap.put("shadow_primary_ds", DataSourceUtil.createDataSource("demo_shadow_primary_ds"));
         dataSourceMap.put("shadow_replica_ds", DataSourceUtil.createDataSource("demo_shadow_replica_ds"));
         ShadowRuleConfiguration shadowRuleConfig = new ShadowRuleConfiguration("shadow", Arrays.asList("primary_ds", "replica_ds"), Arrays.asList("shadow_primary_ds", "shadow_replica_ds"));
-        return ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, Arrays.asList(shadowRuleConfig, getPrimaryReplicaReplicationRuleConfiguration()), null);
+        return ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, Arrays.asList(shadowRuleConfig, getReplicaQueryRuleConfiguration()), null);
     }
     
-    private PrimaryReplicaReplicationRuleConfiguration getPrimaryReplicaReplicationRuleConfiguration() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration config = new PrimaryReplicaReplicationDataSourceRuleConfiguration("pr_ds", "primary_ds", Collections.singletonList("replica_ds"), null);
-        return new PrimaryReplicaReplicationRuleConfiguration(Collections.singletonList(config), Collections.emptyMap());
+    private ReplicaQueryRuleConfiguration getReplicaQueryRuleConfiguration() {
+        ReplicaQueryDataSourceRuleConfiguration config = new ReplicaQueryDataSourceRuleConfiguration("pr_ds", "primary_ds", Collections.singletonList("replica_ds"), null);
+        return new ReplicaQueryRuleConfiguration(Collections.singletonList(config), Collections.emptyMap());
     }
 }
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java
index cbad7d5..3b02267 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.example.shadow.table.raw.jdbc.factory;
 
 import org.apache.shardingsphere.example.shadow.table.raw.jdbc.config.EncryptShadowDatabasesConfiguration;
-import org.apache.shardingsphere.example.shadow.table.raw.jdbc.config.PrimaryReplicaReplicationShadowDatabasesConfiguration;
+import org.apache.shardingsphere.example.shadow.table.raw.jdbc.config.ReplicaQueryShadowDatabasesConfiguration;
 import org.apache.shardingsphere.example.shadow.table.raw.jdbc.config.ShadowDatabasesConfiguration;
 import org.apache.shardingsphere.example.shadow.table.raw.jdbc.config.ShardingShadowDatabasesConfiguration;
 import org.apache.shardingsphere.example.type.ShardingType;
@@ -36,8 +36,8 @@ public final class DataSourceFactory {
                 return new ShardingShadowDatabasesConfiguration().getDataSource();
             case ENCRYPT_SHADOW:
                 return new EncryptShadowDatabasesConfiguration().getDataSource();
-            case PRIMARY_REPLICA_REPLICATION_SHADOW:
-                return new PrimaryReplicaReplicationShadowDatabasesConfiguration().getDataSource();
+            case REPLICA_QUERY_SHADOW:
+                return new ReplicaQueryShadowDatabasesConfiguration().getDataSource();
             default:
                 throw new UnsupportedOperationException(shardingType.name());
         }
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java
index 9393951..fd3dba0 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java
@@ -35,8 +35,8 @@ public final class YamlDataSourceFactory {
                 return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/shadow-databases.yaml"));
             case ENCRYPT_SHADOW:
                 return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/encrypt-shadow-databases.yaml"));
-            case PRIMARY_REPLICA_REPLICATION_SHADOW:
-                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/primary-replica-replication-shadow-databases.yaml"));
+            case REPLICA_QUERY_SHADOW:
+                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/replica-query-shadow-databases.yaml"));
             default:
                 throw new UnsupportedOperationException(shardingType.name());
         }
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/resources/META-INF/primary-replica-replication-shadow-databases.yaml b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/resources/META-INF/replica-query-shadow-databases.yaml
similarity index 98%
rename from examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/resources/META-INF/primary-replica-replication-shadow-databases.yaml
rename to examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/resources/META-INF/replica-query-shadow-databases.yaml
index 11ca98c..d3dac5c 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/resources/META-INF/primary-replica-replication-shadow-databases.yaml
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/resources/META-INF/replica-query-shadow-databases.yaml
@@ -47,7 +47,7 @@ rules:
     - shadow_primary_ds
     - shadow_replica_ds
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application-primary-replica-replication-shadow-databases.properties b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application-replica-query-shadow-databases.properties
similarity index 82%
rename from examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application-primary-replica-replication-shadow-databases.properties
rename to examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application-replica-query-shadow-databases.properties
index 5235489..82e9239 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application-primary-replica-replication-shadow-databases.properties
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application-replica-query-shadow-databases.properties
@@ -34,7 +34,7 @@ spring.shardingsphere.rules.shadow.column=shadow
 spring.shardingsphere.rules.shadow.shadow-mappings.primary_ds=shadow_primary_ds
 spring.shardingsphere.rules.shadow.shadow-mappings.replica_ds=shadow_replica_ds
 
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.round_robin.type=ROUND_ROBIN
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.load-balancer-name=round_robin
+spring.shardingsphere.rules.replica-query.load-balancers.round_robin.type=ROUND_ROBIN
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.load-balancer-name=round_robin
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application.properties b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application.properties
index da18122..49283ee 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application.properties
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-boot-example/src/main/resources/application.properties
@@ -20,6 +20,6 @@ spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
 spring.jpa.properties.hibernate.show_sql=true
 
 spring.profiles.active=shadow-databases
-#spring.profiles.active=primary-replica-replication-shadow-databases
+#spring.profiles.active=replica-query-shadow-databases
 #spring.profiles.active=sharding-shadow-databases
 #spring.profiles.active=encrypt-shadow-databases
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
index 052f515..e844cb2 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
@@ -28,7 +28,7 @@ public final class ExampleMain {
     
     private static final String CONFIG_FILE = "META-INF/application-shadow-databases.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-shadow-databases.xml";
-//    private static final String CONFIG_FILE = "META-INF/application-primary-replica-replication-shadow-databases.xml";
+//    private static final String CONFIG_FILE = "META-INF/application-replica-query-shadow-databases.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-encrypt-shadow-databases.xml";
     
     public static void main(final String[] args) throws SQLException {
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-primary-replica-replication-shadow-databases.xml b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-replica-query-shadow-databases.xml
similarity index 88%
rename from examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-primary-replica-replication-shadow-databases.xml
rename to examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-replica-query-shadow-databases.xml
index 15fd415..1e6bf80 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-primary-replica-replication-shadow-databases.xml
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/resources/META-INF/application-replica-query-shadow-databases.xml
@@ -22,7 +22,7 @@
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:shadow="http://shardingsphere.apache.org/schema/shardingsphere/shadow"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
                            http://www.springframework.org/schema/tx 
@@ -33,8 +33,8 @@
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/shadow
                            http://shardingsphere.apache.org/schema/shardingsphere/shadow/shadow.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            ">
     <context:component-scan base-package="org.apache.shardingsphere.example.core.mybatis" />
     
@@ -68,17 +68,17 @@
     
     <shadow:rule id="shadowRule" column="shadow" sourceDataSourceNames="primary_ds,replica_ds" shadowDataSourceNames="shadow_primary_ds,shadow_replica_ds"/>
 
-    <shardingsphere:data-source id="shadowDataSource" data-source-names="primary_ds,replica_ds,shadow_primary_ds,shadow_replica_ds" rule-refs="shadowRule,primaryReplicaReplicationRule">
+    <shardingsphere:data-source id="shadowDataSource" data-source-names="primary_ds,replica_ds,shadow_primary_ds,shadow_replica_ds" rule-refs="shadowRule,replicaQueryRule">
         <props>
             <prop key="sql-show">true</prop>
         </props>
     </shardingsphere:data-source>
     
-    <primary-replica-replication:load-balance-algorithm id="randomStrategy" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomStrategy" type="RANDOM" />
     
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="demo_ds" primary-data-source-name="primary_ds" replica-data-source-names="replica_ds" load-balance-algorithm-ref="randomStrategy" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="demo_ds" primary-data-source-name="primary_ds" replica-data-source-names="replica_ds" load-balance-algorithm-ref="randomStrategy" />
+    </replica-query:rule>
     
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
         <property name="dataSource" ref="shadowDataSource" />
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java
index dbf8dfc..e82fd2f 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java
@@ -27,15 +27,15 @@ import javax.sql.DataSource;
 import java.sql.SQLException;
 
 /*
- * Please make sure primary-replica-replication data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  */
 public final class JavaConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION;
-//    private static ShardingType shardingType = ShardingType.SHARDING_PRIMARY_REPLICA_REPLICATION;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY;
+//    private static ShardingType shardingType = ShardingType.SHARDING_REPLICA_QUERY;
     
     public static void main(final String[] args) throws SQLException {
         DataSource dataSource = DataSourceFactory.newInstance(shardingType);
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java
index acda2a2..448f72e 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java
@@ -30,15 +30,15 @@ import javax.sql.DataSource;
 import java.sql.SQLException;
 
 /*
- * Please make sure primary-replica-replication data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  */
 public final class JavaRangeConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION;
-//    private static ShardingType shardingType = ShardingType.SHARDING_PRIMARY_REPLICA_REPLICATION;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY;
+//    private static ShardingType shardingType = ShardingType.SHARDING_REPLICA_QUERY;
     
     public static void main(final String[] args) throws SQLException {
         DataSource dataSource = RangeDataSourceFactory.newInstance(shardingType);
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java
index ec702df..ac26931 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java
@@ -28,15 +28,15 @@ import java.io.IOException;
 import java.sql.SQLException;
 
 /*
- * Please make sure primary-replica-replication data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  */
 public final class YamlConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION;
-//    private static ShardingType shardingType = ShardingType.SHARDING_PRIMARY_REPLICA_REPLICATION;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY;
+//    private static ShardingType shardingType = ShardingType.SHARDING_REPLICA_QUERY;
     
     public static void main(final String[] args) throws SQLException, IOException {
         DataSource dataSource = YamlDataSourceFactory.newInstance(shardingType);
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java
index f3ee9bf..c791c90 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java
@@ -28,15 +28,15 @@ import java.io.IOException;
 import java.sql.SQLException;
 
 /*
- * Please make sure primary-replica-replication data sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
+ * Please make sure primary replica data replication sync on MySQL is running correctly. Otherwise this example will query empty data from replica.
  */
 public final class YamlRangeConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
-//    private static ShardingType shardingType = ShardingType.PRIMARY_REPLICA_REPLICATION;
-//    private static ShardingType shardingType = ShardingType.SHARDING_PRIMARY_REPLICA_REPLICATION;
+//    private static ShardingType shardingType = ShardingType.REPLICA_QUERY;
+//    private static ShardingType shardingType = ShardingType.SHARDING_REPLICA_QUERY;
     
     public static void main(final String[] args) throws SQLException, IOException {
         DataSource dataSource = YamlRangeDataSourceFactory.newInstance(shardingType);
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/PrimaryReplicaReplicationConfiguration.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ReplicaQueryConfiguration.java
similarity index 71%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/PrimaryReplicaReplicationConfiguration.java
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ReplicaQueryConfiguration.java
index 19f0c82..cf11a37 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/PrimaryReplicaReplicationConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ReplicaQueryConfiguration.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.example.sharding.raw.jdbc.config;
 
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
 import org.apache.shardingsphere.example.config.ExampleConfiguration;
 import org.apache.shardingsphere.example.core.api.DataSourceUtil;
 import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
@@ -31,13 +31,13 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-public final class PrimaryReplicaReplicationConfiguration implements ExampleConfiguration {
+public final class ReplicaQueryConfiguration implements ExampleConfiguration {
     
     @Override
     public DataSource getDataSource() throws SQLException {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfig = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
-                "demo_primary_replica_ds", "demo_primary_ds", Arrays.asList("demo_replica_ds_0", "demo_replica_ds_1"), null);
-        PrimaryReplicaReplicationRuleConfiguration ruleConfig = new PrimaryReplicaReplicationRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap());
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfig = new ReplicaQueryDataSourceRuleConfiguration(
+                "demo_replica_query_ds", "demo_primary_ds", Arrays.asList("demo_replica_ds_0", "demo_replica_ds_1"), null);
+        ReplicaQueryRuleConfiguration ruleConfig = new ReplicaQueryRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap());
         return ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Collections.singleton(ruleConfig), new Properties());
     }
     
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingPrimaryReplicaReplicationConfigurationPrecise.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingReplicaQueryConfigurationPrecise.java
similarity index 82%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingPrimaryReplicaReplicationConfigurationPrecise.java
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingReplicaQueryConfigurationPrecise.java
index 4f4e75d..1690a15 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingPrimaryReplicaReplicationConfigurationPrecise.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingReplicaQueryConfigurationPrecise.java
@@ -21,8 +21,8 @@ import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
 import org.apache.shardingsphere.example.config.ExampleConfiguration;
 import org.apache.shardingsphere.example.core.api.DataSourceUtil;
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
@@ -36,12 +36,11 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-public final class ShardingPrimaryReplicaReplicationConfigurationPrecise implements ExampleConfiguration {
+public final class ShardingReplicaQueryConfigurationPrecise implements ExampleConfiguration {
     
     @Override
     public DataSource getDataSource() throws SQLException {
-        return ShardingSphereDataSourceFactory.createDataSource(
-                createDataSourceMap(), Arrays.asList(createShardingRuleConfiguration(), createPrimaryReplicaReplicationRuleConfiguration()), new Properties());
+        return ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), Arrays.asList(createShardingRuleConfiguration(), createReplicaQueryRuleConfiguration()), new Properties());
     }
     
     private static Map<String, DataSource> createDataSourceMap() {
@@ -81,12 +80,12 @@ public final class ShardingPrimaryReplicaReplicationConfigurationPrecise impleme
         return result;
     }
     
-    private static PrimaryReplicaReplicationRuleConfiguration createPrimaryReplicaReplicationRuleConfiguration() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfiguration1 = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+    private static ReplicaQueryRuleConfiguration createReplicaQueryRuleConfiguration() {
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfiguration1 = new ReplicaQueryDataSourceRuleConfiguration(
                 "ds_0", "demo_primary_ds_0", Arrays.asList("demo_primary_ds_0_replica_0", "demo_primary_ds_0_replica_1"), null);
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfiguration2 = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfiguration2 = new ReplicaQueryDataSourceRuleConfiguration(
                 "ds_1", "demo_primary_ds_1", Arrays.asList("demo_primary_ds_1_replica_0", "demo_primary_ds_1_replica_1"), null);
-        return new PrimaryReplicaReplicationRuleConfiguration(Arrays.asList(dataSourceConfiguration1, dataSourceConfiguration2), Collections.emptyMap());
+        return new ReplicaQueryRuleConfiguration(Arrays.asList(dataSourceConfiguration1, dataSourceConfiguration2), Collections.emptyMap());
     }
     
     private static Properties getProperties() {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingPrimaryReplicaReplicationConfigurationRange.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingReplicaQueryConfigurationRange.java
similarity index 83%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingPrimaryReplicaReplicationConfigurationRange.java
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingReplicaQueryConfigurationRange.java
index e8edb0b..62a136e 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingPrimaryReplicaReplicationConfigurationRange.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingReplicaQueryConfigurationRange.java
@@ -21,8 +21,8 @@ import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
 import org.apache.shardingsphere.example.config.ExampleConfiguration;
 import org.apache.shardingsphere.example.core.api.DataSourceUtil;
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
@@ -36,12 +36,12 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-public final class ShardingPrimaryReplicaReplicationConfigurationRange implements ExampleConfiguration {
+public final class ShardingReplicaQueryConfigurationRange implements ExampleConfiguration {
     
     @Override
     public DataSource getDataSource() throws SQLException {
         return ShardingSphereDataSourceFactory.createDataSource(
-                createDataSourceMap(), Arrays.asList(createShardingRuleConfiguration(), createPrimaryReplicaReplicationRuleConfiguration()), new Properties());
+                createDataSourceMap(), Arrays.asList(createShardingRuleConfiguration(), createReplicaQueryRuleConfiguration()), new Properties());
     }
     
     private static Map<String, DataSource> createDataSourceMap() {
@@ -81,12 +81,12 @@ public final class ShardingPrimaryReplicaReplicationConfigurationRange implement
         return result;
     }
     
-    private static PrimaryReplicaReplicationRuleConfiguration createPrimaryReplicaReplicationRuleConfiguration() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfig1 = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+    private static ReplicaQueryRuleConfiguration createReplicaQueryRuleConfiguration() {
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfig1 = new ReplicaQueryDataSourceRuleConfiguration(
                 "ds_0", "demo_primary_ds_0", Arrays.asList("demo_primary_ds_0_replica_0", "demo_primary_ds_0_replica_1"), null);
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfig2 = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfig2 = new ReplicaQueryDataSourceRuleConfiguration(
                 "ds_1", "demo_primary_ds_1", Arrays.asList("demo_primary_ds_1_replica_0", "demo_primary_ds_1_replica_1"), null);
-        return new PrimaryReplicaReplicationRuleConfiguration(Arrays.asList(dataSourceConfig1, dataSourceConfig2), Collections.emptyMap());
+        return new ReplicaQueryRuleConfiguration(Arrays.asList(dataSourceConfig1, dataSourceConfig2), Collections.emptyMap());
     }
     
     private static Properties getProperties() {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java
index a503ea0..edcebb8 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java
@@ -17,10 +17,10 @@
 
 package org.apache.shardingsphere.example.sharding.raw.jdbc.factory;
 
-import org.apache.shardingsphere.example.sharding.raw.jdbc.config.PrimaryReplicaReplicationConfiguration;
+import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ReplicaQueryConfiguration;
 import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingDatabasesAndTablesConfigurationPrecise;
 import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingDatabasesConfigurationPrecise;
-import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingPrimaryReplicaReplicationConfigurationPrecise;
+import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingReplicaQueryConfigurationPrecise;
 import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingTablesConfigurationPrecise;
 import org.apache.shardingsphere.example.type.ShardingType;
 
@@ -37,10 +37,10 @@ public final class DataSourceFactory {
                 return new ShardingTablesConfigurationPrecise().getDataSource();
             case SHARDING_DATABASES_AND_TABLES:
                 return new ShardingDatabasesAndTablesConfigurationPrecise().getDataSource();
-            case PRIMARY_REPLICA_REPLICATION:
-                return new PrimaryReplicaReplicationConfiguration().getDataSource();
-            case SHARDING_PRIMARY_REPLICA_REPLICATION:
-                return new ShardingPrimaryReplicaReplicationConfigurationPrecise().getDataSource();
+            case REPLICA_QUERY:
+                return new ReplicaQueryConfiguration().getDataSource();
+            case SHARDING_REPLICA_QUERY:
+                return new ShardingReplicaQueryConfigurationPrecise().getDataSource();
             default:
                 throw new UnsupportedOperationException(shardingType.name());
         }
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java
index 3d86707..7c37e83 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java
@@ -17,10 +17,10 @@
 
 package org.apache.shardingsphere.example.sharding.raw.jdbc.factory;
 
-import org.apache.shardingsphere.example.sharding.raw.jdbc.config.PrimaryReplicaReplicationConfiguration;
+import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ReplicaQueryConfiguration;
 import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingDatabasesAndTablesConfigurationRange;
 import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingDatabasesConfigurationRange;
-import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingPrimaryReplicaReplicationConfigurationRange;
+import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingReplicaQueryConfigurationRange;
 import org.apache.shardingsphere.example.sharding.raw.jdbc.config.ShardingTablesConfigurationRange;
 import org.apache.shardingsphere.example.type.ShardingType;
 
@@ -37,10 +37,10 @@ public final class RangeDataSourceFactory {
                 return new ShardingTablesConfigurationRange().getDataSource();
             case SHARDING_DATABASES_AND_TABLES:
                 return new ShardingDatabasesAndTablesConfigurationRange().getDataSource();
-            case PRIMARY_REPLICA_REPLICATION:
-                return new PrimaryReplicaReplicationConfiguration().getDataSource();
-            case SHARDING_PRIMARY_REPLICA_REPLICATION:
-                return new ShardingPrimaryReplicaReplicationConfigurationRange().getDataSource();
+            case REPLICA_QUERY:
+                return new ReplicaQueryConfiguration().getDataSource();
+            case SHARDING_REPLICA_QUERY:
+                return new ShardingReplicaQueryConfigurationRange().getDataSource();
             default:
                 throw new UnsupportedOperationException(shardingType.name());
         }
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
index 09cf1fc..b6e8d36 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
@@ -35,10 +35,10 @@ public final class YamlDataSourceFactory {
                 return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-tables.yaml"));
             case SHARDING_DATABASES_AND_TABLES:
                 return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-databases-tables.yaml"));
-            case PRIMARY_REPLICA_REPLICATION:
-                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/primary-replica-replication.yaml"));
-            case SHARDING_PRIMARY_REPLICA_REPLICATION:
-                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-primary-replica-replication.yaml"));
+            case REPLICA_QUERY:
+                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/replica-query.yaml"));
+            case SHARDING_REPLICA_QUERY:
+                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-replica-query.yaml"));
             default:
                 throw new UnsupportedOperationException(shardingType.name());
         }
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java
index 8eff4ec..631664d 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java
@@ -35,10 +35,10 @@ public final class YamlRangeDataSourceFactory {
                 return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-tables-range.yaml"));
             case SHARDING_DATABASES_AND_TABLES:
                 return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-databases-tables-range.yaml"));
-            case PRIMARY_REPLICA_REPLICATION:
-                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/primary-replica-replication.yaml"));
-            case SHARDING_PRIMARY_REPLICA_REPLICATION:
-                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-primary-replica-replication-range.yaml"));
+            case REPLICA_QUERY:
+                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/replica-query.yaml"));
+            case SHARDING_REPLICA_QUERY:
+                return YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-replica-query-range.yaml"));
             default:
                 throw new UnsupportedOperationException(shardingType.name());
         }
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/primary-replica-replication.yaml b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/replica-query.yaml
similarity index 98%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/primary-replica-replication.yaml
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/replica-query.yaml
index 717241f..f2850b1 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/primary-replica-replication.yaml
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/replica-query.yaml
@@ -33,7 +33,7 @@ dataSources:
     password:
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-primary-replica-replication-range.yaml b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-replica-query-range.yaml
similarity index 99%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-primary-replica-replication-range.yaml
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-replica-query-range.yaml
index 2409d3e..7f1349e 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-primary-replica-replication-range.yaml
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-replica-query-range.yaml
@@ -89,7 +89,7 @@ rules:
       props:
           worker-id: 123
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-primary-replica-replication.yaml b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-replica-query.yaml
similarity index 99%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-primary-replica-replication.yaml
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-replica-query.yaml
index 0789401..477366a 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-primary-replica-replication.yaml
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/resources/META-INF/sharding-replica-query.yaml
@@ -97,7 +97,7 @@ rules:
       props:
           worker-id: 123
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-replica-query.properties
similarity index 78%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-replica-query.properties
index 7b94507..91a6707 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-primary-replica-replication.properties
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-replica-query.properties
@@ -28,7 +28,7 @@ spring.shardingsphere.datasource.replica_ds_0.jdbc-url=jdbc:mysql://localhost:33
 
 spring.shardingsphere.datasource.replica_ds_1.jdbc-url=jdbc:mysql://localhost:3306/demo_replica_ds_1?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
 
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.round_robin.type=ROUND_ROBIN
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.load-balancer-name=round_robin
+spring.shardingsphere.rules.replica-query.load-balancers.round_robin.type=ROUND_ROBIN
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.load-balancer-name=round_robin
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-sharding-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-sharding-replica-query.properties
similarity index 88%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-sharding-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-sharding-replica-query.properties
index 598ea33..d3e6ea0 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-sharding-primary-replica-replication.properties
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application-sharding-replica-query.properties
@@ -53,7 +53,7 @@ spring.shardingsphere.rules.sharding.tables.t_order_item.key-generate-strategy.k
 spring.shardingsphere.rules.sharding.key-generators.snowflake.type=SNOWFLAKE
 spring.shardingsphere.rules.sharding.key-generators.snowflake.props.worker-id=123
 
-spring.shardingsphere.rules.primary-replica-replications.ds_0.primary-data-source-name=primary_ds_0
-spring.shardingsphere.rules.primary-replica-replications.ds_0.replica-data-source-names=primary_ds_0_replica_0, primary_ds_0_replica_1
-spring.shardingsphere.rules.primary-replica-replications.ds_1.primary-data-source-name=primary_ds_1
-spring.shardingsphere.rules.primary-replica-replications.ds_1.replica-data-source-names=primary_ds_1_replica_0, primary_ds_1_replica_1
+spring.shardingsphere.rules.replica-querys.ds_0.primary-data-source-name=primary_ds_0
+spring.shardingsphere.rules.replica-querys.ds_0.replica-data-source-names=primary_ds_0_replica_0, primary_ds_0_replica_1
+spring.shardingsphere.rules.replica-querys.ds_1.primary-data-source-name=primary_ds_1
+spring.shardingsphere.rules.replica-querys.ds_1.replica-data-source-names=primary_ds_1_replica_0, primary_ds_1_replica_1
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application.properties b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application.properties
index 5248510..54ef639 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application.properties
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-jpa-example/src/main/resources/application.properties
@@ -22,5 +22,5 @@ spring.jpa.properties.hibernate.show_sql=false
 spring.profiles.active=sharding-databases
 #spring.profiles.active=sharding-tables
 #spring.profiles.active=sharding-databases-tables
-#spring.profiles.active=primary-replica-replication
-#spring.profiles.active=sharding-primary-replica-replication
+#spring.profiles.active=replica-query
+#spring.profiles.active=sharding-replica-query
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-replica-query.properties
similarity index 78%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-replica-query.properties
index 7b94507..91a6707 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-primary-replica-replication.properties
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-replica-query.properties
@@ -28,7 +28,7 @@ spring.shardingsphere.datasource.replica_ds_0.jdbc-url=jdbc:mysql://localhost:33
 
 spring.shardingsphere.datasource.replica_ds_1.jdbc-url=jdbc:mysql://localhost:3306/demo_replica_ds_1?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
 
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.round_robin.type=ROUND_ROBIN
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.load-balancer-name=round_robin
+spring.shardingsphere.rules.replica-query.load-balancers.round_robin.type=ROUND_ROBIN
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.load-balancer-name=round_robin
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-sharding-primary-replica-replication.properties b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-sharding-replica-query.properties
similarity index 88%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-sharding-primary-replica-replication.properties
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-sharding-replica-query.properties
index aeb58ca..5c00a36 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-sharding-primary-replica-replication.properties
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application-sharding-replica-query.properties
@@ -56,7 +56,7 @@ spring.shardingsphere.rules.sharding.tables.t_order_item.key-generate-strategy.k
 spring.shardingsphere.rules.sharding.key-generators.snowflake.type=SNOWFLAKE
 spring.shardingsphere.rules.sharding.key-generators.snowflake.props.worker-id=123
 
-spring.shardingsphere.rules.primary-replica-replication.data-sources.ds_0.primary-data-source-name=primary_ds_0
-spring.shardingsphere.rules.primary-replica-replication.data-sources.ds_0.replica-data-source-names=primary_ds_0_replica_0, primary_ds_0_replica_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.ds_1.primary-data-source-name=primary_ds_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.ds_1.replica-data-source-names=primary_ds_1_replica_0, primary_ds_1_replica_1
+spring.shardingsphere.rules.replica-query.data-sources.ds_0.primary-data-source-name=primary_ds_0
+spring.shardingsphere.rules.replica-query.data-sources.ds_0.replica-data-source-names=primary_ds_0_replica_0, primary_ds_0_replica_1
+spring.shardingsphere.rules.replica-query.data-sources.ds_1.primary-data-source-name=primary_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.ds_1.replica-data-source-names=primary_ds_1_replica_0, primary_ds_1_replica_1
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application.properties b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application.properties
index 1895fd0..6b43430 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application.properties
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-boot-mybatis-example/src/main/resources/application.properties
@@ -20,5 +20,5 @@ mybatis.config-location=classpath:META-INF/mybatis-config.xml
 #spring.profiles.active=sharding-databases
 #spring.profiles.active=sharding-tables
 #spring.profiles.active=sharding-databases-tables
-#spring.profiles.active=primary-replica-replication
-spring.profiles.active=sharding-primary-replica-replication
+#spring.profiles.active=replica-query
+spring.profiles.active=sharding-replica-query
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java
index e701d06..86cedd9 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java
@@ -29,8 +29,8 @@ public final class ExampleMain {
     private static final String CONFIG_FILE = "META-INF/application-sharding-databases.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-tables.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-databases-tables.xml";
-//    private static final String CONFIG_FILE = "META-INF/application-primary-replica-replication.xml";
-//    private static final String CONFIG_FILE = "META-INF/application-sharding-primary-replica-replication.xml";
+//    private static final String CONFIG_FILE = "META-INF/application-replica-query.xml";
+//    private static final String CONFIG_FILE = "META-INF/application-sharding-replica-query.xml";
     
     public static void main(final String[] args) throws SQLException {
         try (ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext(CONFIG_FILE)) {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-replica-query.xml
similarity index 82%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-replica-query.xml
index 6369e3f..88fbcde 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-replica-query.xml
@@ -22,7 +22,7 @@
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
                            http://www.springframework.org/schema/context 
@@ -31,14 +31,14 @@
                            http://www.springframework.org/schema/tx/spring-tx.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            ">
     <context:annotation-config />
     <context:component-scan base-package="org.apache.shardingsphere.example.core.jpa"/>
     
     <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
         <property name="jpaVendorAdapter">
             <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" p:database="MYSQL" />
         </property>
@@ -75,11 +75,11 @@
         <property name="password" value=""/>
     </bean>
     
-    <primary-replica-replication:load-balance-algorithm id="randomStrategy" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomStrategy" type="RANDOM" />
     
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
+    </replica-query:rule>
     
-    <shardingsphere:data-source id="primaryReplicaReplicationDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="primaryReplicaReplicationRule" />
+    <shardingsphere:data-source id="replicaQueryDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="replicaQueryRule" />
 </beans>
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-sharding-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-sharding-replica-query.xml
similarity index 89%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-sharding-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-sharding-replica-query.xml
index aeb1ad9..35134fc 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-sharding-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/resources/META-INF/application-sharding-replica-query.xml
@@ -23,7 +23,7 @@
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource"
        xmlns:sharding="http://shardingsphere.apache.org/schema/shardingsphere/sharding"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/context
@@ -34,8 +34,8 @@
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            ">
     <context:annotation-config />
     <context:component-scan base-package="org.apache.shardingsphere.example.core.jpa"/>
@@ -105,7 +105,7 @@
         <property name="maximumPoolSize" value="16"/>
     </bean>
     
-    <primary-replica-replication:load-balance-algorithm id="randomStrategy" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomStrategy" type="RANDOM" />
     
     <sharding:sharding-algorithm id="databaseAlgorithm" type="INLINE">
         <props>
@@ -149,12 +149,12 @@
             <sharding:broadcast-table-rule table="t_address"/>
         </sharding:broadcast-table-rules>
     </sharding:rule>
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="demo_pr_ds_0" primary-data-source-name="demo_primary_ds_0" replica-data-source-names="demo_primary_ds_0_replica_0, demo_primary_ds_0_replica_1" load-balance-algorithm-ref="randomStrategy" />
-        <primary-replica-replication:data-source-rule id="demo_pr_ds_1" primary-data-source-name="demo_primary_ds_1" replica-data-source-names="demo_primary_ds_1_replica_0, demo_primary_ds_1_replica_1" load-balance-algorithm-ref="randomStrategy" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="demo_pr_ds_0" primary-data-source-name="demo_primary_ds_0" replica-data-source-names="demo_primary_ds_0_replica_0, demo_primary_ds_0_replica_1" load-balance-algorithm-ref="randomStrategy" />
+        <replica-query:data-source-rule id="demo_pr_ds_1" primary-data-source-name="demo_primary_ds_1" replica-data-source-names="demo_primary_ds_1_replica_0, demo_primary_ds_1_replica_1" load-balance-algorithm-ref="randomStrategy" />
+    </replica-query:rule>
     
-    <shardingsphere:data-source id="shardingDataSource" data-source-names="demo_primary_ds_0,demo_primary_ds_1,demo_primary_ds_0_replica_0, demo_primary_ds_0_replica_1,demo_primary_ds_1_replica_0, demo_primary_ds_1_replica_1" rule-refs="shardingRule, primaryReplicaReplicationRule">
+    <shardingsphere:data-source id="shardingDataSource" data-source-names="demo_primary_ds_0,demo_primary_ds_1,demo_primary_ds_0_replica_0, demo_primary_ds_0_replica_1,demo_primary_ds_1_replica_0, demo_primary_ds_1_replica_1" rule-refs="shardingRule, replicaQueryRule">
         <props>
             <prop key="sql-show">false</prop>
         </props>
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java
index d7683da..1efbd0b 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java
@@ -29,8 +29,8 @@ public final class ExampleMain {
     private static final String CONFIG_FILE = "META-INF/application-sharding-databases.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-tables.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-databases-tables.xml";
-//    private static final String CONFIG_FILE = "META-INF/application-primary-replica-replication.xml";
-//    private static final String CONFIG_FILE = "META-INF/application-sharding-primary-replica-replication.xml";
+//    private static final String CONFIG_FILE = "META-INF/application-replica-query.xml";
+//    private static final String CONFIG_FILE = "META-INF/application-sharding-replica-query.xml";
     
     public static void main(final String[] args) throws SQLException {
         try (ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext(CONFIG_FILE)) {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-replica-query.xml
similarity index 79%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-replica-query.xml
index 568b852..3876b2c 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-replica-query.xml
@@ -21,7 +21,7 @@
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
                            http://www.springframework.org/schema/context 
@@ -30,8 +30,8 @@
                            http://www.springframework.org/schema/tx/spring-tx.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            ">
     <context:component-scan base-package="org.apache.shardingsphere.example.core.mybatis" />
     
@@ -56,21 +56,21 @@
         <property name="password" value=""/>
     </bean>
     
-    <primary-replica-replication:load-balance-algorithm id="randomStrategy" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomStrategy" type="RANDOM" />
     
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="demo_ds" primary-data-source-name="demo_primary_ds" replica-data-source-names="demo_replica_ds_0, demo_replica_ds_1" load-balance-algorithm-ref="randomStrategy" />
+    </replica-query:rule>
     
-    <shardingsphere:data-source id="primaryReplicaReplicationDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="primaryReplicaReplicationRule" />
+    <shardingsphere:data-source id="replicaQueryDataSource" data-source-names="demo_primary_ds, demo_replica_ds_0, demo_replica_ds_1" rule-refs="replicaQueryRule" />
     
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
     </bean>
     <tx:annotation-driven />
     
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-        <property name="dataSource" ref="primaryReplicaReplicationDataSource" />
+        <property name="dataSource" ref="replicaQueryDataSource" />
         <property name="mapperLocations" value="classpath*:META-INF/mappers/*.xml" />
     </bean>
     
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-sharding-primary-replica-replication.xml b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-sharding-replica-query.xml
similarity index 89%
rename from examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-sharding-primary-replica-replication.xml
rename to examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-sharding-replica-query.xml
index 98b6417..bfccf41 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-sharding-primary-replica-replication.xml
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/resources/META-INF/application-sharding-replica-query.xml
@@ -22,7 +22,7 @@
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource"
        xmlns:sharding="http://shardingsphere.apache.org/schema/shardingsphere/sharding"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
                            http://www.springframework.org/schema/context 
@@ -33,8 +33,8 @@
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            ">
     <context:component-scan base-package="org.apache.shardingsphere.example.core.mybatis" />
     
@@ -109,7 +109,7 @@
     <sharding:key-generate-strategy id="orderKeyGenerator" column="order_id" algorithm-ref="snowflakeAlgorithm" />
     <sharding:key-generate-strategy id="itemKeyGenerator" column="order_item_id" algorithm-ref="snowflakeAlgorithm" />
     
-    <primary-replica-replication:load-balance-algorithm id="randomStrategy" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomStrategy" type="RANDOM" />
     
     <sharding:rule id="shardingRule">
         <sharding:table-rules>
@@ -123,12 +123,12 @@
             <sharding:broadcast-table-rule table="t_address"/>
         </sharding:broadcast-table-rules>
     </sharding:rule>
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="demo_pr_ds_0" primary-data-source-name="demo_primary_ds_0" replica-data-source-names="demo_primary_ds_0_replica_0, demo_primary_ds_0_replica_1" load-balance-algorithm-ref="randomStrategy" />
-        <primary-replica-replication:data-source-rule id="demo_pr_ds_1" primary-data-source-name="demo_primary_ds_1" replica-data-source-names="demo_primary_ds_1_replica_0, demo_primary_ds_1_replica_1" load-balance-algorithm-ref="randomStrategy" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="demo_pr_ds_0" primary-data-source-name="demo_primary_ds_0" replica-data-source-names="demo_primary_ds_0_replica_0, demo_primary_ds_0_replica_1" load-balance-algorithm-ref="randomStrategy" />
+        <replica-query:data-source-rule id="demo_pr_ds_1" primary-data-source-name="demo_primary_ds_1" replica-data-source-names="demo_primary_ds_1_replica_0, demo_primary_ds_1_replica_1" load-balance-algorithm-ref="randomStrategy" />
+    </replica-query:rule>
     
-    <shardingsphere:data-source id="shardingDataSource" data-source-names="demo_primary_ds_0,demo_primary_ds_0_replica_0,demo_primary_ds_0_replica_1,demo_primary_ds_1,demo_primary_ds_1_replica_0,demo_primary_ds_1_replica_1" rule-refs="shardingRule, primaryReplicaReplicationRule">
+    <shardingsphere:data-source id="shardingDataSource" data-source-names="demo_primary_ds_0,demo_primary_ds_0_replica_0,demo_primary_ds_0_replica_1,demo_primary_ds_1,demo_primary_ds_1_replica_0,demo_primary_ds_1_replica_1" rule-refs="shardingRule, replicaQueryRule">
         <props>
             <prop key="sql-show">false</prop>
         </props>
diff --git a/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/java/org/apache/shardingsphere/example/proxy/spring/boot/mybatis/SpringBootStarterExample.java b/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/java/org/apache/shardingsphere/example/proxy/spring/boot/mybatis/SpringBootStarterExample.java
index 7d562ff..e24758d 100644
--- a/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/java/org/apache/shardingsphere/example/proxy/spring/boot/mybatis/SpringBootStarterExample.java
+++ b/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/java/org/apache/shardingsphere/example/proxy/spring/boot/mybatis/SpringBootStarterExample.java
@@ -30,7 +30,7 @@ import java.sql.SQLException;
  * 1. Copy resources/conf/*.yaml to ShardingSphere-Proxy conf folder and overwrite original file.
  *    
  *    If you want to use sharding, please select config-sharding.yaml
- *    If you want to use primary-replica-replication, please select config-primary-replica-replication.yaml
+ *    If you want to use replica-query, please select config-replica-query.yaml
  *
  * 2. Please make sure ShardingSphere-Proxy is running before you run this example.
  */
diff --git a/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/resources/conf/config-primary-replica-replication.yaml b/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/resources/conf/config-replica-query.yaml
similarity index 92%
rename from examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/resources/conf/config-primary-replica-replication.yaml
rename to examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/resources/conf/config-replica-query.yaml
index dfdb491..d4db075 100644
--- a/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/resources/conf/config-primary-replica-replication.yaml
+++ b/examples/shardingsphere-proxy-example/shardingsphere-proxy-boot-mybatis-example/src/main/resources/conf/config-replica-query.yaml
@@ -18,11 +18,11 @@
 ######################################################################################################
 # 
 # Here you can configure the rules for the proxy.
-# This example is configuration of primary-replica-replication rule.
+# This example is configuration of replica-query rule.
 # 
 ######################################################################################################
 
-schemaName: primary_replica_replication_db
+schemaName: replica_query_db
 
 dataSourceCommon:
   username: root
@@ -43,7 +43,7 @@ dataSources:
     url: jdbc:mysql://127.0.0.1:3306/replica_ds_1?serverTimezone=UTC&useSSL=false
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/resources/conf/config-primary-only.yaml b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/resources/conf/config-primary-only.yaml
index 9c8b5f4..5692564 100644
--- a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/resources/conf/config-primary-only.yaml
+++ b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/resources/conf/config-primary-only.yaml
@@ -36,7 +36,7 @@ dataSources:
     url: jdbc:mysql://localhost:3306/demo_replica_ds_1
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/shardingsphere-distribution/shardingsphere-proxy-distribution/src/main/resources/conf/config-primary-replica-replication.yaml b/shardingsphere-distribution/shardingsphere-proxy-distribution/src/main/resources/conf/config-replica-query.yaml
similarity index 93%
rename from shardingsphere-distribution/shardingsphere-proxy-distribution/src/main/resources/conf/config-primary-replica-replication.yaml
rename to shardingsphere-distribution/shardingsphere-proxy-distribution/src/main/resources/conf/config-replica-query.yaml
index 1d05dc2..1799b6b 100644
--- a/shardingsphere-distribution/shardingsphere-proxy-distribution/src/main/resources/conf/config-primary-replica-replication.yaml
+++ b/shardingsphere-distribution/shardingsphere-proxy-distribution/src/main/resources/conf/config-replica-query.yaml
@@ -18,11 +18,11 @@
 ######################################################################################################
 #
 # Here you can configure the rules for the proxy.
-# This example is configuration of primary-replica-replication rule.
+# This example is configuration of replica-query rule.
 #
 ######################################################################################################
 #
-#schemaName: primary_replica_db
+#schemaName: replica_query_db
 #
 #dataSourceCommon:
 #  username: postgres
@@ -43,7 +43,7 @@
 #    url: jdbc:postgresql://127.0.0.1:5432/demo_replica_ds_1?serverTimezone=UTC&useSSL=false
 #
 #rules:
-#- !PRIMARY_REPLICA_REPLICATION
+#- !REPLICA_QUERY
 #  dataSources:
 #    pr_ds:
 #      name: pr_ds
@@ -58,7 +58,7 @@
 #
 ######################################################################################################
 
-#schemaName: primary_replica_replication_db
+#schemaName: replica_query_db
 #
 #dataSourceCommon:
 #  username: root
@@ -79,7 +79,7 @@
 #    url: jdbc:mysql://127.0.0.1:3306/demo_replica_ds_1?serverTimezone=UTC&useSSL=false
 #
 #rules:
-#- !PRIMARY_REPLICA_REPLICATION
+#- !REPLICA_QUERY
 #  dataSources:
 #    pr_ds:
 #      name: pr_ds
diff --git a/shardingsphere-features/pom.xml b/shardingsphere-features/pom.xml
index 4624c6c..ed6d760 100644
--- a/shardingsphere-features/pom.xml
+++ b/shardingsphere-features/pom.xml
@@ -31,7 +31,7 @@
     
     <modules>
         <module>shardingsphere-sharding</module>
-        <module>shardingsphere-primary-replica-replication</module>
+        <module>shardingsphere-replica-query</module>
         <module>shardingsphere-encrypt</module>
         <module>shardingsphere-shadow</module>
         <module>shardingsphere-consensus-replication</module>
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/AlgorithmProvidedPrimaryReplicaReplicationRuleBuilder.java b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/AlgorithmProvidedPrimaryR [...]
deleted file mode 100644
index 6a9bf7c..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/AlgorithmProvidedPrimaryReplicaReplicationRuleBuilder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.replication.primaryreplica.rule.biulder;
-
-import org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-
-import java.util.Collection;
-
-/**
- * Algorithm provided Primary-replica replication rule builder.
- */
-public final class AlgorithmProvidedPrimaryReplicaReplicationRuleBuilder 
-        implements ShardingSphereRuleBuilder<PrimaryReplicaReplicationRule, AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration> {
-    
-    @Override
-    public PrimaryReplicaReplicationRule build(final AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration ruleConfig, final Collection<String> dataSourceNames) {
-        return new PrimaryReplicaReplicationRule(ruleConfig);
-    }
-    
-    @Override
-    public int getOrder() {
-        return PrimaryReplicaReplicationOrder.ORDER + 1;
-    }
-    
-    @Override
-    public Class<AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration> getTypeClass() {
-        return AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.class;
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper.java b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryR [...]
deleted file mode 100644
index b3518a4..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.replication.primaryreplica.yaml.swapper;
-
-import org.apache.shardingsphere.infra.yaml.config.algorithm.YamlShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.rule.YamlPrimaryReplicaReplicationDataSourceRuleConfiguration;
-
-import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.Map.Entry;
-import java.util.stream.Collectors;
-
-/**
- * Primary-replica replication rule configuration YAML swapper.
- */
-public final class PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper
-        implements YamlRuleConfigurationSwapper<YamlPrimaryReplicaReplicationRuleConfiguration, AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration> {
-    
-    @Override
-    public YamlPrimaryReplicaReplicationRuleConfiguration swapToYamlConfiguration(final AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration data) {
-        YamlPrimaryReplicaReplicationRuleConfiguration result = new YamlPrimaryReplicaReplicationRuleConfiguration();
-        result.setDataSources(data.getDataSources().stream().collect(
-                Collectors.toMap(PrimaryReplicaReplicationDataSourceRuleConfiguration::getName, this::swapToYamlConfiguration, (oldValue, currentValue) -> oldValue, LinkedHashMap::new)));
-        if (null != data.getLoadBalanceAlgorithms()) {
-            data.getLoadBalanceAlgorithms().forEach((key, value) -> result.getLoadBalancers().put(key, YamlShardingSphereAlgorithmConfiguration.buildByTypedSPI(value)));
-        }
-        return result;
-    }
-    
-    private YamlPrimaryReplicaReplicationDataSourceRuleConfiguration swapToYamlConfiguration(final PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceRuleConfig) {
-        YamlPrimaryReplicaReplicationDataSourceRuleConfiguration result = new YamlPrimaryReplicaReplicationDataSourceRuleConfiguration();
-        result.setName(dataSourceRuleConfig.getName());
-        result.setPrimaryDataSourceName(dataSourceRuleConfig.getPrimaryDataSourceName());
-        result.setReplicaDataSourceNames(dataSourceRuleConfig.getReplicaDataSourceNames());
-        result.setLoadBalancerName(dataSourceRuleConfig.getLoadBalancerName());
-        return result;
-    }
-    
-    @Override
-    public AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration swapToObject(final YamlPrimaryReplicaReplicationRuleConfiguration yamlConfig) {
-        Collection<PrimaryReplicaReplicationDataSourceRuleConfiguration> dataSources = new LinkedList<>();
-        for (Entry<String, YamlPrimaryReplicaReplicationDataSourceRuleConfiguration> entry : yamlConfig.getDataSources().entrySet()) {
-            dataSources.add(swapToObject(entry.getKey(), entry.getValue()));
-        }
-        AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration ruleConfig = new AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration();
-        ruleConfig.setDataSources(dataSources);
-        return ruleConfig;
-    }
-    
-    private PrimaryReplicaReplicationDataSourceRuleConfiguration swapToObject(final String name, final YamlPrimaryReplicaReplicationDataSourceRuleConfiguration yamlDataSourceRuleConfig) {
-        return new PrimaryReplicaReplicationDataSourceRuleConfiguration(name, 
-                yamlDataSourceRuleConfig.getPrimaryDataSourceName(), yamlDataSourceRuleConfig.getReplicaDataSourceNames(), yamlDataSourceRuleConfig.getLoadBalancerName());
-    }
-    
-    @Override
-    public Class<AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration> getTypeClass() {
-        return AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.class;
-    }
-    
-    @Override
-    public String getRuleTagName() {
-        return "PRIMARY_REPLICA_REPLICATION";
-    }
-    
-    @Override
-    public int getOrder() {
-        return PrimaryReplicaReplicationOrder.ALGORITHM_PROVIDER_ORDER;
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder
deleted file mode 100644
index 7da386a..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shardingsphere.replication.primaryreplica.rule.biulder.PrimaryReplicaReplicationRuleBuilder
-org.apache.shardingsphere.replication.primaryreplica.rule.biulder.AlgorithmProvidedPrimaryReplicaReplicationRuleBuilder
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper
deleted file mode 100644
index 8cf8a0f..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shardingsphere.replication.primaryreplica.yaml.swapper.PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper
-org.apache.shardingsphere.replication.primaryreplica.yaml.swapper.PrimaryReplicaReplicationRuleConfigurationYamlSwapper
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationDataSourceRuleTest.java b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationDataSourceRuleTest.java
deleted file mode 100644
index 393dec1..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationDataSourceRuleTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.replication.primaryreplica.rule;
-
-import com.google.common.collect.ImmutableMap;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RandomReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RoundRobinReplicaLoadBalanceAlgorithm;
-import org.junit.Test;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Map;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public final class PrimaryReplicaReplicationDataSourceRuleTest {
-    
-    private final PrimaryReplicaReplicationDataSourceRule primaryReplicaDataSourceRule = new PrimaryReplicaReplicationDataSourceRule(
-            new PrimaryReplicaReplicationDataSourceRuleConfiguration("test_pr", "primary_ds", Arrays.asList("replica_ds_0", "replica_ds_1"), "random"), new RandomReplicaLoadBalanceAlgorithm());
-    
-    @Test(expected = IllegalArgumentException.class)
-    public void assertNewPrimaryReplicaReplicationDataSourceRuleWithoutName() {
-        new PrimaryReplicaReplicationDataSourceRule(
-                new PrimaryReplicaReplicationDataSourceRuleConfiguration("", "primary_ds", Collections.singletonList("replica_ds"), null), new RoundRobinReplicaLoadBalanceAlgorithm());
-    }
-    
-    @Test(expected = IllegalArgumentException.class)
-    public void assertNewPrimaryReplicaReplicationDataSourceRuleWithoutPrimaryDataSourceName() {
-        new PrimaryReplicaReplicationDataSourceRule(
-                new PrimaryReplicaReplicationDataSourceRuleConfiguration("ds", "", Collections.singletonList("replica_ds"), null), new RoundRobinReplicaLoadBalanceAlgorithm());
-    }
-    
-    @Test(expected = IllegalArgumentException.class)
-    public void assertNewPrimaryReplicaReplicationDataSourceRuleWithNullReplicaDataSourceName() {
-        new PrimaryReplicaReplicationDataSourceRule(
-                new PrimaryReplicaReplicationDataSourceRuleConfiguration("ds", "primary_ds", null, null), new RoundRobinReplicaLoadBalanceAlgorithm());
-    }
-    
-    @Test(expected = IllegalArgumentException.class)
-    public void assertNewPrimaryReplicaReplicationDataSourceRuleWithEmptyReplicaDataSourceName() {
-        new PrimaryReplicaReplicationDataSourceRule(
-                new PrimaryReplicaReplicationDataSourceRuleConfiguration("ds", "primary_ds", Collections.emptyList(), null), new RoundRobinReplicaLoadBalanceAlgorithm());
-    }
-    
-    @Test
-    public void assertGetReplicaDataSourceNamesWithoutDisabledDataSourceNames() {
-        assertThat(primaryReplicaDataSourceRule.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-    }
-    
-    @Test
-    public void assertGetReplicaDataSourceNamesWithDisabledDataSourceNames() {
-        primaryReplicaDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", true);
-        assertThat(primaryReplicaDataSourceRule.getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
-    }
-    
-    @Test
-    public void assertUpdateDisabledDataSourceNamesForDisabled() {
-        primaryReplicaDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", true);
-        assertThat(primaryReplicaDataSourceRule.getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
-    }
-    
-    @Test
-    public void assertUpdateDisabledDataSourceNamesForEnabled() {
-        primaryReplicaDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", true);
-        primaryReplicaDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", false);
-        assertThat(primaryReplicaDataSourceRule.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-    }
-    
-    @Test
-    public void assertGetDataSourceMapper() {
-        Map<String, Collection<String>> actual = primaryReplicaDataSourceRule.getDataSourceMapper();
-        Map<String, Collection<String>> expected = ImmutableMap.of("test_pr", Arrays.asList("primary_ds", "replica_ds_0", "replica_ds_1"));
-        assertThat(actual, is(expected));
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationRuleTest.java b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationRuleTest.java
deleted file mode 100644
index 413e279..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationRuleTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.replication.primaryreplica.rule;
-
-import com.google.common.collect.ImmutableMap;
-import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.infra.rule.event.impl.DataSourceNameDisabledEvent;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.junit.Test;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Properties;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-public final class PrimaryReplicaReplicationRuleTest {
-    
-    @Test(expected = IllegalArgumentException.class)
-    public void assertNewWithEmptyDataSourceRule() {
-        new PrimaryReplicaReplicationRule(new PrimaryReplicaReplicationRuleConfiguration(Collections.emptyList(), Collections.emptyMap()));
-    }
-    
-    @Test
-    public void assertFindDataSourceRule() {
-        Optional<PrimaryReplicaReplicationDataSourceRule> actual = createPrimaryReplicaReplicationRule().findDataSourceRule("test_pr");
-        assertTrue(actual.isPresent());
-        assertDataSourceRule(actual.get());
-    }
-    
-    @Test
-    public void assertGetSingleDataSourceRule() {
-        assertDataSourceRule(createPrimaryReplicaReplicationRule().getSingleDataSourceRule());
-    }
-    
-    private PrimaryReplicaReplicationRule createPrimaryReplicaReplicationRule() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration config = 
-                new PrimaryReplicaReplicationDataSourceRuleConfiguration("test_pr", "primary_ds", Arrays.asList("replica_ds_0", "replica_ds_1"), "random");
-        return new PrimaryReplicaReplicationRule(new PrimaryReplicaReplicationRuleConfiguration(
-                Collections.singleton(config), ImmutableMap.of("random", new ShardingSphereAlgorithmConfiguration("RANDOM", new Properties()))));
-    }
-    
-    private void assertDataSourceRule(final PrimaryReplicaReplicationDataSourceRule actual) {
-        assertThat(actual.getName(), is("test_pr"));
-        assertThat(actual.getPrimaryDataSourceName(), is("primary_ds"));
-        assertThat(actual.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-        assertThat(actual.getLoadBalancer().getType(), is("RANDOM"));
-    }
-    
-    @Test
-    public void assertUpdateRuleStatusWithNotExistDataSource() {
-        PrimaryReplicaReplicationRule primaryReplicaReplicationRule = createPrimaryReplicaReplicationRule();
-        primaryReplicaReplicationRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_db", true));
-        assertThat(primaryReplicaReplicationRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-    }
-    
-    @Test
-    public void assertUpdateRuleStatus() {
-        PrimaryReplicaReplicationRule primaryReplicaReplicationRule = createPrimaryReplicaReplicationRule();
-        primaryReplicaReplicationRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_ds_0", true));
-        assertThat(primaryReplicaReplicationRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
-    }
-    
-    @Test
-    public void assertUpdateRuleStatusWithEnable() {
-        PrimaryReplicaReplicationRule primaryReplicaReplicationRule = createPrimaryReplicaReplicationRule();
-        primaryReplicaReplicationRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_ds_0", true));
-        assertThat(primaryReplicaReplicationRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
-        primaryReplicaReplicationRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_ds_0", false));
-        assertThat(primaryReplicaReplicationRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-    }
-    
-    @Test
-    public void assertGetDataSourceMapper() {
-        PrimaryReplicaReplicationRule primaryReplicaReplicationRule = createPrimaryReplicaReplicationRule();
-        Map<String, Collection<String>> actual = primaryReplicaReplicationRule.getDataSourceMapper();
-        Map<String, Collection<String>> expected = ImmutableMap.of("test_pr", Arrays.asList("primary_ds", "replica_ds_0", "replica_ds_1"));
-        assertThat(actual, is(expected));
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleConfigurationYamlSwapperTest.java b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplica [...]
deleted file mode 100644
index d315f78..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleConfigurationYamlSwapperTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.replication.primaryreplica.yaml.swapper;
-
-import com.google.common.collect.ImmutableMap;
-import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
-import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.rule.YamlPrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.junit.Test;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-import java.util.Properties;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-public final class PrimaryReplicaReplicationRuleConfigurationYamlSwapperTest {
-    
-    private final Collection<YamlRuleConfigurationSwapper> collection = ShardingSphereServiceLoader.newServiceInstances(YamlRuleConfigurationSwapper.class);
-    
-    static {
-        ShardingSphereServiceLoader.register(YamlRuleConfigurationSwapper.class);
-    }
-    
-    @Test
-    public void assertSwapToYamlWithLoadBalanceAlgorithm() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfig = 
-                new PrimaryReplicaReplicationDataSourceRuleConfiguration("ds", "primary", Collections.singletonList("replica"), "roundRobin");
-        YamlPrimaryReplicaReplicationRuleConfiguration actual = getPrimaryReplicaReplicationRuleConfigurationYamlSwapper().swapToYamlConfiguration(new PrimaryReplicaReplicationRuleConfiguration(
-                Collections.singleton(dataSourceConfig), ImmutableMap.of("roundRobin", new ShardingSphereAlgorithmConfiguration("ROUND_ROBIN", new Properties()))));
-        assertThat(actual.getDataSources().get("ds").getName(), is("ds"));
-        assertThat(actual.getDataSources().get("ds").getPrimaryDataSourceName(), is("primary"));
-        assertThat(actual.getDataSources().get("ds").getReplicaDataSourceNames(), is(Collections.singletonList("replica")));
-        assertThat(actual.getDataSources().get("ds").getLoadBalancerName(), is("roundRobin"));
-    }
-    
-    @Test
-    public void assertSwapToYamlWithoutLoadBalanceAlgorithm() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfig = new PrimaryReplicaReplicationDataSourceRuleConfiguration("ds", "primary", Collections.singletonList("replica"), null);
-        YamlPrimaryReplicaReplicationRuleConfiguration actual = getPrimaryReplicaReplicationRuleConfigurationYamlSwapper().swapToYamlConfiguration(
-                new PrimaryReplicaReplicationRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap()));
-        assertThat(actual.getDataSources().get("ds").getName(), is("ds"));
-        assertThat(actual.getDataSources().get("ds").getPrimaryDataSourceName(), is("primary"));
-        assertThat(actual.getDataSources().get("ds").getReplicaDataSourceNames(), is(Collections.singletonList("replica")));
-        assertNull(actual.getDataSources().get("ds").getLoadBalancerName());
-    }
-    
-    @Test
-    public void assertSwapToObjectWithLoadBalanceAlgorithmType() {
-        YamlPrimaryReplicaReplicationRuleConfiguration yamlConfig = createYamlPrimaryReplicaReplicationRuleConfiguration();
-        yamlConfig.getDataSources().get("primary_replica_ds").setLoadBalancerName("RANDOM");
-        PrimaryReplicaReplicationRuleConfiguration actual = getPrimaryReplicaReplicationRuleConfigurationYamlSwapper().swapToObject(yamlConfig);
-        assertPrimaryReplicaReplicationRuleConfiguration(actual);
-        assertThat(actual.getDataSources().iterator().next().getLoadBalancerName(), is("RANDOM"));
-    }
-    
-    @Test
-    public void assertSwapToObjectWithoutLoadBalanceAlgorithm() {
-        YamlPrimaryReplicaReplicationRuleConfiguration yamlConfig = createYamlPrimaryReplicaReplicationRuleConfiguration();
-        PrimaryReplicaReplicationRuleConfiguration actual = getPrimaryReplicaReplicationRuleConfigurationYamlSwapper().swapToObject(yamlConfig);
-        assertPrimaryReplicaReplicationRuleConfiguration(actual);
-        assertNull(actual.getDataSources().iterator().next().getLoadBalancerName());
-    }
-    
-    private YamlPrimaryReplicaReplicationRuleConfiguration createYamlPrimaryReplicaReplicationRuleConfiguration() {
-        YamlPrimaryReplicaReplicationRuleConfiguration result = new YamlPrimaryReplicaReplicationRuleConfiguration();
-        result.getDataSources().put("primary_replica_ds", new YamlPrimaryReplicaReplicationDataSourceRuleConfiguration());
-        result.getDataSources().get("primary_replica_ds").setName("primary_replica_ds");
-        result.getDataSources().get("primary_replica_ds").setPrimaryDataSourceName("primary_ds");
-        result.getDataSources().get("primary_replica_ds").setReplicaDataSourceNames(Arrays.asList("replica_ds_0", "replica_ds_1"));
-        return result;
-    }
-    
-    private void assertPrimaryReplicaReplicationRuleConfiguration(final PrimaryReplicaReplicationRuleConfiguration actual) {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration group = actual.getDataSources().iterator().next();
-        assertThat(group.getName(), is("primary_replica_ds"));
-        assertThat(group.getPrimaryDataSourceName(), is("primary_ds"));
-        assertThat(group.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
-    }
-    
-    @Test
-    public void assertGetTypeClass() {
-        PrimaryReplicaReplicationRuleConfigurationYamlSwapper swapper = getPrimaryReplicaReplicationRuleConfigurationYamlSwapper();
-        Class<PrimaryReplicaReplicationRuleConfiguration> actual = swapper.getTypeClass();
-        assertTrue(actual.isAssignableFrom(PrimaryReplicaReplicationRuleConfiguration.class));
-    }
-    
-    @Test
-    public void assertGetOrder() {
-        PrimaryReplicaReplicationRuleConfigurationYamlSwapper swapper = getPrimaryReplicaReplicationRuleConfigurationYamlSwapper();
-        int actual = swapper.getOrder();
-        assertThat(actual, is(PrimaryReplicaReplicationOrder.ORDER));
-    }
-    
-    private PrimaryReplicaReplicationRuleConfigurationYamlSwapper getPrimaryReplicaReplicationRuleConfigurationYamlSwapper() {
-        Optional<PrimaryReplicaReplicationRuleConfigurationYamlSwapper> optional = collection.stream()
-                .filter(swapper -> swapper instanceof PrimaryReplicaReplicationRuleConfigurationYamlSwapper)
-                .map(swapper -> (PrimaryReplicaReplicationRuleConfigurationYamlSwapper) swapper)
-                .findFirst();
-        assertTrue(optional.isPresent());
-        return optional.get();
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/PrimaryReplicaReplicationRuleSpringbootConfiguration.java b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-s [...]
deleted file mode 100644
index 90d04d7..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/PrimaryReplicaReplicationRuleSpringbootConfiguration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.replication.primaryreplica.spring.boot;
-
-import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.spring.boot.algorithm.PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry;
-import org.apache.shardingsphere.replication.primaryreplica.spring.boot.condition.PrimaryReplicaReplicationSpringBootCondition;
-import org.apache.shardingsphere.replication.primaryreplica.spring.boot.rule.YamlPrimaryReplicaReplicationRuleSpringBootConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.swapper.PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper;
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Conditional;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Optional;
-
-/**
- * Rule spring boot configuration for primary-replica replication.
- */
-@Configuration
-@EnableConfigurationProperties(YamlPrimaryReplicaReplicationRuleSpringBootConfiguration.class)
-@ConditionalOnClass(YamlPrimaryReplicaReplicationRuleConfiguration.class)
-@Conditional(PrimaryReplicaReplicationSpringBootCondition.class)
-@RequiredArgsConstructor
-public class PrimaryReplicaReplicationRuleSpringbootConfiguration {
-    
-    private final PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper swapper = new PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper();
-    
-    private final YamlPrimaryReplicaReplicationRuleSpringBootConfiguration yamlConfig;
-    
-    /**
-     * Primary-replica replication rule configuration for spring boot.
-     *
-     * @param loadBalanceAlgorithms load balance algorithms
-     * @return Primary-replica replication rule configuration
-     */
-    @Bean
-    public RuleConfiguration primaryReplicaReplicationRuleConfiguration(final ObjectProvider<Map<String, ReplicaLoadBalanceAlgorithm>> loadBalanceAlgorithms) {
-        AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration result = swapper.swapToObject(yamlConfig.getPrimaryReplicaReplication());
-        Map<String, ReplicaLoadBalanceAlgorithm> balanceAlgorithmMap = Optional.ofNullable(loadBalanceAlgorithms.getIfAvailable()).orElse(Collections.emptyMap());
-        result.setLoadBalanceAlgorithms(balanceAlgorithmMap);
-        return result;
-    }
-    
-    /**
-     * Primary-replica replication algorithm provided bean registry.
-     *
-     * @param environment environment
-     * @return Primary-replica replication algorithm provided bean registry
-     */
-    @Bean
-    public static PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry primaryReplicaReplicationAlgorithmProvidedBeanRegistry(final Environment environment) {
-        return new PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry(environment);
-    }
-}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/resources/application-primary-replica-replication.properties b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/resources/application-primary-replica-r [...]
deleted file mode 100644
index a308644..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/resources/application-primary-replica-replication.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.random.type=RANDOM
-
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.load-balancer-name=random
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/spring.handlers b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/spring.handlers
deleted file mode 100644
index b81c5e1..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/spring.handlers
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-http\://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication=org.apache.shardingsphere.replication.primaryreplica.spring.namespace.handler.PrimaryReplicaReplicationNamespaceHandler
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/spring.schemas b/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/spring.schemas
deleted file mode 100644
index 76e8aa2..0000000
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/spring.schemas
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-http\://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd=META-INF/namespace/primary-replica-replication.xsd
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/pom.xml b/shardingsphere-features/shardingsphere-replica-query/pom.xml
similarity index 79%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/pom.xml
rename to shardingsphere-features/shardingsphere-replica-query/pom.xml
index faf0eda..6fb3f4a 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/pom.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/pom.xml
@@ -25,14 +25,14 @@
         <artifactId>shardingsphere-features</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-primary-replica-replication</artifactId>
+    <artifactId>shardingsphere-replica-query</artifactId>
     <name>${project.artifactId}</name>
     <packaging>pom</packaging>
     
     <modules>
-        <module>shardingsphere-primary-replica-replication-api</module>
-        <module>shardingsphere-primary-replica-replication-common</module>
-        <module>shardingsphere-primary-replica-replication-route</module>
-        <module>shardingsphere-primary-replica-replication-spring</module>
+        <module>shardingsphere-replica-query-api</module>
+        <module>shardingsphere-replica-query-common</module>
+        <module>shardingsphere-replica-query-route</module>
+        <module>shardingsphere-replica-query-spring</module>
     </modules>
 </project>
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/pom.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/pom.xml
similarity index 91%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/pom.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/pom.xml
index 10e5918..8011e52 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/pom.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/pom.xml
@@ -22,10 +22,10 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-primary-replica-replication</artifactId>
+        <artifactId>shardingsphere-replica-query</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-primary-replica-replication-api</artifactId>
+    <artifactId>shardingsphere-replica-query-api</artifactId>
     <name>${project.artifactId}</name>
     
     <dependencies>
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/api/config/PrimaryReplicaReplicationRuleConfiguration.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/api/config/ReplicaQueryRuleConfiguration.java
similarity index 73%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/api/config/PrimaryReplicaReplicationRuleConfiguration.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/api/config/ReplicaQueryRuleConfiguration.java
index 61fa5e4..ebc3828 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/api/config/PrimaryReplicaReplicationRuleConfiguration.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/api/config/ReplicaQueryRuleConfiguration.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.api.config;
+package org.apache.shardingsphere.replicaquery.api.config;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 
 import java.util.Collection;
 import java.util.Map;
 
 /**
- * Primary-replica replication rule configuration.
+ * Replica query rule configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class PrimaryReplicaReplicationRuleConfiguration implements RuleConfiguration {
+public final class ReplicaQueryRuleConfiguration implements RuleConfiguration {
     
-    private final Collection<PrimaryReplicaReplicationDataSourceRuleConfiguration> dataSources;
+    private final Collection<ReplicaQueryDataSourceRuleConfiguration> dataSources;
     
     private final Map<String, ShardingSphereAlgorithmConfiguration> loadBalancers;
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/api/config/rule/PrimaryReplicaReplicationDataSourceRuleConfiguration.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/api/config/rule/ReplicaQueryDataSourceRuleConfiguration.java
similarity index 84%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/api/config/rule/PrimaryReplicaReplicationDataSourceRuleConfiguration.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/api/config/rule/ReplicaQueryDataSourceRuleConfiguration.java
index a36cf99..5aee3ff 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/api/config/rule/PrimaryReplicaReplicationDataSourceRuleConfiguration.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/api/config/rule/ReplicaQueryDataSourceRuleConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.api.config.rule;
+package org.apache.shardingsphere.replicaquery.api.config.rule;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import lombok.RequiredArgsConstructor;
 import java.util.List;
 
 /**
- * Primary-replica replication data source rule configuration.
+ * Replica query data source rule configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class PrimaryReplicaReplicationDataSourceRuleConfiguration {
+public final class ReplicaQueryDataSourceRuleConfiguration {
     
     private final String name;
     
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spi/ReplicaLoadBalanceAlgorithm.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/spi/ReplicaLoadBalanceAlgorithm.java
similarity index 90%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spi/ReplicaLoadBalanceAlgorithm.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/spi/ReplicaLoadBalanceAlgorithm.java
index 0345cd0..2dc75ee 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-api/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spi/ReplicaLoadBalanceAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-api/src/main/java/org/apache/shardingsphere/replicaquery/spi/ReplicaLoadBalanceAlgorithm.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spi;
+package org.apache.shardingsphere.replicaquery.spi;
 
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithm;
 
@@ -29,7 +29,7 @@ public interface ReplicaLoadBalanceAlgorithm extends ShardingSphereAlgorithm {
     /**
      * Get data source.
      * 
-     * @param name primary-replica replication logic data source name
+     * @param name replica query logic data source name
      * @param primaryDataSourceName name of primary data sources
      * @param replicaDataSourceNames names of replica data sources
      * @return name of selected data source
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/pom.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/pom.xml
similarity index 88%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/pom.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/pom.xml
index 58268c1..4827773 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/pom.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/pom.xml
@@ -22,16 +22,16 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-primary-replica-replication</artifactId>
+        <artifactId>shardingsphere-replica-query</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-primary-replica-replication-common</artifactId>
+    <artifactId>shardingsphere-replica-query-common</artifactId>
     <name>${project.artifactId}</name>
     
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-api</artifactId>
+            <artifactId>shardingsphere-replica-query-api</artifactId>
             <version>${project.version}</version>
         </dependency>
         
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RandomReplicaLoadBalanceAlgorithm.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/RandomReplicaLoadBalanceAlgorithm.java
similarity index 90%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RandomReplicaLoadBalanceAlgorithm.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/RandomReplicaLoadBalanceAlgorithm.java
index b7126a7..a72d6c2 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RandomReplicaLoadBalanceAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/RandomReplicaLoadBalanceAlgorithm.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.algorithm;
+package org.apache.shardingsphere.replicaquery.algorithm;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 
 import java.util.List;
 import java.util.Properties;
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RoundRobinReplicaLoadBalanceAlgorithm.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/RoundRobinReplicaLoadBalanceAlgorithm.java
similarity index 91%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RoundRobinReplicaLoadBalanceAlgorithm.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/RoundRobinReplicaLoadBalanceAlgorithm.java
index eb26fef..10f004d 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RoundRobinReplicaLoadBalanceAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/RoundRobinReplicaLoadBalanceAlgorithm.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.algorithm;
+package org.apache.shardingsphere.replicaquery.algorithm;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 
 import java.util.List;
 import java.util.Properties;
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/config/AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/config/AlgorithmProvidedReplicaQueryRuleConfiguration.java
similarity index 68%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/config/AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/config/AlgorithmProvidedReplicaQueryRuleConfiguration.java
index 0a4305b..f9a6ac8 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/config/AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/algorithm/config/AlgorithmProvidedReplicaQueryRuleConfiguration.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.algorithm.config;
+package org.apache.shardingsphere.replicaquery.algorithm.config;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 
 import java.util.Collection;
 import java.util.LinkedHashMap;
@@ -31,15 +31,15 @@ import java.util.LinkedList;
 import java.util.Map;
 
 /**
- * Algorithm provided Primary-replica replication rule configuration.
+ * Algorithm provided replica query rule configuration.
  */
 @NoArgsConstructor
 @AllArgsConstructor
 @Getter
 @Setter
-public final class AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration implements RuleConfiguration {
+public final class AlgorithmProvidedReplicaQueryRuleConfiguration implements RuleConfiguration {
     
-    private Collection<PrimaryReplicaReplicationDataSourceRuleConfiguration> dataSources = new LinkedList<>();
+    private Collection<ReplicaQueryDataSourceRuleConfiguration> dataSources = new LinkedList<>();
     
     private Map<String, ReplicaLoadBalanceAlgorithm> loadBalanceAlgorithms = new LinkedHashMap<>();
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/constant/PrimaryReplicaReplicationOrder.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/constant/ReplicaQueryOrder.java
similarity index 80%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/constant/PrimaryReplicaReplicationOrder.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/constant/ReplicaQueryOrder.java
index 7f600d5..9535160 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/constant/PrimaryReplicaReplicationOrder.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/constant/ReplicaQueryOrder.java
@@ -15,24 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.constant;
+package org.apache.shardingsphere.replicaquery.constant;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 
 /**
- * Primary-replica replication order.
+ * Replica query order.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class PrimaryReplicaReplicationOrder {
+public final class ReplicaQueryOrder {
     
     /**
-     * Primary-replica replication order.
+     * Replica query order.
      */
     public static final int ORDER = 10;
     
     /**
-     * Algorithm provider Primary-replica replication order.
+     * Algorithm provider replica query order.
      */
     public static final int ALGORITHM_PROVIDER_ORDER = 11;
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/metadata/PrimaryReplicaReplicationTableAddressingMetaDataDecorator.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/metadata/ReplicaQueryTableAddressingMetaDataDecorator.java
similarity index 62%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/metadata/PrimaryReplicaReplicationTableAddressingMetaDataDecorator.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/metadata/ReplicaQueryTableAddressingMetaDataDecorator.java
index 5dc1ca3..1b40d30 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/metadata/PrimaryReplicaReplicationTableAddressingMetaDataDecorator.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/metadata/ReplicaQueryTableAddressingMetaDataDecorator.java
@@ -15,30 +15,30 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.metadata;
+package org.apache.shardingsphere.replicaquery.metadata;
 
 import org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaData;
 import org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaDataDecorator;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationDataSourceRule;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryDataSourceRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 
 import java.util.Collection;
 import java.util.Map.Entry;
 
 /**
- * Table addressing meta data decorator of primary replica replication.
+ * Table addressing meta data decorator of replica query.
  */
-public final class PrimaryReplicaReplicationTableAddressingMetaDataDecorator implements TableAddressingMetaDataDecorator<PrimaryReplicaReplicationRule> {
+public final class ReplicaQueryTableAddressingMetaDataDecorator implements TableAddressingMetaDataDecorator<ReplicaQueryRule> {
     
     @Override
-    public void decorate(final PrimaryReplicaReplicationRule rule, final TableAddressingMetaData metaData) {
+    public void decorate(final ReplicaQueryRule rule, final TableAddressingMetaData metaData) {
         for (String each : rule.getAllLogicDataSourceNames()) {
             rule.findDataSourceRule(each).ifPresent(dataSourceRule -> decorate(dataSourceRule, metaData));
         }
     }
     
-    private void decorate(final PrimaryReplicaReplicationDataSourceRule dataSourceRule, final TableAddressingMetaData metaData) {
+    private void decorate(final ReplicaQueryDataSourceRule dataSourceRule, final TableAddressingMetaData metaData) {
         for (Entry<String, Collection<String>> entry : metaData.getTableDataSourceNamesMapper().entrySet()) {
             entry.getValue().remove(dataSourceRule.getPrimaryDataSourceName());
             entry.getValue().removeAll(dataSourceRule.getReplicaDataSourceNames());
@@ -48,11 +48,11 @@ public final class PrimaryReplicaReplicationTableAddressingMetaDataDecorator imp
     
     @Override
     public int getOrder() {
-        return PrimaryReplicaReplicationOrder.ORDER;
+        return ReplicaQueryOrder.ORDER;
     }
     
     @Override
-    public Class<PrimaryReplicaReplicationRule> getTypeClass() {
-        return PrimaryReplicaReplicationRule.class;
+    public Class<ReplicaQueryRule> getTypeClass() {
+        return ReplicaQueryRule.class;
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationDataSourceRule.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryDataSourceRule.java
similarity index 83%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationDataSourceRule.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryDataSourceRule.java
index 5e89e8a..7e1375b 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationDataSourceRule.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryDataSourceRule.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.rule;
+package org.apache.shardingsphere.replicaquery.rule;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
 import lombok.Getter;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -33,10 +33,10 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
- * Primary-replica replication data source rule.
+ * Replica query data source rule.
  */
 @Getter
-public final class PrimaryReplicaReplicationDataSourceRule {
+public final class ReplicaQueryDataSourceRule {
     
     private final String name;
     
@@ -49,7 +49,7 @@ public final class PrimaryReplicaReplicationDataSourceRule {
     @Getter(AccessLevel.NONE)
     private final Collection<String> disabledDataSourceNames = new HashSet<>();
     
-    public PrimaryReplicaReplicationDataSourceRule(final PrimaryReplicaReplicationDataSourceRuleConfiguration config, final ReplicaLoadBalanceAlgorithm loadBalancer) {
+    public ReplicaQueryDataSourceRule(final ReplicaQueryDataSourceRuleConfiguration config, final ReplicaLoadBalanceAlgorithm loadBalancer) {
         checkConfiguration(config);
         name = config.getName();
         primaryDataSourceName = config.getPrimaryDataSourceName();
@@ -57,7 +57,7 @@ public final class PrimaryReplicaReplicationDataSourceRule {
         this.loadBalancer = loadBalancer;
     }
     
-    private void checkConfiguration(final PrimaryReplicaReplicationDataSourceRuleConfiguration config) {
+    private void checkConfiguration(final ReplicaQueryDataSourceRuleConfiguration config) {
         Preconditions.checkArgument(!Strings.isNullOrEmpty(config.getName()), "Name is required.");
         Preconditions.checkArgument(!Strings.isNullOrEmpty(config.getPrimaryDataSourceName()), "Primary data source name is required.");
         Preconditions.checkArgument(null != config.getReplicaDataSourceNames() && !config.getReplicaDataSourceNames().isEmpty(), "Replica data source names are required.");
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationRule.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryRule.java
similarity index 66%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationRule.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryRule.java
index e0dd215..3a05e0a 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/PrimaryReplicaReplicationRule.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryRule.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.rule;
+package org.apache.shardingsphere.replicaquery.rule;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
@@ -26,10 +26,10 @@ import org.apache.shardingsphere.infra.rule.event.RuleChangedEvent;
 import org.apache.shardingsphere.infra.rule.event.impl.DataSourceNameDisabledEvent;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.typed.TypedSPIRegistry;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -39,9 +39,9 @@ import java.util.Map.Entry;
 import java.util.Optional;
 
 /**
- * Primary-replica replication rule.
+ * Replica query rule.
  */
-public final class PrimaryReplicaReplicationRule implements DataSourceRoutedRule, StatusContainedRule {
+public final class ReplicaQueryRule implements DataSourceRoutedRule, StatusContainedRule {
     
     static {
         ShardingSphereServiceLoader.register(ReplicaLoadBalanceAlgorithm.class);
@@ -49,29 +49,29 @@ public final class PrimaryReplicaReplicationRule implements DataSourceRoutedRule
     
     private final Map<String, ReplicaLoadBalanceAlgorithm> loadBalancers = new LinkedHashMap<>();
     
-    private final Map<String, PrimaryReplicaReplicationDataSourceRule> dataSourceRules;
+    private final Map<String, ReplicaQueryDataSourceRule> dataSourceRules;
     
-    public PrimaryReplicaReplicationRule(final PrimaryReplicaReplicationRuleConfiguration config) {
-        Preconditions.checkArgument(!config.getDataSources().isEmpty(), "Primary-replica replication data source rules can not be empty.");
+    public ReplicaQueryRule(final ReplicaQueryRuleConfiguration config) {
+        Preconditions.checkArgument(!config.getDataSources().isEmpty(), "Replica query data source rules can not be empty.");
         config.getLoadBalancers().forEach((key, value) -> loadBalancers.put(key, ShardingSphereAlgorithmFactory.createAlgorithm(value, ReplicaLoadBalanceAlgorithm.class)));
         dataSourceRules = new HashMap<>(config.getDataSources().size(), 1);
-        for (PrimaryReplicaReplicationDataSourceRuleConfiguration each : config.getDataSources()) {
+        for (ReplicaQueryDataSourceRuleConfiguration each : config.getDataSources()) {
             // TODO check if can not find load balancer should throw exception.
             ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = Strings.isNullOrEmpty(each.getLoadBalancerName()) || !loadBalancers.containsKey(each.getLoadBalancerName())
                     ? TypedSPIRegistry.getRegisteredService(ReplicaLoadBalanceAlgorithm.class) : loadBalancers.get(each.getLoadBalancerName());
-            dataSourceRules.put(each.getName(), new PrimaryReplicaReplicationDataSourceRule(each, loadBalanceAlgorithm));
+            dataSourceRules.put(each.getName(), new ReplicaQueryDataSourceRule(each, loadBalanceAlgorithm));
         }
     }
     
-    public PrimaryReplicaReplicationRule(final AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration config) {
-        Preconditions.checkArgument(!config.getDataSources().isEmpty(), "Primary-replica replication data source rules can not be empty.");
+    public ReplicaQueryRule(final AlgorithmProvidedReplicaQueryRuleConfiguration config) {
+        Preconditions.checkArgument(!config.getDataSources().isEmpty(), "Replica query data source rules can not be empty.");
         loadBalancers.putAll(config.getLoadBalanceAlgorithms());
         dataSourceRules = new HashMap<>(config.getDataSources().size(), 1);
-        for (PrimaryReplicaReplicationDataSourceRuleConfiguration each : config.getDataSources()) {
+        for (ReplicaQueryDataSourceRuleConfiguration each : config.getDataSources()) {
             // TODO check if can not find load balancer should throw exception.
             ReplicaLoadBalanceAlgorithm loadBalanceAlgorithm = Strings.isNullOrEmpty(each.getLoadBalancerName()) || !loadBalancers.containsKey(each.getLoadBalancerName())
                     ? TypedSPIRegistry.getRegisteredService(ReplicaLoadBalanceAlgorithm.class) : loadBalancers.get(each.getLoadBalancerName());
-            dataSourceRules.put(each.getName(), new PrimaryReplicaReplicationDataSourceRule(each, loadBalanceAlgorithm));
+            dataSourceRules.put(each.getName(), new ReplicaQueryDataSourceRule(each, loadBalanceAlgorithm));
         }
     }
     
@@ -87,9 +87,9 @@ public final class PrimaryReplicaReplicationRule implements DataSourceRoutedRule
     /**
      * Get single data source rule.
      *
-     * @return primary-replica replication data source rule
+     * @return replica query data source rule
      */
-    public PrimaryReplicaReplicationDataSourceRule getSingleDataSourceRule() {
+    public ReplicaQueryDataSourceRule getSingleDataSourceRule() {
         return dataSourceRules.values().iterator().next();
     }
     
@@ -97,16 +97,16 @@ public final class PrimaryReplicaReplicationRule implements DataSourceRoutedRule
      * Find data source rule.
      * 
      * @param dataSourceName data source name
-     * @return primary-replica replication data source rule
+     * @return replica query data source rule
      */
-    public Optional<PrimaryReplicaReplicationDataSourceRule> findDataSourceRule(final String dataSourceName) {
+    public Optional<ReplicaQueryDataSourceRule> findDataSourceRule(final String dataSourceName) {
         return Optional.ofNullable(dataSourceRules.get(dataSourceName));
     }
     
     @Override
     public Map<String, Collection<String>> getDataSourceMapper() {
         Map<String, Collection<String>> result = new HashMap<>();
-        for (Entry<String, PrimaryReplicaReplicationDataSourceRule> entry : dataSourceRules.entrySet()) {
+        for (Entry<String, ReplicaQueryDataSourceRule> entry : dataSourceRules.entrySet()) {
             result.putAll(entry.getValue().getDataSourceMapper());
         }
         return result;
@@ -115,7 +115,7 @@ public final class PrimaryReplicaReplicationRule implements DataSourceRoutedRule
     @Override
     public void updateRuleStatus(final RuleChangedEvent event) {
         if (event instanceof DataSourceNameDisabledEvent) {
-            for (Entry<String, PrimaryReplicaReplicationDataSourceRule> entry : dataSourceRules.entrySet()) {
+            for (Entry<String, ReplicaQueryDataSourceRule> entry : dataSourceRules.entrySet()) {
                 entry.getValue().updateDisabledDataSourceNames(((DataSourceNameDisabledEvent) event).getDataSourceName(), ((DataSourceNameDisabledEvent) event).isDisabled());
             }
         }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilder.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/biulder/AlgorithmProvidedReplicaQueryRuleBuilder.java
similarity index 50%
copy from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilder.java
copy to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/biulder/AlgorithmProvidedReplicaQueryRuleBuilder.java
index 8c31150..18ffed2 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilder.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/biulder/AlgorithmProvidedReplicaQueryRuleBuilder.java
@@ -15,32 +15,32 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.rule.biulder;
+package org.apache.shardingsphere.replicaquery.rule.biulder;
 
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 
 import java.util.Collection;
 
 /**
- * Primary-replica replication rule builder.
+ * Algorithm provided replica query rule builder.
  */
-public final class PrimaryReplicaReplicationRuleBuilder implements ShardingSphereRuleBuilder<PrimaryReplicaReplicationRule, PrimaryReplicaReplicationRuleConfiguration> {
+public final class AlgorithmProvidedReplicaQueryRuleBuilder implements ShardingSphereRuleBuilder<ReplicaQueryRule, AlgorithmProvidedReplicaQueryRuleConfiguration> {
     
     @Override
-    public PrimaryReplicaReplicationRule build(final PrimaryReplicaReplicationRuleConfiguration ruleConfig, final Collection<String> dataSourceNames) {
-        return new PrimaryReplicaReplicationRule(ruleConfig);
+    public ReplicaQueryRule build(final AlgorithmProvidedReplicaQueryRuleConfiguration ruleConfig, final Collection<String> dataSourceNames) {
+        return new ReplicaQueryRule(ruleConfig);
     }
     
     @Override
     public int getOrder() {
-        return PrimaryReplicaReplicationOrder.ORDER;
+        return ReplicaQueryOrder.ORDER + 1;
     }
     
     @Override
-    public Class<PrimaryReplicaReplicationRuleConfiguration> getTypeClass() {
-        return PrimaryReplicaReplicationRuleConfiguration.class;
+    public Class<AlgorithmProvidedReplicaQueryRuleConfiguration> getTypeClass() {
+        return AlgorithmProvidedReplicaQueryRuleConfiguration.class;
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilder.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/biulder/ReplicaQueryRuleBuilder.java
similarity index 50%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilder.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/biulder/ReplicaQueryRuleBuilder.java
index 8c31150..92b6851 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilder.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/rule/biulder/ReplicaQueryRuleBuilder.java
@@ -15,32 +15,32 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.rule.biulder;
+package org.apache.shardingsphere.replicaquery.rule.biulder;
 
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 
 import java.util.Collection;
 
 /**
- * Primary-replica replication rule builder.
+ * Replica query rule builder.
  */
-public final class PrimaryReplicaReplicationRuleBuilder implements ShardingSphereRuleBuilder<PrimaryReplicaReplicationRule, PrimaryReplicaReplicationRuleConfiguration> {
+public final class ReplicaQueryRuleBuilder implements ShardingSphereRuleBuilder<ReplicaQueryRule, ReplicaQueryRuleConfiguration> {
     
     @Override
-    public PrimaryReplicaReplicationRule build(final PrimaryReplicaReplicationRuleConfiguration ruleConfig, final Collection<String> dataSourceNames) {
-        return new PrimaryReplicaReplicationRule(ruleConfig);
+    public ReplicaQueryRule build(final ReplicaQueryRuleConfiguration ruleConfig, final Collection<String> dataSourceNames) {
+        return new ReplicaQueryRule(ruleConfig);
     }
     
     @Override
     public int getOrder() {
-        return PrimaryReplicaReplicationOrder.ORDER;
+        return ReplicaQueryOrder.ORDER;
     }
     
     @Override
-    public Class<PrimaryReplicaReplicationRuleConfiguration> getTypeClass() {
-        return PrimaryReplicaReplicationRuleConfiguration.class;
+    public Class<ReplicaQueryRuleConfiguration> getTypeClass() {
+        return ReplicaQueryRuleConfiguration.class;
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/config/YamlPrimaryReplicaReplicationRuleConfiguration.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/config/YamlReplicaQueryRuleConfiguration.java
similarity index 62%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/config/YamlPrimaryReplicaReplicationRuleConfiguration.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/config/YamlReplicaQueryRuleConfiguration.java
index 4e42c60..5d88d31 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/config/YamlPrimaryReplicaReplicationRuleConfiguration.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/config/YamlReplicaQueryRuleConfiguration.java
@@ -15,31 +15,31 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.yaml.config;
+package org.apache.shardingsphere.replicaquery.yaml.config;
 
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.shardingsphere.infra.yaml.config.YamlRuleConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.algorithm.YamlShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.rule.YamlPrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.rule.YamlReplicaQueryDataSourceRuleConfiguration;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
- * Primary-replica replication rule configuration for YAML.
+ * Replica query rule configuration for YAML.
  */
 @Getter
 @Setter
-public final class YamlPrimaryReplicaReplicationRuleConfiguration implements YamlRuleConfiguration {
+public final class YamlReplicaQueryRuleConfiguration implements YamlRuleConfiguration {
     
-    private Map<String, YamlPrimaryReplicaReplicationDataSourceRuleConfiguration> dataSources = new LinkedHashMap<>();
+    private Map<String, YamlReplicaQueryDataSourceRuleConfiguration> dataSources = new LinkedHashMap<>();
     
     private Map<String, YamlShardingSphereAlgorithmConfiguration> loadBalancers = new LinkedHashMap<>();
     
     @Override
-    public Class<PrimaryReplicaReplicationRuleConfiguration> getRuleConfigurationType() {
-        return PrimaryReplicaReplicationRuleConfiguration.class;
+    public Class<ReplicaQueryRuleConfiguration> getRuleConfigurationType() {
+        return ReplicaQueryRuleConfiguration.class;
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/config/rule/YamlPrimaryReplicaReplicationDataSourceRuleConfiguration.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/config/rule/YamlReplicaQueryDataSourceRuleConfiguration.java
similarity index 83%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/config/rule/YamlPrimaryReplicaReplicationDataSourceRuleConfiguration.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/config/rule/YamlReplicaQueryDataSourceRuleConfiguration.java
index 7c04eff..7654e15 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/config/rule/YamlPrimaryReplicaReplicationDataSourceRuleConfiguration.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/config/rule/YamlReplicaQueryDataSourceRuleConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.yaml.config.rule;
+package org.apache.shardingsphere.replicaquery.yaml.config.rule;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -26,11 +26,11 @@ import java.util.List;
 import java.util.Properties;
 
 /**
- * Primary-replica replication data source rule configuration for YAML.
+ * Replica query data source rule configuration for YAML.
  */
 @Getter
 @Setter
-public final class YamlPrimaryReplicaReplicationDataSourceRuleConfiguration implements YamlConfiguration {
+public final class YamlReplicaQueryDataSourceRuleConfiguration implements YamlConfiguration {
     
     private String name;
     
diff --git a/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper.java
new file mode 100644
index 0000000..05b5af3
--- /dev/null
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.replicaquery.yaml.swapper;
+
+import org.apache.shardingsphere.infra.yaml.config.algorithm.YamlShardingSphereAlgorithmConfiguration;
+import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.rule.YamlReplicaQueryDataSourceRuleConfiguration;
+
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.Map.Entry;
+import java.util.stream.Collectors;
+
+/**
+ * Replica query rule configuration YAML swapper.
+ */
+public final class ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper
+        implements YamlRuleConfigurationSwapper<YamlReplicaQueryRuleConfiguration, AlgorithmProvidedReplicaQueryRuleConfiguration> {
+    
+    @Override
+    public YamlReplicaQueryRuleConfiguration swapToYamlConfiguration(final AlgorithmProvidedReplicaQueryRuleConfiguration data) {
+        YamlReplicaQueryRuleConfiguration result = new YamlReplicaQueryRuleConfiguration();
+        result.setDataSources(data.getDataSources().stream().collect(
+                Collectors.toMap(ReplicaQueryDataSourceRuleConfiguration::getName, this::swapToYamlConfiguration, (oldValue, currentValue) -> oldValue, LinkedHashMap::new)));
+        if (null != data.getLoadBalanceAlgorithms()) {
+            data.getLoadBalanceAlgorithms().forEach((key, value) -> result.getLoadBalancers().put(key, YamlShardingSphereAlgorithmConfiguration.buildByTypedSPI(value)));
+        }
+        return result;
+    }
+    
+    private YamlReplicaQueryDataSourceRuleConfiguration swapToYamlConfiguration(final ReplicaQueryDataSourceRuleConfiguration dataSourceRuleConfig) {
+        YamlReplicaQueryDataSourceRuleConfiguration result = new YamlReplicaQueryDataSourceRuleConfiguration();
+        result.setName(dataSourceRuleConfig.getName());
+        result.setPrimaryDataSourceName(dataSourceRuleConfig.getPrimaryDataSourceName());
+        result.setReplicaDataSourceNames(dataSourceRuleConfig.getReplicaDataSourceNames());
+        result.setLoadBalancerName(dataSourceRuleConfig.getLoadBalancerName());
+        return result;
+    }
+    
+    @Override
+    public AlgorithmProvidedReplicaQueryRuleConfiguration swapToObject(final YamlReplicaQueryRuleConfiguration yamlConfig) {
+        Collection<ReplicaQueryDataSourceRuleConfiguration> dataSources = new LinkedList<>();
+        for (Entry<String, YamlReplicaQueryDataSourceRuleConfiguration> entry : yamlConfig.getDataSources().entrySet()) {
+            dataSources.add(swapToObject(entry.getKey(), entry.getValue()));
+        }
+        AlgorithmProvidedReplicaQueryRuleConfiguration ruleConfig = new AlgorithmProvidedReplicaQueryRuleConfiguration();
+        ruleConfig.setDataSources(dataSources);
+        return ruleConfig;
+    }
+    
+    private ReplicaQueryDataSourceRuleConfiguration swapToObject(final String name, final YamlReplicaQueryDataSourceRuleConfiguration yamlDataSourceRuleConfig) {
+        return new ReplicaQueryDataSourceRuleConfiguration(name, 
+                yamlDataSourceRuleConfig.getPrimaryDataSourceName(), yamlDataSourceRuleConfig.getReplicaDataSourceNames(), yamlDataSourceRuleConfig.getLoadBalancerName());
+    }
+    
+    @Override
+    public Class<AlgorithmProvidedReplicaQueryRuleConfiguration> getTypeClass() {
+        return AlgorithmProvidedReplicaQueryRuleConfiguration.class;
+    }
+    
+    @Override
+    public String getRuleTagName() {
+        return "REPLICA_QUERY";
+    }
+    
+    @Override
+    public int getOrder() {
+        return ReplicaQueryOrder.ALGORITHM_PROVIDER_ORDER;
+    }
+}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleConfigurationYamlSwapper.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleConfigurationYamlSwapper.java
similarity index 51%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleConfigurationYamlSwapper.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleConfigurationYamlSwapper.java
index 8c1160e..c76476e 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleConfigurationYamlSwapper.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleConfigurationYamlSwapper.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.yaml.swapper;
+package org.apache.shardingsphere.replicaquery.yaml.swapper;
 
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
 import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper;
 import org.apache.shardingsphere.infra.yaml.swapper.algorithm.ShardingSphereAlgorithmConfigurationYamlSwapper;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.rule.YamlPrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.rule.YamlReplicaQueryDataSourceRuleConfiguration;
 
 import java.util.Collection;
 import java.util.LinkedHashMap;
@@ -34,26 +34,26 @@ import java.util.Map.Entry;
 import java.util.stream.Collectors;
 
 /**
- * Primary-replica replication rule configuration YAML swapper.
+ * Replica query rule configuration YAML swapper.
  */
-public final class PrimaryReplicaReplicationRuleConfigurationYamlSwapper 
-        implements YamlRuleConfigurationSwapper<YamlPrimaryReplicaReplicationRuleConfiguration, PrimaryReplicaReplicationRuleConfiguration> {
+public final class ReplicaQueryRuleConfigurationYamlSwapper 
+        implements YamlRuleConfigurationSwapper<YamlReplicaQueryRuleConfiguration, ReplicaQueryRuleConfiguration> {
     
     private final ShardingSphereAlgorithmConfigurationYamlSwapper algorithmSwapper = new ShardingSphereAlgorithmConfigurationYamlSwapper();
     
     @Override
-    public YamlPrimaryReplicaReplicationRuleConfiguration swapToYamlConfiguration(final PrimaryReplicaReplicationRuleConfiguration data) {
-        YamlPrimaryReplicaReplicationRuleConfiguration result = new YamlPrimaryReplicaReplicationRuleConfiguration();
+    public YamlReplicaQueryRuleConfiguration swapToYamlConfiguration(final ReplicaQueryRuleConfiguration data) {
+        YamlReplicaQueryRuleConfiguration result = new YamlReplicaQueryRuleConfiguration();
         result.setDataSources(data.getDataSources().stream().collect(
-                Collectors.toMap(PrimaryReplicaReplicationDataSourceRuleConfiguration::getName, this::swapToYamlConfiguration, (oldValue, currentValue) -> oldValue, LinkedHashMap::new)));
+                Collectors.toMap(ReplicaQueryDataSourceRuleConfiguration::getName, this::swapToYamlConfiguration, (oldValue, currentValue) -> oldValue, LinkedHashMap::new)));
         if (null != data.getLoadBalancers()) {
             data.getLoadBalancers().forEach((key, value) -> result.getLoadBalancers().put(key, algorithmSwapper.swapToYamlConfiguration(value)));
         }
         return result;
     }
     
-    private YamlPrimaryReplicaReplicationDataSourceRuleConfiguration swapToYamlConfiguration(final PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceRuleConfig) {
-        YamlPrimaryReplicaReplicationDataSourceRuleConfiguration result = new YamlPrimaryReplicaReplicationDataSourceRuleConfiguration();
+    private YamlReplicaQueryDataSourceRuleConfiguration swapToYamlConfiguration(final ReplicaQueryDataSourceRuleConfiguration dataSourceRuleConfig) {
+        YamlReplicaQueryDataSourceRuleConfiguration result = new YamlReplicaQueryDataSourceRuleConfiguration();
         result.setName(dataSourceRuleConfig.getName());
         result.setPrimaryDataSourceName(dataSourceRuleConfig.getPrimaryDataSourceName());
         result.setReplicaDataSourceNames(dataSourceRuleConfig.getReplicaDataSourceNames());
@@ -62,35 +62,35 @@ public final class PrimaryReplicaReplicationRuleConfigurationYamlSwapper
     }
     
     @Override
-    public PrimaryReplicaReplicationRuleConfiguration swapToObject(final YamlPrimaryReplicaReplicationRuleConfiguration yamlConfig) {
-        Collection<PrimaryReplicaReplicationDataSourceRuleConfiguration> dataSources = new LinkedList<>();
-        for (Entry<String, YamlPrimaryReplicaReplicationDataSourceRuleConfiguration> entry : yamlConfig.getDataSources().entrySet()) {
+    public ReplicaQueryRuleConfiguration swapToObject(final YamlReplicaQueryRuleConfiguration yamlConfig) {
+        Collection<ReplicaQueryDataSourceRuleConfiguration> dataSources = new LinkedList<>();
+        for (Entry<String, YamlReplicaQueryDataSourceRuleConfiguration> entry : yamlConfig.getDataSources().entrySet()) {
             dataSources.add(swapToObject(entry.getKey(), entry.getValue()));
         }
         Map<String, ShardingSphereAlgorithmConfiguration> loadBalancers = new LinkedHashMap<>(yamlConfig.getLoadBalancers().entrySet().size(), 1);
         if (null != yamlConfig.getLoadBalancers()) {
             yamlConfig.getLoadBalancers().forEach((key, value) -> loadBalancers.put(key, algorithmSwapper.swapToObject(value)));
         }
-        return new PrimaryReplicaReplicationRuleConfiguration(dataSources, loadBalancers);
+        return new ReplicaQueryRuleConfiguration(dataSources, loadBalancers);
     }
     
-    private PrimaryReplicaReplicationDataSourceRuleConfiguration swapToObject(final String name, final YamlPrimaryReplicaReplicationDataSourceRuleConfiguration yamlDataSourceRuleConfig) {
-        return new PrimaryReplicaReplicationDataSourceRuleConfiguration(name, 
+    private ReplicaQueryDataSourceRuleConfiguration swapToObject(final String name, final YamlReplicaQueryDataSourceRuleConfiguration yamlDataSourceRuleConfig) {
+        return new ReplicaQueryDataSourceRuleConfiguration(name, 
                 yamlDataSourceRuleConfig.getPrimaryDataSourceName(), yamlDataSourceRuleConfig.getReplicaDataSourceNames(), yamlDataSourceRuleConfig.getLoadBalancerName());
     }
     
     @Override
-    public Class<PrimaryReplicaReplicationRuleConfiguration> getTypeClass() {
-        return PrimaryReplicaReplicationRuleConfiguration.class;
+    public Class<ReplicaQueryRuleConfiguration> getTypeClass() {
+        return ReplicaQueryRuleConfiguration.class;
     }
     
     @Override
     public String getRuleTagName() {
-        return "PRIMARY_REPLICA_REPLICATION";
+        return "REPLICA_QUERY";
     }
     
     @Override
     public int getOrder() {
-        return PrimaryReplicaReplicationOrder.ORDER;
+        return ReplicaQueryOrder.ORDER;
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaDataDecorator b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaDataDecorator
similarity index 86%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaDataDecorator
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaDataDecorator
index ad3e2cf..c5275a3 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaDataDecorator
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.metadata.model.addressing.TableAddressingMetaDataDecorator
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.replication.primaryreplica.metadata.PrimaryReplicaReplicationTableAddressingMetaDataDecorator
+org.apache.shardingsphere.replicaquery.metadata.ReplicaQueryTableAddressingMetaDataDecorator
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder
similarity index 82%
copy from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
copy to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder
index e5c2546..f9b5568 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder
@@ -15,4 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.replication.primaryreplica.route.engine.PrimaryReplicaReplicationSQLRouter
+org.apache.shardingsphere.replicaquery.rule.biulder.ReplicaQueryRuleBuilder
+org.apache.shardingsphere.replicaquery.rule.biulder.AlgorithmProvidedReplicaQueryRuleBuilder
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper
similarity index 79%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper
index b14631d..bb2b174 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/main/resources/META-INF/services/org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper
@@ -15,5 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.replication.primaryreplica.algorithm.RoundRobinReplicaLoadBalanceAlgorithm
-org.apache.shardingsphere.replication.primaryreplica.algorithm.RandomReplicaLoadBalanceAlgorithm
+org.apache.shardingsphere.replicaquery.yaml.swapper.ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper
+org.apache.shardingsphere.replicaquery.yaml.swapper.ReplicaQueryRuleConfigurationYamlSwapper
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm
similarity index 82%
copy from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
copy to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm
index e5c2546..f2bfbea 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/main/resources/META-INF/services/org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm
@@ -15,4 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.replication.primaryreplica.route.engine.PrimaryReplicaReplicationSQLRouter
+org.apache.shardingsphere.replicaquery.algorithm.RoundRobinReplicaLoadBalanceAlgorithm
+org.apache.shardingsphere.replicaquery.algorithm.RandomReplicaLoadBalanceAlgorithm
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RandomReplicaLoadBalanceAlgorithmTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/algorithm/RandomReplicaLoadBalanceAlgorithmTest.java
similarity index 96%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RandomReplicaLoadBalanceAlgorithmTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/algorithm/RandomReplicaLoadBalanceAlgorithmTest.java
index fd5f0b4..a9a9577 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RandomReplicaLoadBalanceAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/algorithm/RandomReplicaLoadBalanceAlgorithmTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.algorithm;
+package org.apache.shardingsphere.replicaquery.algorithm;
 
 import org.junit.Test;
 
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RoundRobinReplicaLoadBalanceAlgorithmTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/algorithm/RoundRobinReplicaLoadBalanceAlgorithmTest.java
similarity index 96%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RoundRobinReplicaLoadBalanceAlgorithmTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/algorithm/RoundRobinReplicaLoadBalanceAlgorithmTest.java
index b703ae8..ef59768 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/algorithm/RoundRobinReplicaLoadBalanceAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/algorithm/RoundRobinReplicaLoadBalanceAlgorithmTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.algorithm;
+package org.apache.shardingsphere.replicaquery.algorithm;
 
 import org.junit.Test;
 
diff --git a/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryDataSourceRuleTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryDataSourceRuleTest.java
new file mode 100644
index 0000000..771f07c
--- /dev/null
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryDataSourceRuleTest.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.replicaquery.rule;
+
+import com.google.common.collect.ImmutableMap;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.algorithm.RandomReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.RoundRobinReplicaLoadBalanceAlgorithm;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+public final class ReplicaQueryDataSourceRuleTest {
+    
+    private final ReplicaQueryDataSourceRule replicaQueryDataSourceRule = new ReplicaQueryDataSourceRule(
+            new ReplicaQueryDataSourceRuleConfiguration("test_pr", "primary_ds", Arrays.asList("replica_ds_0", "replica_ds_1"), "random"), new RandomReplicaLoadBalanceAlgorithm());
+    
+    @Test(expected = IllegalArgumentException.class)
+    public void assertNewReplicaQueryDataSourceRuleWithoutName() {
+        new ReplicaQueryDataSourceRule(new ReplicaQueryDataSourceRuleConfiguration("", "primary_ds", Collections.singletonList("replica_ds"), null), new RoundRobinReplicaLoadBalanceAlgorithm());
+    }
+    
+    @Test(expected = IllegalArgumentException.class)
+    public void assertNewReplicaQueryDataSourceRuleWithoutPrimaryDataSourceName() {
+        new ReplicaQueryDataSourceRule(new ReplicaQueryDataSourceRuleConfiguration("ds", "", Collections.singletonList("replica_ds"), null), new RoundRobinReplicaLoadBalanceAlgorithm());
+    }
+    
+    @Test(expected = IllegalArgumentException.class)
+    public void assertNewReplicaQueryDataSourceRuleWithNullReplicaDataSourceName() {
+        new ReplicaQueryDataSourceRule(new ReplicaQueryDataSourceRuleConfiguration("ds", "primary_ds", null, null), new RoundRobinReplicaLoadBalanceAlgorithm());
+    }
+    
+    @Test(expected = IllegalArgumentException.class)
+    public void assertNewReplicaQueryDataSourceRuleWithEmptyReplicaDataSourceName() {
+        new ReplicaQueryDataSourceRule(new ReplicaQueryDataSourceRuleConfiguration("ds", "primary_ds", Collections.emptyList(), null), new RoundRobinReplicaLoadBalanceAlgorithm());
+    }
+    
+    @Test
+    public void assertGetReplicaDataSourceNamesWithoutDisabledDataSourceNames() {
+        assertThat(replicaQueryDataSourceRule.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+    }
+    
+    @Test
+    public void assertGetReplicaDataSourceNamesWithDisabledDataSourceNames() {
+        replicaQueryDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", true);
+        assertThat(replicaQueryDataSourceRule.getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
+    }
+    
+    @Test
+    public void assertUpdateDisabledDataSourceNamesForDisabled() {
+        replicaQueryDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", true);
+        assertThat(replicaQueryDataSourceRule.getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
+    }
+    
+    @Test
+    public void assertUpdateDisabledDataSourceNamesForEnabled() {
+        replicaQueryDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", true);
+        replicaQueryDataSourceRule.updateDisabledDataSourceNames("replica_ds_0", false);
+        assertThat(replicaQueryDataSourceRule.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+    }
+    
+    @Test
+    public void assertGetDataSourceMapper() {
+        Map<String, Collection<String>> actual = replicaQueryDataSourceRule.getDataSourceMapper();
+        Map<String, Collection<String>> expected = ImmutableMap.of("test_pr", Arrays.asList("primary_ds", "replica_ds_0", "replica_ds_1"));
+        assertThat(actual, is(expected));
+    }
+}
diff --git a/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryRuleTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryRuleTest.java
new file mode 100644
index 0000000..d9e3e9a
--- /dev/null
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/ReplicaQueryRuleTest.java
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.replicaquery.rule;
+
+import com.google.common.collect.ImmutableMap;
+import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
+import org.apache.shardingsphere.infra.rule.event.impl.DataSourceNameDisabledEvent;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+public final class ReplicaQueryRuleTest {
+    
+    @Test(expected = IllegalArgumentException.class)
+    public void assertNewWithEmptyDataSourceRule() {
+        new ReplicaQueryRule(new ReplicaQueryRuleConfiguration(Collections.emptyList(), Collections.emptyMap()));
+    }
+    
+    @Test
+    public void assertFindDataSourceRule() {
+        Optional<ReplicaQueryDataSourceRule> actual = createReplicaQueryRule().findDataSourceRule("test_pr");
+        assertTrue(actual.isPresent());
+        assertDataSourceRule(actual.get());
+    }
+    
+    @Test
+    public void assertGetSingleDataSourceRule() {
+        assertDataSourceRule(createReplicaQueryRule().getSingleDataSourceRule());
+    }
+    
+    private ReplicaQueryRule createReplicaQueryRule() {
+        ReplicaQueryDataSourceRuleConfiguration config = 
+                new ReplicaQueryDataSourceRuleConfiguration("test_pr", "primary_ds", Arrays.asList("replica_ds_0", "replica_ds_1"), "random");
+        return new ReplicaQueryRule(new ReplicaQueryRuleConfiguration(
+                Collections.singleton(config), ImmutableMap.of("random", new ShardingSphereAlgorithmConfiguration("RANDOM", new Properties()))));
+    }
+    
+    private void assertDataSourceRule(final ReplicaQueryDataSourceRule actual) {
+        assertThat(actual.getName(), is("test_pr"));
+        assertThat(actual.getPrimaryDataSourceName(), is("primary_ds"));
+        assertThat(actual.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+        assertThat(actual.getLoadBalancer().getType(), is("RANDOM"));
+    }
+    
+    @Test
+    public void assertUpdateRuleStatusWithNotExistDataSource() {
+        ReplicaQueryRule replicaQueryRule = createReplicaQueryRule();
+        replicaQueryRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_db", true));
+        assertThat(replicaQueryRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+    }
+    
+    @Test
+    public void assertUpdateRuleStatus() {
+        ReplicaQueryRule replicaQueryRule = createReplicaQueryRule();
+        replicaQueryRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_ds_0", true));
+        assertThat(replicaQueryRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
+    }
+    
+    @Test
+    public void assertUpdateRuleStatusWithEnable() {
+        ReplicaQueryRule replicaQueryRule = createReplicaQueryRule();
+        replicaQueryRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_ds_0", true));
+        assertThat(replicaQueryRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Collections.singletonList("replica_ds_1")));
+        replicaQueryRule.updateRuleStatus(new DataSourceNameDisabledEvent("replica_ds_0", false));
+        assertThat(replicaQueryRule.getSingleDataSourceRule().getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+    }
+    
+    @Test
+    public void assertGetDataSourceMapper() {
+        ReplicaQueryRule replicaQueryRule = createReplicaQueryRule();
+        Map<String, Collection<String>> actual = replicaQueryRule.getDataSourceMapper();
+        Map<String, Collection<String>> expected = ImmutableMap.of("test_pr", Arrays.asList("primary_ds", "replica_ds_0", "replica_ds_1"));
+        assertThat(actual, is(expected));
+    }
+}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/AlgorithmProvidedPrimaryReplicaReplicationRuleBuilderTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/biulder/AlgorithmProvidedReplicaQueryRuleBuilderTest.java
similarity index 68%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/AlgorithmProvidedPrimaryReplicaReplicationRuleBuilderTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/biulder/AlgorithmProvidedReplicaQueryRuleBuilderTest.java
index 5ab905c..5c23091 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/AlgorithmProvidedPrimaryReplicaReplicationRuleBuilderTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/biulder/AlgorithmProvidedReplicaQueryRuleBuilderTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.rule.biulder;
+package org.apache.shardingsphere.replicaquery.rule.biulder;
 
 import org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-public final class AlgorithmProvidedPrimaryReplicaReplicationRuleBuilderTest {
+public final class AlgorithmProvidedReplicaQueryRuleBuilderTest {
     
     static {
         ShardingSphereServiceLoader.register(ShardingSphereRuleBuilder.class);
@@ -41,12 +41,12 @@ public final class AlgorithmProvidedPrimaryReplicaReplicationRuleBuilderTest {
     @SuppressWarnings({"rawtypes", "unchecked"})
     @Test
     public void assertBuild() {
-        AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration algorithmProvidedRuleConfig = mock(AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.class);
-        PrimaryReplicaReplicationDataSourceRuleConfiguration ruleConfig = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+        AlgorithmProvidedReplicaQueryRuleConfiguration algorithmProvidedRuleConfig = mock(AlgorithmProvidedReplicaQueryRuleConfiguration.class);
+        ReplicaQueryDataSourceRuleConfiguration ruleConfig = new ReplicaQueryDataSourceRuleConfiguration(
                 "name", "primaryDataSourceName", Collections.singletonList("name"), "loadBalancerName");
         when(algorithmProvidedRuleConfig.getDataSources()).thenReturn(Collections.singletonList(ruleConfig));
         ShardingSphereRuleBuilder builder = OrderedSPIRegistry.getRegisteredServices(
                 Collections.singletonList(algorithmProvidedRuleConfig), ShardingSphereRuleBuilder.class).get(algorithmProvidedRuleConfig);
-        assertThat(builder.build(algorithmProvidedRuleConfig, Collections.emptyList()), instanceOf(PrimaryReplicaReplicationRule.class));
+        assertThat(builder.build(algorithmProvidedRuleConfig, Collections.emptyList()), instanceOf(ReplicaQueryRule.class));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilderTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/biulder/ReplicaQueryRuleBuilderTest.java
similarity index 70%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilderTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/biulder/ReplicaQueryRuleBuilderTest.java
index d83119d..da76dc5 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/rule/biulder/PrimaryReplicaReplicationRuleBuilderTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/rule/biulder/ReplicaQueryRuleBuilderTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.rule.biulder;
+package org.apache.shardingsphere.replicaquery.rule.biulder;
 
 import org.apache.shardingsphere.infra.rule.ShardingSphereRuleBuilder;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-public final class PrimaryReplicaReplicationRuleBuilderTest {
+public final class ReplicaQueryRuleBuilderTest {
     
     static {
         ShardingSphereServiceLoader.register(ShardingSphereRuleBuilder.class);
@@ -41,11 +41,11 @@ public final class PrimaryReplicaReplicationRuleBuilderTest {
     @SuppressWarnings({"rawtypes", "unchecked"})
     @Test
     public void assertBuild() {
-        PrimaryReplicaReplicationRuleConfiguration ruleConfig = mock(PrimaryReplicaReplicationRuleConfiguration.class);
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceRuleConfig = new PrimaryReplicaReplicationDataSourceRuleConfiguration(
+        ReplicaQueryRuleConfiguration ruleConfig = mock(ReplicaQueryRuleConfiguration.class);
+        ReplicaQueryDataSourceRuleConfiguration dataSourceRuleConfig = new ReplicaQueryDataSourceRuleConfiguration(
                 "name", "primaryDataSourceName", Collections.singletonList("name"), "loadBalancerName");
         when(ruleConfig.getDataSources()).thenReturn(Collections.singletonList(dataSourceRuleConfig));
         ShardingSphereRuleBuilder builder = OrderedSPIRegistry.getRegisteredServices(Collections.singletonList(ruleConfig), ShardingSphereRuleBuilder.class).get(ruleConfig);
-        assertThat(builder.build(ruleConfig, Collections.emptyList()), instanceOf(PrimaryReplicaReplicationRule.class));
+        assertThat(builder.build(ruleConfig, Collections.emptyList()), instanceOf(ReplicaQueryRule.class));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapperTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleAlgorithmProviderConfiguration [...]
similarity index 60%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapperTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapperTest.java
index 2e447e9..5cbdd9c 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapperTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapperTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.yaml.swapper;
+package org.apache.shardingsphere.replicaquery.yaml.swapper;
 
 import com.google.common.collect.ImmutableMap;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RandomReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.algorithm.RandomReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -33,13 +33,13 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
-public final class PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapperTest {
+public final class ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapperTest {
     
-    private final PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper swapper = new PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYamlSwapper();
+    private final ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper swapper = new ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper();
     
     @Test
     public void assertSwapToYamlConfiguration() {
-        YamlPrimaryReplicaReplicationRuleConfiguration actual = createYamlPrimaryReplicaReplicationRuleConfiguration();
+        YamlReplicaQueryRuleConfiguration actual = createYamlReplicaQueryRuleConfiguration();
         assertNotNull(actual);
         assertNotNull(actual.getDataSources());
         assertThat(actual.getDataSources().keySet(), is(Collections.singleton("name")));
@@ -55,11 +55,11 @@ public final class PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYa
     
     @Test
     public void assertSwapToObject() {
-        AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration actual = swapper.swapToObject(createYamlPrimaryReplicaReplicationRuleConfiguration());
+        AlgorithmProvidedReplicaQueryRuleConfiguration actual = swapper.swapToObject(createYamlReplicaQueryRuleConfiguration());
         assertNotNull(actual);
         assertNotNull(actual.getDataSources());
         assertTrue(actual.getDataSources().iterator().hasNext());
-        PrimaryReplicaReplicationDataSourceRuleConfiguration ruleConfig = actual.getDataSources().iterator().next();
+        ReplicaQueryDataSourceRuleConfiguration ruleConfig = actual.getDataSources().iterator().next();
         assertNotNull(ruleConfig);
         assertThat(ruleConfig.getName(), is("name"));
         assertThat(ruleConfig.getPrimaryDataSourceName(), is("primaryDataSourceName"));
@@ -70,23 +70,23 @@ public final class PrimaryReplicaReplicationRuleAlgorithmProviderConfigurationYa
     
     @Test
     public void assertGetTypeClass() {
-        assertThat(swapper.getTypeClass(), equalTo(AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.class));
+        assertThat(swapper.getTypeClass(), equalTo(AlgorithmProvidedReplicaQueryRuleConfiguration.class));
     }
     
     @Test
     public void assertGetRuleTagName() {
-        assertThat(swapper.getRuleTagName(), is("PRIMARY_REPLICA_REPLICATION"));
+        assertThat(swapper.getRuleTagName(), is("REPLICA_QUERY"));
     }
     
     @Test
     public void assertGetOrder() {
-        assertThat(swapper.getOrder(), is(PrimaryReplicaReplicationOrder.ALGORITHM_PROVIDER_ORDER));
+        assertThat(swapper.getOrder(), is(ReplicaQueryOrder.ALGORITHM_PROVIDER_ORDER));
     }
     
-    private YamlPrimaryReplicaReplicationRuleConfiguration createYamlPrimaryReplicaReplicationRuleConfiguration() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration ruleConfig = new PrimaryReplicaReplicationDataSourceRuleConfiguration("name", "primaryDataSourceName",
+    private YamlReplicaQueryRuleConfiguration createYamlReplicaQueryRuleConfiguration() {
+        ReplicaQueryDataSourceRuleConfiguration ruleConfig = new ReplicaQueryDataSourceRuleConfiguration("name", "primaryDataSourceName",
                 Collections.singletonList("replicaDataSourceName"), "loadBalancerName");
         return swapper.swapToYamlConfiguration(
-                new AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration(Collections.singletonList(ruleConfig), ImmutableMap.of("name", new RandomReplicaLoadBalanceAlgorithm())));
+                new AlgorithmProvidedReplicaQueryRuleConfiguration(Collections.singletonList(ruleConfig), ImmutableMap.of("name", new RandomReplicaLoadBalanceAlgorithm())));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleConfigurationYamlSwapperTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleConfigurationYamlSwapperTest.java
new file mode 100644
index 0000000..3b83e6d
--- /dev/null
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/ReplicaQueryRuleConfigurationYamlSwapperTest.java
@@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.replicaquery.yaml.swapper;
+
+import com.google.common.collect.ImmutableMap;
+import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
+import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
+import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.rule.YamlReplicaQueryDataSourceRuleConfiguration;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+public final class ReplicaQueryRuleConfigurationYamlSwapperTest {
+    
+    private final Collection<YamlRuleConfigurationSwapper> collection = ShardingSphereServiceLoader.newServiceInstances(YamlRuleConfigurationSwapper.class);
+    
+    static {
+        ShardingSphereServiceLoader.register(YamlRuleConfigurationSwapper.class);
+    }
+    
+    @Test
+    public void assertSwapToYamlWithLoadBalanceAlgorithm() {
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfig = 
+                new ReplicaQueryDataSourceRuleConfiguration("ds", "primary", Collections.singletonList("replica"), "roundRobin");
+        YamlReplicaQueryRuleConfiguration actual = getReplicaQueryRuleConfigurationYamlSwapper().swapToYamlConfiguration(new ReplicaQueryRuleConfiguration(
+                Collections.singleton(dataSourceConfig), ImmutableMap.of("roundRobin", new ShardingSphereAlgorithmConfiguration("ROUND_ROBIN", new Properties()))));
+        assertThat(actual.getDataSources().get("ds").getName(), is("ds"));
+        assertThat(actual.getDataSources().get("ds").getPrimaryDataSourceName(), is("primary"));
+        assertThat(actual.getDataSources().get("ds").getReplicaDataSourceNames(), is(Collections.singletonList("replica")));
+        assertThat(actual.getDataSources().get("ds").getLoadBalancerName(), is("roundRobin"));
+    }
+    
+    @Test
+    public void assertSwapToYamlWithoutLoadBalanceAlgorithm() {
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfig = new ReplicaQueryDataSourceRuleConfiguration("ds", "primary", Collections.singletonList("replica"), null);
+        YamlReplicaQueryRuleConfiguration actual = getReplicaQueryRuleConfigurationYamlSwapper().swapToYamlConfiguration(
+                new ReplicaQueryRuleConfiguration(Collections.singleton(dataSourceConfig), Collections.emptyMap()));
+        assertThat(actual.getDataSources().get("ds").getName(), is("ds"));
+        assertThat(actual.getDataSources().get("ds").getPrimaryDataSourceName(), is("primary"));
+        assertThat(actual.getDataSources().get("ds").getReplicaDataSourceNames(), is(Collections.singletonList("replica")));
+        assertNull(actual.getDataSources().get("ds").getLoadBalancerName());
+    }
+    
+    @Test
+    public void assertSwapToObjectWithLoadBalanceAlgorithmType() {
+        YamlReplicaQueryRuleConfiguration yamlConfig = createYamlReplicaQueryRuleConfiguration();
+        yamlConfig.getDataSources().get("replica_query_ds").setLoadBalancerName("RANDOM");
+        ReplicaQueryRuleConfiguration actual = getReplicaQueryRuleConfigurationYamlSwapper().swapToObject(yamlConfig);
+        assertReplicaQueryRuleConfiguration(actual);
+        assertThat(actual.getDataSources().iterator().next().getLoadBalancerName(), is("RANDOM"));
+    }
+    
+    @Test
+    public void assertSwapToObjectWithoutLoadBalanceAlgorithm() {
+        YamlReplicaQueryRuleConfiguration yamlConfig = createYamlReplicaQueryRuleConfiguration();
+        ReplicaQueryRuleConfiguration actual = getReplicaQueryRuleConfigurationYamlSwapper().swapToObject(yamlConfig);
+        assertReplicaQueryRuleConfiguration(actual);
+        assertNull(actual.getDataSources().iterator().next().getLoadBalancerName());
+    }
+    
+    private YamlReplicaQueryRuleConfiguration createYamlReplicaQueryRuleConfiguration() {
+        YamlReplicaQueryRuleConfiguration result = new YamlReplicaQueryRuleConfiguration();
+        result.getDataSources().put("replica_query_ds", new YamlReplicaQueryDataSourceRuleConfiguration());
+        result.getDataSources().get("replica_query_ds").setName("replica_query_ds");
+        result.getDataSources().get("replica_query_ds").setPrimaryDataSourceName("primary_ds");
+        result.getDataSources().get("replica_query_ds").setReplicaDataSourceNames(Arrays.asList("replica_ds_0", "replica_ds_1"));
+        return result;
+    }
+    
+    private void assertReplicaQueryRuleConfiguration(final ReplicaQueryRuleConfiguration actual) {
+        ReplicaQueryDataSourceRuleConfiguration group = actual.getDataSources().iterator().next();
+        assertThat(group.getName(), is("replica_query_ds"));
+        assertThat(group.getPrimaryDataSourceName(), is("primary_ds"));
+        assertThat(group.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
+    }
+    
+    @Test
+    public void assertGetTypeClass() {
+        ReplicaQueryRuleConfigurationYamlSwapper swapper = getReplicaQueryRuleConfigurationYamlSwapper();
+        Class<ReplicaQueryRuleConfiguration> actual = swapper.getTypeClass();
+        assertTrue(actual.isAssignableFrom(ReplicaQueryRuleConfiguration.class));
+    }
+    
+    @Test
+    public void assertGetOrder() {
+        ReplicaQueryRuleConfigurationYamlSwapper swapper = getReplicaQueryRuleConfigurationYamlSwapper();
+        int actual = swapper.getOrder();
+        assertThat(actual, is(ReplicaQueryOrder.ORDER));
+    }
+    
+    private ReplicaQueryRuleConfigurationYamlSwapper getReplicaQueryRuleConfigurationYamlSwapper() {
+        Optional<ReplicaQueryRuleConfigurationYamlSwapper> optional = collection.stream()
+                .filter(swapper -> swapper instanceof ReplicaQueryRuleConfigurationYamlSwapper)
+                .map(swapper -> (ReplicaQueryRuleConfigurationYamlSwapper) swapper)
+                .findFirst();
+        assertTrue(optional.isPresent());
+        return optional.get();
+    }
+}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/YamlRootRuleConfigurationsForYamlPrimaryReplicaReplicationRuleConfigurationTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/YamlRootRuleConfigurationsForYamlReplicaQ [...]
similarity index 73%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/YamlRootRuleConfigurationsForYamlPrimaryReplicaReplicationRuleConfigurationTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/YamlRootRuleConfigurationsForYamlReplicaQueryRuleConfigurationTest.java
index 5fdfd6c..179c1d3 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/java/org/apache/shardingsphere/replication/primaryreplica/yaml/swapper/YamlRootRuleConfigurationsForYamlPrimaryReplicaReplicationRuleConfigurationTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/java/org/apache/shardingsphere/replicaquery/yaml/swapper/YamlRootRuleConfigurationsForYamlReplicaQueryRuleConfigurationTest.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.yaml.swapper;
+package org.apache.shardingsphere.replicaquery.yaml.swapper;
 
 import org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations;
 import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
 import org.junit.Test;
 
 import java.io.BufferedReader;
@@ -33,20 +33,20 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 
-public final class YamlRootRuleConfigurationsForYamlPrimaryReplicaReplicationRuleConfigurationTest {
+public final class YamlRootRuleConfigurationsForYamlReplicaQueryRuleConfigurationTest {
     
     @Test
     public void assertUnmarshalWithYamlFile() throws IOException {
-        URL url = getClass().getClassLoader().getResource("yaml/primary-replica-replication-rule.yaml");
+        URL url = getClass().getClassLoader().getResource("yaml/replica-query-rule.yaml");
         assertNotNull(url);
         YamlRootRuleConfigurations rootRuleConfigs = YamlEngine.unmarshal(new File(url.getFile()), YamlRootRuleConfigurations.class);
         assertThat(rootRuleConfigs.getRules().size(), is(1));
-        assertPrimaryReplicaReplicationRule((YamlPrimaryReplicaReplicationRuleConfiguration) rootRuleConfigs.getRules().iterator().next());
+        assertReplicaQueryRule((YamlReplicaQueryRuleConfiguration) rootRuleConfigs.getRules().iterator().next());
     }
     
     @Test
     public void assertUnmarshalWithYamlBytes() throws IOException {
-        URL url = getClass().getClassLoader().getResource("yaml/primary-replica-replication-rule.yaml");
+        URL url = getClass().getClassLoader().getResource("yaml/replica-query-rule.yaml");
         assertNotNull(url);
         StringBuilder yamlContent = new StringBuilder();
         try (
@@ -59,22 +59,22 @@ public final class YamlRootRuleConfigurationsForYamlPrimaryReplicaReplicationRul
         }
         YamlRootRuleConfigurations rootRuleConfigs = YamlEngine.unmarshal(yamlContent.toString().getBytes(), YamlRootRuleConfigurations.class);
         assertThat(rootRuleConfigs.getRules().size(), is(1));
-        assertPrimaryReplicaReplicationRule((YamlPrimaryReplicaReplicationRuleConfiguration) rootRuleConfigs.getRules().iterator().next());
+        assertReplicaQueryRule((YamlReplicaQueryRuleConfiguration) rootRuleConfigs.getRules().iterator().next());
     }
     
-    private void assertPrimaryReplicaReplicationRule(final YamlPrimaryReplicaReplicationRuleConfiguration actual) {
+    private void assertReplicaQueryRule(final YamlReplicaQueryRuleConfiguration actual) {
         assertThat(actual.getDataSources().size(), is(2));
-        assertPrimaryReplicaReplicationRuleForDs0(actual);
-        assertPrimaryReplicaReplicationRuleForDs1(actual);
+        assertReplicaQueryRuleForDs0(actual);
+        assertReplicaQueryRuleForDs1(actual);
     }
     
-    private void assertPrimaryReplicaReplicationRuleForDs0(final YamlPrimaryReplicaReplicationRuleConfiguration actual) {
+    private void assertReplicaQueryRuleForDs0(final YamlReplicaQueryRuleConfiguration actual) {
         assertThat(actual.getDataSources().get("ds_0").getPrimaryDataSourceName(), is("primary_ds_0"));
         assertThat(actual.getDataSources().get("ds_0").getReplicaDataSourceNames(), is(Arrays.asList("primary_ds_0_replica_0", "primary_ds_0_replica_1")));
         assertThat(actual.getDataSources().get("ds_0").getLoadBalancerName(), is("roundRobin"));
     }
     
-    private void assertPrimaryReplicaReplicationRuleForDs1(final YamlPrimaryReplicaReplicationRuleConfiguration actual) {
+    private void assertReplicaQueryRuleForDs1(final YamlReplicaQueryRuleConfiguration actual) {
         assertThat(actual.getDataSources().get("ds_1").getPrimaryDataSourceName(), is("primary_ds_1"));
         assertThat(actual.getDataSources().get("ds_1").getReplicaDataSourceNames(), is(Arrays.asList("primary_ds_1_replica_0", "primary_ds_1_replica_1")));
         assertThat(actual.getDataSources().get("ds_1").getLoadBalancerName(), is("random"));
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/resources/logback-test.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/resources/logback-test.xml
similarity index 100%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/resources/logback-test.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/resources/logback-test.xml
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/resources/yaml/primary-replica-replication-rule.yaml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/resources/yaml/replica-query-rule.yaml
similarity index 98%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/resources/yaml/primary-replica-replication-rule.yaml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/resources/yaml/replica-query-rule.yaml
index 9d14f76..d4d4ca6 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/resources/yaml/primary-replica-replication-rule.yaml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-common/src/test/resources/yaml/replica-query-rule.yaml
@@ -48,7 +48,7 @@ dataSources:
       password: 
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/pom.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/pom.xml
similarity index 87%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/pom.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/pom.xml
index 72512e3..f8962cb 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/pom.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/pom.xml
@@ -22,10 +22,10 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-primary-replica-replication</artifactId>
+        <artifactId>shardingsphere-replica-query</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-primary-replica-replication-route</artifactId>
+    <artifactId>shardingsphere-replica-query-route</artifactId>
     <name>${project.artifactId}</name>
     
     <dependencies>
@@ -36,7 +36,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-common</artifactId>
+            <artifactId>shardingsphere-replica-query-common</artifactId>
             <version>${project.version}</version>
         </dependency>
     </dependencies>
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/PrimaryReplicaReplicationSQLRouter.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouter.java
similarity index 64%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/PrimaryReplicaReplicationSQLRouter.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouter.java
index 56e1854..4a09cfd 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/PrimaryReplicaReplicationSQLRouter.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.route.engine;
+package org.apache.shardingsphere.replicaquery.route.engine;
 
 import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.DefaultSchema;
@@ -25,10 +25,10 @@ import org.apache.shardingsphere.infra.route.context.RouteMapper;
 import org.apache.shardingsphere.infra.route.context.RouteUnit;
 import org.apache.shardingsphere.infra.schema.ShardingSphereSchema;
 import org.apache.shardingsphere.infra.binder.LogicSQL;
-import org.apache.shardingsphere.replication.primaryreplica.constant.PrimaryReplicaReplicationOrder;
-import org.apache.shardingsphere.replication.primaryreplica.route.engine.impl.PrimaryReplicaReplicationDataSourceRouter;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationDataSourceRule;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.route.engine.impl.ReplicaQueryDataSourceRouter;
+import org.apache.shardingsphere.replicaquery.constant.ReplicaQueryOrder;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryDataSourceRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -36,29 +36,29 @@ import java.util.LinkedList;
 import java.util.Optional;
 
 /**
- * Primary-replica replication SQL router.
+ * Replica query SQL router.
  */
-public final class PrimaryReplicaReplicationSQLRouter implements SQLRouter<PrimaryReplicaReplicationRule> {
+public final class ReplicaQuerySQLRouter implements SQLRouter<ReplicaQueryRule> {
     
     @Override
-    public RouteContext createRouteContext(final LogicSQL logicSQL, final ShardingSphereSchema schema, final PrimaryReplicaReplicationRule rule, final ConfigurationProperties props) {
+    public RouteContext createRouteContext(final LogicSQL logicSQL, final ShardingSphereSchema schema, final ReplicaQueryRule rule, final ConfigurationProperties props) {
         RouteContext result = new RouteContext();
-        String dataSourceName = new PrimaryReplicaReplicationDataSourceRouter(rule.getSingleDataSourceRule()).route(logicSQL.getSqlStatementContext().getSqlStatement());
+        String dataSourceName = new ReplicaQueryDataSourceRouter(rule.getSingleDataSourceRule()).route(logicSQL.getSqlStatementContext().getSqlStatement());
         result.getRouteUnits().add(new RouteUnit(new RouteMapper(DefaultSchema.LOGIC_NAME, dataSourceName), Collections.emptyList()));
         return result;
     }
     
     @Override
-    public void decorateRouteContext(final RouteContext routeContext, 
-                                     final LogicSQL logicSQL, final ShardingSphereSchema schema, final PrimaryReplicaReplicationRule rule, final ConfigurationProperties props) {
+    public void decorateRouteContext(final RouteContext routeContext,
+                                     final LogicSQL logicSQL, final ShardingSphereSchema schema, final ReplicaQueryRule rule, final ConfigurationProperties props) {
         Collection<RouteUnit> toBeRemoved = new LinkedList<>();
         Collection<RouteUnit> toBeAdded = new LinkedList<>();
         for (RouteUnit each : routeContext.getRouteUnits()) {
             String dataSourceName = each.getDataSourceMapper().getLogicName();
-            Optional<PrimaryReplicaReplicationDataSourceRule> dataSourceRule = rule.findDataSourceRule(dataSourceName);
+            Optional<ReplicaQueryDataSourceRule> dataSourceRule = rule.findDataSourceRule(dataSourceName);
             if (dataSourceRule.isPresent() && dataSourceRule.get().getName().equalsIgnoreCase(each.getDataSourceMapper().getActualName())) {
                 toBeRemoved.add(each);
-                String actualDataSourceName = new PrimaryReplicaReplicationDataSourceRouter(dataSourceRule.get()).route(logicSQL.getSqlStatementContext().getSqlStatement());
+                String actualDataSourceName = new ReplicaQueryDataSourceRouter(dataSourceRule.get()).route(logicSQL.getSqlStatementContext().getSqlStatement());
                 toBeAdded.add(new RouteUnit(new RouteMapper(each.getDataSourceMapper().getLogicName(), actualDataSourceName), each.getTableMappers()));
             }
         }
@@ -68,11 +68,11 @@ public final class PrimaryReplicaReplicationSQLRouter implements SQLRouter<Prima
     
     @Override
     public int getOrder() {
-        return PrimaryReplicaReplicationOrder.ORDER;
+        return ReplicaQueryOrder.ORDER;
     }
     
     @Override
-    public Class<PrimaryReplicaReplicationRule> getTypeClass() {
-        return PrimaryReplicaReplicationRule.class;
+    public Class<ReplicaQueryRule> getTypeClass() {
+        return ReplicaQueryRule.class;
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/impl/PrimaryVisitedManager.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/impl/PrimaryVisitedManager.java
similarity index 95%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/impl/PrimaryVisitedManager.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/impl/PrimaryVisitedManager.java
index 12b2da6..85536c6 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/impl/PrimaryVisitedManager.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/impl/PrimaryVisitedManager.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.route.engine.impl;
+package org.apache.shardingsphere.replicaquery.route.engine.impl;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/impl/PrimaryReplicaReplicationDataSourceRouter.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/impl/ReplicaQueryDataSourceRouter.java
similarity index 85%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/impl/PrimaryReplicaReplicationDataSourceRouter.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/impl/ReplicaQueryDataSourceRouter.java
index 2fa5738..107f012 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/impl/PrimaryReplicaReplicationDataSourceRouter.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/java/org/apache/shardingsphere/replicaquery/route/engine/impl/ReplicaQueryDataSourceRouter.java
@@ -15,22 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.route.engine.impl;
+package org.apache.shardingsphere.replicaquery.route.engine.impl;
 
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.hint.HintManager;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationDataSourceRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryDataSourceRule;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 import org.apache.shardingsphere.sql.parser.sql.dialect.handler.dml.SelectStatementHandler;
 
 /**
- * Data source router for primary-replica replication.
+ * Data source router for replica query.
  */
 @RequiredArgsConstructor
-public final class PrimaryReplicaReplicationDataSourceRouter {
+public final class ReplicaQueryDataSourceRouter {
     
-    private final PrimaryReplicaReplicationDataSourceRule rule;
+    private final ReplicaQueryDataSourceRule rule;
     
     /**
      * Route.
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
similarity index 88%
copy from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
copy to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
index e5c2546..0bb0c24 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.replication.primaryreplica.route.engine.PrimaryReplicaReplicationSQLRouter
+org.apache.shardingsphere.replicaquery.route.engine.ReplicaQuerySQLRouter
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/test/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/PrimaryReplicaReplicationSQLRouterTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/test/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouterTest.java
similarity index 85%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/test/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/PrimaryReplicaReplicationSQLRouterTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/test/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouterTest.java
index be596a2..ed59409 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/test/java/org/apache/shardingsphere/replication/primaryreplica/route/engine/PrimaryReplicaReplicationSQLRouterTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-route/src/test/java/org/apache/shardingsphere/replicaquery/route/engine/ReplicaQuerySQLRouterTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.route.engine;
+package org.apache.shardingsphere.replicaquery.route.engine;
 
 import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
 import org.apache.shardingsphere.infra.metadata.model.ShardingSphereMetaData;
@@ -27,10 +27,10 @@ import org.apache.shardingsphere.infra.route.context.RouteUnit;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.ordered.OrderedSPIRegistry;
 import org.apache.shardingsphere.infra.binder.LogicSQL;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.route.engine.impl.PrimaryVisitedManager;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.route.engine.impl.PrimaryVisitedManager;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.predicate.LockSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
@@ -54,22 +54,22 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
-public final class PrimaryReplicaReplicationSQLRouterTest {
+public final class ReplicaQuerySQLRouterTest {
     
     private static final String DATASOURCE_NAME = "ds";
     
-    private static final String NON_PRIMARY_REPLICA_DATASOURCE_NAME = "nonPrDatasource";
+    private static final String NONE_REPLICA_QUERY_DATASOURCE_NAME = "noneReplicaQueryDatasource";
     
     private static final String PRIMARY_DATASOURCE = "primary";
     
     private static final String REPLICA_DATASOURCE = "query";
     
-    private PrimaryReplicaReplicationRule rule;
+    private ReplicaQueryRule rule;
     
     @Mock
     private SQLStatementContext<SQLStatement> sqlStatementContext;
     
-    private PrimaryReplicaReplicationSQLRouter sqlRouter;
+    private ReplicaQuerySQLRouter sqlRouter;
     
     static {
         ShardingSphereServiceLoader.register(SQLRouter.class);
@@ -77,9 +77,9 @@ public final class PrimaryReplicaReplicationSQLRouterTest {
     
     @Before
     public void setUp() {
-        rule = new PrimaryReplicaReplicationRule(new PrimaryReplicaReplicationRuleConfiguration(Collections.singleton(
-                new PrimaryReplicaReplicationDataSourceRuleConfiguration(DATASOURCE_NAME, PRIMARY_DATASOURCE, Collections.singletonList(REPLICA_DATASOURCE), null)), Collections.emptyMap()));
-        sqlRouter = (PrimaryReplicaReplicationSQLRouter) OrderedSPIRegistry.getRegisteredServices(Collections.singleton(rule), SQLRouter.class).get(rule);
+        rule = new ReplicaQueryRule(new ReplicaQueryRuleConfiguration(Collections.singleton(
+                new ReplicaQueryDataSourceRuleConfiguration(DATASOURCE_NAME, PRIMARY_DATASOURCE, Collections.singletonList(REPLICA_DATASOURCE), null)), Collections.emptyMap()));
+        sqlRouter = (ReplicaQuerySQLRouter) OrderedSPIRegistry.getRegisteredServices(Collections.singleton(rule), SQLRouter.class).get(rule);
     }
     
     @After
@@ -103,7 +103,7 @@ public final class PrimaryReplicaReplicationSQLRouterTest {
         ShardingSphereSchema schema = new ShardingSphereSchema("logic_schema", Collections.emptyList(), Collections.singleton(rule), Collections.emptyMap(), mock(ShardingSphereMetaData.class));
         sqlRouter.decorateRouteContext(actual, logicSQL, schema, rule, new ConfigurationProperties(new Properties()));
         Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
-        assertThat(routedDataSourceNames.next(), is(NON_PRIMARY_REPLICA_DATASOURCE_NAME));
+        assertThat(routedDataSourceNames.next(), is(NONE_REPLICA_QUERY_DATASOURCE_NAME));
         assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
     }
     
@@ -129,7 +129,7 @@ public final class PrimaryReplicaReplicationSQLRouterTest {
         ShardingSphereSchema schema = new ShardingSphereSchema("logic_schema", Collections.emptyList(), Collections.singleton(rule), Collections.emptyMap(), mock(ShardingSphereMetaData.class));
         sqlRouter.decorateRouteContext(actual, logicSQL, schema, rule, new ConfigurationProperties(new Properties()));
         Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
-        assertThat(routedDataSourceNames.next(), is(NON_PRIMARY_REPLICA_DATASOURCE_NAME));
+        assertThat(routedDataSourceNames.next(), is(NONE_REPLICA_QUERY_DATASOURCE_NAME));
         assertThat(routedDataSourceNames.next(), is(REPLICA_DATASOURCE));
     }
     
@@ -155,7 +155,7 @@ public final class PrimaryReplicaReplicationSQLRouterTest {
         ShardingSphereSchema schema = new ShardingSphereSchema("logic_schema", Collections.emptyList(), Collections.singleton(rule), Collections.emptyMap(), mock(ShardingSphereMetaData.class));
         sqlRouter.decorateRouteContext(actual, logicSQL, schema, rule, new ConfigurationProperties(new Properties()));
         Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
-        assertThat(routedDataSourceNames.next(), is(NON_PRIMARY_REPLICA_DATASOURCE_NAME));
+        assertThat(routedDataSourceNames.next(), is(NONE_REPLICA_QUERY_DATASOURCE_NAME));
         assertThat(routedDataSourceNames.next(), is(PRIMARY_DATASOURCE));
     }
     
@@ -173,7 +173,7 @@ public final class PrimaryReplicaReplicationSQLRouterTest {
         RouteContext result = new RouteContext();
         RouteUnit routeUnit = new RouteUnit(new RouteMapper(DATASOURCE_NAME, DATASOURCE_NAME), Collections.singletonList(new RouteMapper("table", "table_0")));
         result.getRouteUnits().add(routeUnit);
-        result.getRouteUnits().add(new RouteUnit(new RouteMapper(NON_PRIMARY_REPLICA_DATASOURCE_NAME, NON_PRIMARY_REPLICA_DATASOURCE_NAME), Collections.emptyList()));
+        result.getRouteUnits().add(new RouteUnit(new RouteMapper(NONE_REPLICA_QUERY_DATASOURCE_NAME, NONE_REPLICA_QUERY_DATASOURCE_NAME), Collections.emptyList()));
         return result;
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/pom.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/pom.xml
similarity index 80%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/pom.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/pom.xml
index 4dacef2..21bfdee 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/pom.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/pom.xml
@@ -22,15 +22,15 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-primary-replica-replication</artifactId>
+        <artifactId>shardingsphere-replica-query</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-primary-replica-replication-spring</artifactId>
+    <artifactId>shardingsphere-replica-query-spring</artifactId>
     <packaging>pom</packaging>
     <name>${project.artifactId}</name>
     
     <modules>
-        <module>shardingsphere-primary-replica-replication-spring-namespace</module>
-        <module>shardingsphere-primary-replica-replication-spring-boot-starter</module>
+        <module>shardingsphere-replica-query-spring-namespace</module>
+        <module>shardingsphere-replica-query-spring-boot-starter</module>
     </modules>
 </project>
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/pom.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/pom.xml
similarity index 90%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/pom.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/pom.xml
index 5bdda6d..c9b221e 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/pom.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/pom.xml
@@ -22,16 +22,16 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-primary-replica-replication-spring</artifactId>
+        <artifactId>shardingsphere-replica-query-spring</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-primary-replica-replication-spring-boot-starter</artifactId>
+    <artifactId>shardingsphere-replica-query-spring-boot-starter</artifactId>
     <name>${project.artifactId}</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-common</artifactId>
+            <artifactId>shardingsphere-replica-query-common</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/ReplicaQueryRuleSpringbootConfiguration.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/ReplicaQueryRuleSpringbootC [...]
new file mode 100644
index 0000000..2e46c3f
--- /dev/null
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/ReplicaQueryRuleSpringbootConfiguration.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.replicaquery.spring.boot;
+
+import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.spring.boot.algorithm.ReplicaQueryAlgorithmProvidedBeanRegistry;
+import org.apache.shardingsphere.replicaquery.spring.boot.rule.YamlReplicaQueryRuleSpringBootConfiguration;
+import org.apache.shardingsphere.replicaquery.spring.boot.condition.ReplicaQuerySpringBootCondition;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.swapper.ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper;
+import org.springframework.beans.factory.ObjectProvider;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.Optional;
+
+/**
+ * Rule spring boot configuration for replica query.
+ */
+@Configuration
+@EnableConfigurationProperties(YamlReplicaQueryRuleSpringBootConfiguration.class)
+@ConditionalOnClass(YamlReplicaQueryRuleConfiguration.class)
+@Conditional(ReplicaQuerySpringBootCondition.class)
+@RequiredArgsConstructor
+public class ReplicaQueryRuleSpringbootConfiguration {
+    
+    private final ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper swapper = new ReplicaQueryRuleAlgorithmProviderConfigurationYamlSwapper();
+    
+    private final YamlReplicaQueryRuleSpringBootConfiguration yamlConfig;
+    
+    /**
+     * Replica query rule configuration for spring boot.
+     *
+     * @param loadBalanceAlgorithms load balance algorithms
+     * @return replica query rule configuration
+     */
+    @Bean
+    public RuleConfiguration replicaQueryRuleConfiguration(final ObjectProvider<Map<String, ReplicaLoadBalanceAlgorithm>> loadBalanceAlgorithms) {
+        AlgorithmProvidedReplicaQueryRuleConfiguration result = swapper.swapToObject(yamlConfig.getReplicaQuery());
+        Map<String, ReplicaLoadBalanceAlgorithm> balanceAlgorithmMap = Optional.ofNullable(loadBalanceAlgorithms.getIfAvailable()).orElse(Collections.emptyMap());
+        result.setLoadBalanceAlgorithms(balanceAlgorithmMap);
+        return result;
+    }
+    
+    /**
+     * Replica query algorithm provided bean registry.
+     *
+     * @param environment environment
+     * @return replica query algorithm provided bean registry
+     */
+    @Bean
+    public static ReplicaQueryAlgorithmProvidedBeanRegistry replicaQueryAlgorithmProvidedBeanRegistry(final Environment environment) {
+        return new ReplicaQueryAlgorithmProvidedBeanRegistry(environment);
+    }
+}
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/algorithm/PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/ja [...]
similarity index 68%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/algorithm/PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/algorithm/ReplicaQueryAlgorithmProvidedBeanRegistry.java
index 383a030..ee337c6 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/algorithm/PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/algorithm/ReplicaQueryAlgorithmProvidedBeanRegistry.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.boot.algorithm;
+package org.apache.shardingsphere.replicaquery.spring.boot.algorithm;
 
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 import org.apache.shardingsphere.spring.boot.registry.AbstractAlgorithmProvidedBeanRegistry;
 import org.springframework.beans.factory.support.BeanDefinitionRegistry;
 import org.springframework.core.env.Environment;
 
 /**
- * Primary-replica replication algorithm provided bean registry.
+ * Replica query algorithm provided bean registry.
  */
-public final class PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry extends AbstractAlgorithmProvidedBeanRegistry<ReplicaLoadBalanceAlgorithm> {
+public final class ReplicaQueryAlgorithmProvidedBeanRegistry extends AbstractAlgorithmProvidedBeanRegistry<ReplicaLoadBalanceAlgorithm> {
     
-    private static final String ALGORITHMS = "spring.shardingsphere.rules.primary-replica-replication.load-balancers.";
+    private static final String ALGORITHMS = "spring.shardingsphere.rules.replica-query.load-balancers.";
     
     /**
-     * Instantiates a new primary-replica replication algorithm provided bean registry.
+     * Instantiates a new replica query algorithm provided bean registry.
      *
      * @param environment environment
      */
-    public PrimaryReplicaReplicationAlgorithmProvidedBeanRegistry(final Environment environment) {
+    public ReplicaQueryAlgorithmProvidedBeanRegistry(final Environment environment) {
         super(environment);
     }
     
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/condition/PrimaryReplicaReplicationSpringBootCondition.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apa [...]
similarity index 80%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/condition/PrimaryReplicaReplicationSpringBootCondition.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/condition/ReplicaQuerySpringBootCondition.java
index adbacde..34f8e94 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/condition/PrimaryReplicaReplicationSpringBootCondition.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/condition/ReplicaQuerySpringBootCondition.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.boot.condition;
+package org.apache.shardingsphere.replicaquery.spring.boot.condition;
 
 import org.apache.shardingsphere.spring.boot.util.PropertyUtil;
 import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
@@ -24,15 +24,15 @@ import org.springframework.context.annotation.ConditionContext;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
- * Spring boot condition for primary-replica replication.
+ * Spring boot condition for replica query.
  */
-public final class PrimaryReplicaReplicationSpringBootCondition extends SpringBootCondition {
+public final class ReplicaQuerySpringBootCondition extends SpringBootCondition {
     
-    private static final String PREFIX = "spring.shardingsphere.rules.primary-replica-replication";
+    private static final String PREFIX = "spring.shardingsphere.rules.replica-query";
     
     @Override
     public ConditionOutcome getMatchOutcome(final ConditionContext conditionContext, final AnnotatedTypeMetadata annotatedTypeMetadata) {
         return PropertyUtil.containPropertyPrefix(conditionContext.getEnvironment(), PREFIX)
-                ? ConditionOutcome.match() : ConditionOutcome.noMatch("Can't find ShardingSphere primary-replica replication rule configuration in local file.");
+                ? ConditionOutcome.match() : ConditionOutcome.noMatch("Can't find ShardingSphere replica-query rule configuration in local file.");
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/rule/YamlPrimaryReplicaReplicationRuleSpringBootConfiguration.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/ [...]
similarity index 70%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/rule/YamlPrimaryReplicaReplicationRuleSpringBootConfiguration.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/rule/YamlReplicaQueryRuleSpringBootConfiguration.java
index 2deead1..ba85f80 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/rule/YamlPrimaryReplicaReplicationRuleSpringBootConfiguration.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/java/org/apache/shardingsphere/replicaquery/spring/boot/rule/YamlReplicaQueryRuleSpringBootConfiguration.java
@@ -15,20 +15,20 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.boot.rule;
+package org.apache.shardingsphere.replicaquery.spring.boot.rule;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
- * YAML Primary-replica replication rule spring boot configuration.
+ * YAML replica query rule spring boot configuration.
  */
 @ConfigurationProperties(prefix = "spring.shardingsphere.rules")
 @Getter
 @Setter
-public final class YamlPrimaryReplicaReplicationRuleSpringBootConfiguration {
+public final class YamlReplicaQueryRuleSpringBootConfiguration {
     
-    private YamlPrimaryReplicaReplicationRuleConfiguration primaryReplicaReplication;
+    private YamlReplicaQueryRuleConfiguration replicaQuery;
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.factories b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/resources/META-INF/spring.factories
similarity index 87%
copy from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.factories
copy to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/resources/META-INF/spring.factories
index fc466c0..f789418 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.factories
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/resources/META-INF/spring.factories
@@ -16,4 +16,4 @@
 #
 
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.shardingsphere.replication.primaryreplica.spring.boot.PrimaryReplicaReplicationRuleSpringbootConfiguration
+org.apache.shardingsphere.replicaquery.spring.boot.ReplicaQueryRuleSpringbootConfiguration
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.provides b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/resources/META-INF/spring.provides
similarity index 91%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.provides
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/resources/META-INF/spring.provides
index f3fc6a9..1f6f41e 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.provides
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/main/resources/META-INF/spring.provides
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-provides: shardingsphere-primary-replica-replication-spring-boot-starter
+provides: shardingsphere-replica-query-spring-boot-starter
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/PrimaryReplicaReplicationSpringBootStarterTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/java/org/apache/shar [...]
similarity index 70%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/PrimaryReplicaReplicationSpringBootStarterTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/java/org/apache/shardingsphere/replicaquery/spring/boot/ReplicaQuerySpringBootStarterTest.java
index 93a0666..0ecf2d4 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/PrimaryReplicaReplicationSpringBootStarterTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/java/org/apache/shardingsphere/replicaquery/spring/boot/ReplicaQuerySpringBootStarterTest.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.boot;
+package org.apache.shardingsphere.replicaquery.spring.boot;
 
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RandomReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.algorithm.RandomReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -34,16 +34,16 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@SpringBootTest(classes = PrimaryReplicaReplicationSpringBootStarterTest.class)
+@SpringBootTest(classes = ReplicaQuerySpringBootStarterTest.class)
 @SpringBootApplication
-@ActiveProfiles("primary-replica-replication")
-public class PrimaryReplicaReplicationSpringBootStarterTest {
+@ActiveProfiles("replica-query")
+public class ReplicaQuerySpringBootStarterTest {
     
     @Resource
     private RandomReplicaLoadBalanceAlgorithm random;
     
     @Resource
-    private AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration config;
+    private AlgorithmProvidedReplicaQueryRuleConfiguration config;
     
     @Test
     public void assertLoadBalanceAlgorithm() {
@@ -51,9 +51,9 @@ public class PrimaryReplicaReplicationSpringBootStarterTest {
     }
     
     @Test
-    public void assertPrimaryReplicaReplicationRuleConfiguration() {
+    public void assertReplicaQueryRuleConfiguration() {
         assertThat(config.getDataSources().size(), is(1));
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceRuleConfig = config.getDataSources().stream().findFirst().get();
+        ReplicaQueryDataSourceRuleConfiguration dataSourceRuleConfig = config.getDataSources().stream().findFirst().get();
         assertThat(dataSourceRuleConfig.getName(), is("pr_ds"));
         assertThat(dataSourceRuleConfig.getPrimaryDataSourceName(), is("primary_ds"));
         assertThat(dataSourceRuleConfig.getLoadBalancerName(), is("random"));
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/condition/PrimaryReplicaReplicationSpringBootConditionTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/java/org [...]
similarity index 84%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/condition/PrimaryReplicaReplicationSpringBootConditionTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/java/org/apache/shardingsphere/replicaquery/spring/boot/condition/ReplicaQuerySpringBootConditionTest.java
index bf043ca..4ba6cd8 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/boot/condition/PrimaryReplicaReplicationSpringBootConditionTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/java/org/apache/shardingsphere/replicaquery/spring/boot/condition/ReplicaQuerySpringBootConditionTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.boot.condition;
+package org.apache.shardingsphere.replicaquery.spring.boot.condition;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -31,7 +31,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
-public final class PrimaryReplicaReplicationSpringBootConditionTest {
+public final class ReplicaQuerySpringBootConditionTest {
     
     @Test
     public void assertNotMatch() {
@@ -41,7 +41,7 @@ public final class PrimaryReplicaReplicationSpringBootConditionTest {
         ConditionContext context = mock(ConditionContext.class);
         AnnotatedTypeMetadata metadata = mock(AnnotatedTypeMetadata.class);
         when(context.getEnvironment()).thenReturn(mockEnvironment);
-        PrimaryReplicaReplicationSpringBootCondition condition = new PrimaryReplicaReplicationSpringBootCondition();
+        ReplicaQuerySpringBootCondition condition = new ReplicaQuerySpringBootCondition();
         ConditionOutcome matchOutcome = condition.getMatchOutcome(context, metadata);
         assertFalse(matchOutcome.isMatch());
     }
@@ -49,11 +49,11 @@ public final class PrimaryReplicaReplicationSpringBootConditionTest {
     @Test
     public void assertMatch() {
         MockEnvironment mockEnvironment = new MockEnvironment();
-        mockEnvironment.setProperty("spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name", "primary_ds");
+        mockEnvironment.setProperty("spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name", "primary_ds");
         ConditionContext context = mock(ConditionContext.class);
         AnnotatedTypeMetadata metadata = mock(AnnotatedTypeMetadata.class);
         when(context.getEnvironment()).thenReturn(mockEnvironment);
-        PrimaryReplicaReplicationSpringBootCondition condition = new PrimaryReplicaReplicationSpringBootCondition();
+        ReplicaQuerySpringBootCondition condition = new ReplicaQuerySpringBootCondition();
         ConditionOutcome matchOutcome = condition.getMatchOutcome(context, metadata);
         assertTrue(matchOutcome.isMatch());
     }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.factories b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/resources/application-replica-query.properties
similarity index 67%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.factories
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/resources/application-replica-query.properties
index fc466c0..c4bfb40 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-boot-starter/src/main/resources/META-INF/spring.factories
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/resources/application-replica-query.properties
@@ -15,5 +15,8 @@
 # limitations under the License.
 #
 
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.shardingsphere.replication.primaryreplica.spring.boot.PrimaryReplicaReplicationRuleSpringbootConfiguration
+spring.shardingsphere.rules.replica-query.load-balancers.random.type=RANDOM
+
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.load-balancer-name=random
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/resources/logback-test.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/resources/logback-test.xml
similarity index 100%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-common/src/test/resources/logback-test.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-boot-starter/src/test/resources/logback-test.xml
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/pom.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/pom.xml
similarity index 88%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/pom.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/pom.xml
index 1303f49..40570b6 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/pom.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/pom.xml
@@ -22,16 +22,16 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-primary-replica-replication-spring</artifactId>
+        <artifactId>shardingsphere-replica-query-spring</artifactId>
         <version>5.0.0-RC1-SNAPSHOT</version>
     </parent>
-    <artifactId>shardingsphere-primary-replica-replication-spring-namespace</artifactId>
+    <artifactId>shardingsphere-replica-query-spring-namespace</artifactId>
     <name>${project.artifactId}</name>
     
     <dependencies>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-common</artifactId>
+            <artifactId>shardingsphere-replica-query-common</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/factorybean/ReplicaLoadBalanceAlgorithmFactoryBean.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/s [...]
similarity index 88%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/factorybean/ReplicaLoadBalanceAlgorithmFactoryBean.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/factorybean/ReplicaLoadBalanceAlgorithmFactoryBean.java
index dcefa8d..5da55a0 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/factorybean/ReplicaLoadBalanceAlgorithmFactoryBean.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/factorybean/ReplicaLoadBalanceAlgorithmFactoryBean.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.namespace.factorybean;
+package org.apache.shardingsphere.replicaquery.spring.namespace.factorybean;
 
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 import org.apache.shardingsphere.spring.namespace.factorybean.ShardingSphereAlgorithmFactoryBean;
 
 import java.util.Properties;
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/handler/PrimaryReplicaReplicationNamespaceHandler.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/sh [...]
similarity index 57%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/handler/PrimaryReplicaReplicationNamespaceHandler.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/handler/ReplicaQueryNamespaceHandler.java
index f23c72b..a4e1069 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/handler/PrimaryReplicaReplicationNamespaceHandler.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/handler/ReplicaQueryNamespaceHandler.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.namespace.handler;
+package org.apache.shardingsphere.replicaquery.spring.namespace.handler;
 
-import org.apache.shardingsphere.replication.primaryreplica.spring.namespace.factorybean.ReplicaLoadBalanceAlgorithmFactoryBean;
-import org.apache.shardingsphere.replication.primaryreplica.spring.namespace.parser.PrimaryReplicaReplicationRuleBeanDefinitionParser;
-import org.apache.shardingsphere.replication.primaryreplica.spring.namespace.tag.LoadBalanceAlgorithmBeanDefinitionTag;
-import org.apache.shardingsphere.replication.primaryreplica.spring.namespace.tag.PrimaryReplicaReplicationRuleBeanDefinitionTag;
+import org.apache.shardingsphere.replicaquery.spring.namespace.factorybean.ReplicaLoadBalanceAlgorithmFactoryBean;
+import org.apache.shardingsphere.replicaquery.spring.namespace.parser.ReplicaQueryRuleBeanDefinitionParser;
+import org.apache.shardingsphere.replicaquery.spring.namespace.tag.LoadBalanceAlgorithmBeanDefinitionTag;
+import org.apache.shardingsphere.replicaquery.spring.namespace.tag.ReplicaQueryRuleBeanDefinitionTag;
 import org.apache.shardingsphere.spring.namespace.parser.ShardingSphereAlgorithmBeanDefinitionParser;
 import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
 
 /**
- * Spring namespace handler for primary-replica-replication.
+ * Spring namespace handler for replica query.
  */
-public final class PrimaryReplicaReplicationNamespaceHandler extends NamespaceHandlerSupport {
+public final class ReplicaQueryNamespaceHandler extends NamespaceHandlerSupport {
     
     @Override
     public void init() {
-        registerBeanDefinitionParser(PrimaryReplicaReplicationRuleBeanDefinitionTag.ROOT_TAG, new PrimaryReplicaReplicationRuleBeanDefinitionParser());
+        registerBeanDefinitionParser(ReplicaQueryRuleBeanDefinitionTag.ROOT_TAG, new ReplicaQueryRuleBeanDefinitionParser());
         registerBeanDefinitionParser(LoadBalanceAlgorithmBeanDefinitionTag.ROOT_TAG, new ShardingSphereAlgorithmBeanDefinitionParser(ReplicaLoadBalanceAlgorithmFactoryBean.class));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/parser/PrimaryReplicaReplicationRuleBeanDefinitionParser.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/ap [...]
similarity index 56%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/parser/PrimaryReplicaReplicationRuleBeanDefinitionParser.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/parser/ReplicaQueryRuleBeanDefinitionParser.java
index 8e27610..e6c211e 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/parser/PrimaryReplicaReplicationRuleBeanDefinitionParser.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/parser/ReplicaQueryRuleBeanDefinitionParser.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.namespace.parser;
+package org.apache.shardingsphere.replicaquery.spring.namespace.parser;
 
 import com.google.common.base.Splitter;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.spring.namespace.factorybean.ReplicaLoadBalanceAlgorithmFactoryBean;
-import org.apache.shardingsphere.replication.primaryreplica.spring.namespace.tag.PrimaryReplicaReplicationRuleBeanDefinitionTag;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.spring.namespace.factorybean.ReplicaLoadBalanceAlgorithmFactoryBean;
+import org.apache.shardingsphere.replicaquery.spring.namespace.tag.ReplicaQueryRuleBeanDefinitionTag;
 import org.apache.shardingsphere.spring.namespace.registry.ShardingSphereAlgorithmBeanRegistry;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.beans.factory.support.AbstractBeanDefinition;
@@ -36,38 +36,38 @@ import java.util.Collection;
 import java.util.List;
 
 /**
- * Primary-replica replication rule bean definition parser.
+ * Replica query rule bean definition parser.
  */
-public final class PrimaryReplicaReplicationRuleBeanDefinitionParser extends AbstractBeanDefinitionParser {
+public final class ReplicaQueryRuleBeanDefinitionParser extends AbstractBeanDefinitionParser {
     
     @Override
     protected AbstractBeanDefinition parseInternal(final Element element, final ParserContext parserContext) {
-        BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration.class);
-        factory.addConstructorArgValue(parsePrimaryReplicaReplicationDataSourceRuleConfigurations(element));
+        BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(AlgorithmProvidedReplicaQueryRuleConfiguration.class);
+        factory.addConstructorArgValue(parseReplicaQueryDataSourceRuleConfigurations(element));
         factory.addConstructorArgValue(ShardingSphereAlgorithmBeanRegistry.getAlgorithmBeanReferences(parserContext, ReplicaLoadBalanceAlgorithmFactoryBean.class));
         return factory.getBeanDefinition();
     }
     
-    private List<BeanDefinition> parsePrimaryReplicaReplicationDataSourceRuleConfigurations(final Element element) {
-        List<Element> dataSourceElements = DomUtils.getChildElementsByTagName(element, PrimaryReplicaReplicationRuleBeanDefinitionTag.DATA_SOURCE_TAG);
+    private List<BeanDefinition> parseReplicaQueryDataSourceRuleConfigurations(final Element element) {
+        List<Element> dataSourceElements = DomUtils.getChildElementsByTagName(element, ReplicaQueryRuleBeanDefinitionTag.DATA_SOURCE_TAG);
         List<BeanDefinition> result = new ManagedList<>(dataSourceElements.size());
         for (Element each : dataSourceElements) {
-            result.add(parsePrimaryReplicaReplicationDataSourceRuleConfiguration(each));
+            result.add(parseReplicaQueryDataSourceRuleConfiguration(each));
         }
         return result;
     }
     
-    private BeanDefinition parsePrimaryReplicaReplicationDataSourceRuleConfiguration(final Element element) {
-        BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(PrimaryReplicaReplicationDataSourceRuleConfiguration.class);
-        factory.addConstructorArgValue(element.getAttribute(PrimaryReplicaReplicationRuleBeanDefinitionTag.PRIMARY_REPLICA_REPLICATION_DATA_SOURCE_ID_ATTRIBUTE));
-        factory.addConstructorArgValue(element.getAttribute(PrimaryReplicaReplicationRuleBeanDefinitionTag.PRIMARY_DATA_SOURCE_NAME_ATTRIBUTE));
+    private BeanDefinition parseReplicaQueryDataSourceRuleConfiguration(final Element element) {
+        BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(ReplicaQueryDataSourceRuleConfiguration.class);
+        factory.addConstructorArgValue(element.getAttribute(ReplicaQueryRuleBeanDefinitionTag.REPLICA_QUERY_DATA_SOURCE_ID_ATTRIBUTE));
+        factory.addConstructorArgValue(element.getAttribute(ReplicaQueryRuleBeanDefinitionTag.PRIMARY_DATA_SOURCE_NAME_ATTRIBUTE));
         factory.addConstructorArgValue(parseReplicaDataSourcesRef(element));
-        factory.addConstructorArgValue(element.getAttribute(PrimaryReplicaReplicationRuleBeanDefinitionTag.LOAD_BALANCE_ALGORITHM_REF_ATTRIBUTE));
+        factory.addConstructorArgValue(element.getAttribute(ReplicaQueryRuleBeanDefinitionTag.LOAD_BALANCE_ALGORITHM_REF_ATTRIBUTE));
         return factory.getBeanDefinition();
     }
     
     private Collection<String> parseReplicaDataSourcesRef(final Element element) {
-        List<String> replicaDataSources = Splitter.on(",").trimResults().splitToList(element.getAttribute(PrimaryReplicaReplicationRuleBeanDefinitionTag.REPLICA_DATA_SOURCE_NAMES_ATTRIBUTE));
+        List<String> replicaDataSources = Splitter.on(",").trimResults().splitToList(element.getAttribute(ReplicaQueryRuleBeanDefinitionTag.REPLICA_DATA_SOURCE_NAMES_ATTRIBUTE));
         Collection<String> result = new ManagedList<>(replicaDataSources.size());
         result.addAll(replicaDataSources);
         return result;
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsp [...]
similarity index 93%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java
index 4272ad4..43b057f 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.namespace.tag;
+package org.apache.shardingsphere.replicaquery.spring.namespace.tag;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/tag/PrimaryReplicaReplicationRuleBeanDefinitionTag.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/s [...]
similarity index 82%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/tag/PrimaryReplicaReplicationRuleBeanDefinitionTag.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/tag/ReplicaQueryRuleBeanDefinitionTag.java
index bb1e4ac..cfea6b5 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/tag/PrimaryReplicaReplicationRuleBeanDefinitionTag.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/java/org/apache/shardingsphere/replicaquery/spring/namespace/tag/ReplicaQueryRuleBeanDefinitionTag.java
@@ -15,22 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.namespace.tag;
+package org.apache.shardingsphere.replicaquery.spring.namespace.tag;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 
 /**
- * Primary-replica replication rule bean definition tag.
+ * Replica query rule bean definition tag.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class PrimaryReplicaReplicationRuleBeanDefinitionTag {
+public final class ReplicaQueryRuleBeanDefinitionTag {
     
     public static final String ROOT_TAG = "rule";
     
     public static final String DATA_SOURCE_TAG = "data-source-rule";
     
-    public static final String PRIMARY_REPLICA_REPLICATION_DATA_SOURCE_ID_ATTRIBUTE = "id";
+    public static final String REPLICA_QUERY_DATA_SOURCE_ID_ATTRIBUTE = "id";
     
     public static final String PRIMARY_DATA_SOURCE_NAME_ATTRIBUTE = "primary-data-source-name";
     
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/namespace/primary-replica-replication.xsd b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/namespace/replica-query.xsd
similarity index 96%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/namespace/primary-replica-replication.xsd
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/namespace/replica-query.xsd
index 79dce2f..9ae4912 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/main/resources/META-INF/namespace/primary-replica-replication.xsd
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/namespace/replica-query.xsd
@@ -16,10 +16,10 @@
   ~ limitations under the License.
   -->
 
-<xsd:schema xmlns="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+<xsd:schema xmlns="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:beans="http://www.springframework.org/schema/beans"
-            targetNamespace="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+            targetNamespace="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
             elementFormDefault="qualified">
     <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd" />
     
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/spring.handlers
similarity index 82%
copy from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
copy to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/spring.handlers
index e5c2546..ddd3ccd 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/spring.handlers
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.replication.primaryreplica.route.engine.PrimaryReplicaReplicationSQLRouter
+http\://shardingsphere.apache.org/schema/shardingsphere/replica-query=org.apache.shardingsphere.replicaquery.spring.namespace.handler.ReplicaQueryNamespaceHandler
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/spring.schemas
similarity index 86%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/spring.schemas
index e5c2546..04d52b3 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-route/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.route.SQLRouter
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/main/resources/META-INF/spring.schemas
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.replication.primaryreplica.route.engine.PrimaryReplicaReplicationSQLRouter
+http\://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd=META-INF/namespace/replica-query.xsd
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/PrimaryReplicaReplicationSpringNamespaceTest.java b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/java/org/apache/shardin [...]
similarity index 71%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/PrimaryReplicaReplicationSpringNamespaceTest.java
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/java/org/apache/shardingsphere/replicaquery/spring/namespace/ReplicaQuerySpringNamespaceTest.java
index 83fa3ca..364ddce 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/java/org/apache/shardingsphere/replication/primaryreplica/spring/namespace/PrimaryReplicaReplicationSpringNamespaceTest.java
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/java/org/apache/shardingsphere/replicaquery/spring/namespace/ReplicaQuerySpringNamespaceTest.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.replication.primaryreplica.spring.namespace;
+package org.apache.shardingsphere.replicaquery.spring.namespace;
 
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RandomReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.RandomReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 import org.junit.Test;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
@@ -33,17 +33,17 @@ import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
-@ContextConfiguration(locations = "classpath:META-INF/spring/primary-replica-replication-application-context.xml")
-public final class PrimaryReplicaReplicationSpringNamespaceTest extends AbstractJUnit4SpringContextTests {
+@ContextConfiguration(locations = "classpath:META-INF/spring/replica-query-application-context.xml")
+public final class ReplicaQuerySpringNamespaceTest extends AbstractJUnit4SpringContextTests {
     
     @Resource
     private ReplicaLoadBalanceAlgorithm randomLoadbalancer;
     
     @Resource
-    private AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration defaultRule;
+    private AlgorithmProvidedReplicaQueryRuleConfiguration defaultRule;
     
     @Resource
-    private AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration randomRule;
+    private AlgorithmProvidedReplicaQueryRuleConfiguration randomRule;
     
     @Test
     public void assertRandomLoadbalancer() {
@@ -62,7 +62,7 @@ public final class PrimaryReplicaReplicationSpringNamespaceTest extends Abstract
         assertThat(loadBalances.get("randomLoadbalancer"), instanceOf(RandomReplicaLoadBalanceAlgorithm.class));
     }
     
-    private void assertDefaultDataSourceRule(final PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceRuleConfig) {
+    private void assertDefaultDataSourceRule(final ReplicaQueryDataSourceRuleConfiguration dataSourceRuleConfig) {
         assertThat(dataSourceRuleConfig.getName(), is("default_ds"));
         assertThat(dataSourceRuleConfig.getPrimaryDataSourceName(), is("primary_ds"));
         assertThat(dataSourceRuleConfig.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
@@ -76,7 +76,7 @@ public final class PrimaryReplicaReplicationSpringNamespaceTest extends Abstract
         assertRandomDataSourceRule(randomRule.getDataSources().iterator().next());
     }
     
-    private void assertRandomDataSourceRule(final PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceRuleConfig) {
+    private void assertRandomDataSourceRule(final ReplicaQueryDataSourceRuleConfiguration dataSourceRuleConfig) {
         assertThat(dataSourceRuleConfig.getName(), is("random_ds"));
         assertThat(dataSourceRuleConfig.getPrimaryDataSourceName(), is("primary_ds"));
         assertThat(dataSourceRuleConfig.getReplicaDataSourceNames(), is(Arrays.asList("replica_ds_0", "replica_ds_1")));
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/resources/META-INF/spring/primary-replica-replication-application-context.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/resources/META-INF/spring/replica-query-application-context.xml
similarity index 58%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/resources/META-INF/spring/primary-replica-replication-application-context.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/resources/META-INF/spring/replica-query-application-context.xml
index 339a6df..340223a 100644
--- a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/resources/META-INF/spring/primary-replica-replication-application-context.xml
+++ b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/resources/META-INF/spring/replica-query-application-context.xml
@@ -18,19 +18,19 @@
 
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd 
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            ">
-    <primary-replica-replication:load-balance-algorithm id="randomLoadbalancer" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomLoadbalancer" type="RANDOM" />
     
-    <primary-replica-replication:rule id="defaultRule">
-        <primary-replica-replication:data-source-rule id="default_ds" primary-data-source-name="primary_ds" replica-data-source-names="replica_ds_0, replica_ds_1" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="defaultRule">
+        <replica-query:data-source-rule id="default_ds" primary-data-source-name="primary_ds" replica-data-source-names="replica_ds_0, replica_ds_1" />
+    </replica-query:rule>
     
-    <primary-replica-replication:rule id="randomRule">
-        <primary-replica-replication:data-source-rule id="random_ds" primary-data-source-name="primary_ds" replica-data-source-names="replica_ds_0, replica_ds_1" load-balance-algorithm-ref="randomLoadbalancer" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="randomRule">
+        <replica-query:data-source-rule id="random_ds" primary-data-source-name="primary_ds" replica-data-source-names="replica_ds_0, replica_ds_1" load-balance-algorithm-ref="randomLoadbalancer" />
+    </replica-query:rule>
 </beans>
diff --git a/shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/resources/logback-test.xml b/shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/resources/logback-test.xml
similarity index 100%
rename from shardingsphere-features/shardingsphere-primary-replica-replication/shardingsphere-primary-replica-replication-spring/shardingsphere-primary-replica-replication-spring-namespace/src/test/resources/logback-test.xml
rename to shardingsphere-features/shardingsphere-replica-query/shardingsphere-replica-query-spring/shardingsphere-replica-query-spring-namespace/src/test/resources/logback-test.xml
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/pom.xml b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/pom.xml
index f691a91..9eeda18 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/pom.xml
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/pom.xml
@@ -39,7 +39,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-common</artifactId>
+            <artifactId>shardingsphere-replica-query-common</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/ConfigCenter.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/ConfigCenter.java
index e561c2c..f928e56 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/ConfigCenter.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/ConfigCenter.java
@@ -44,9 +44,9 @@ import org.apache.shardingsphere.infra.metadata.model.logic.LogicSchemaMetaData;
 import org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations;
 import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.config.AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.algorithm.config.AlgorithmProvidedReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
 import org.apache.shardingsphere.sharding.algorithm.config.AlgorithmProvidedShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -179,16 +179,16 @@ public final class ConfigCenter {
                 Preconditions.checkState(hasAvailableTableConfigurations(config),
                         "No available rule configs in `%s` for governance.", schemaName);
                 configs.add(each);
-            } else if (each instanceof AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration) {
-                AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration config = (AlgorithmProvidedPrimaryReplicaReplicationRuleConfiguration) each;
+            } else if (each instanceof AlgorithmProvidedReplicaQueryRuleConfiguration) {
+                AlgorithmProvidedReplicaQueryRuleConfiguration config = (AlgorithmProvidedReplicaQueryRuleConfiguration) each;
                 checkDataSources(schemaName, config.getDataSources());
                 configs.add(each);
             } else if (each instanceof AlgorithmProvidedEncryptRuleConfiguration) {
                 AlgorithmProvidedEncryptRuleConfiguration config = (AlgorithmProvidedEncryptRuleConfiguration) each;
                 Preconditions.checkState(!config.getEncryptors().isEmpty(), "No available encrypt rule configuration in `%s` for governance.", schemaName);
                 configs.add(each);
-            } else if (each instanceof PrimaryReplicaReplicationRuleConfiguration) {
-                PrimaryReplicaReplicationRuleConfiguration config = (PrimaryReplicaReplicationRuleConfiguration) each;
+            } else if (each instanceof ReplicaQueryRuleConfiguration) {
+                ReplicaQueryRuleConfiguration config = (ReplicaQueryRuleConfiguration) each;
                 checkDataSources(schemaName, config.getDataSources());
                 configs.add(each);
             } else if (each instanceof EncryptRuleConfiguration) {
@@ -207,9 +207,9 @@ public final class ConfigCenter {
         repository.persist(node.getRulePath(schemaName), YamlEngine.marshal(yamlRuleConfigs));
     }
     
-    private void checkDataSources(final String schemaName, final Collection<PrimaryReplicaReplicationDataSourceRuleConfiguration> dataSources) {
+    private void checkDataSources(final String schemaName, final Collection<ReplicaQueryDataSourceRuleConfiguration> dataSources) {
         dataSources.forEach(each -> Preconditions.checkState(
-                !each.getPrimaryDataSourceName().isEmpty(), "No available primary-replica-replication rule configuration in `%s` for governance.", schemaName));
+                !each.getPrimaryDataSourceName().isEmpty(), "No available replica-query rule configuration in `%s` for governance.", schemaName));
     }
     
     private boolean hasAvailableTableConfigurations(final ShardingRuleConfiguration config) {
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java
index e3bb71d..7405f25 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java
@@ -38,7 +38,7 @@ import org.apache.shardingsphere.infra.metadata.model.logic.LogicSchemaMetaData;
 import org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations;
 import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.junit.Test;
@@ -82,7 +82,7 @@ public final class ConfigCenterTest {
     
     private static final String SHARDING_AND_ENCRYPT_RULE_YAML = "yaml/configCenter/data-sharding-encrypt-rule.yaml";
     
-    private static final String PRIMARY_REPLICA_REPLICATION_RULE_YAML = "yaml/configCenter/data-primary-replica-replication-rule.yaml";
+    private static final String REPLICA_QUERY_RULE_YAML = "yaml/configCenter/data-replica-query-rule.yaml";
     
     private static final String ENCRYPT_RULE_YAML = "yaml/configCenter/data-encrypt-rule.yaml";
     
@@ -138,27 +138,27 @@ public final class ConfigCenterTest {
     }
     
     @Test
-    public void assertPersistConfigurationForPrimaryReplicaReplicationRuleWithoutAuthenticationAndIsNotOverwriteAndConfigurationIsExisted() {
+    public void assertPersistConfigurationForReplicaQueryRuleWithoutAuthenticationAndIsNotOverwriteAndConfigurationIsExisted() {
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
-        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createPrimaryReplicaReplicationRuleConfiguration(), false);
+        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createReplicaQueryRuleConfiguration(), false);
         verify(configurationRepository).persist(eq("/schemas/sharding_db/datasource"), ArgumentMatchers.any());
         verify(configurationRepository).persist(eq("/schemas/sharding_db/rule"), ArgumentMatchers.any());
     }
     
     @Test
-    public void assertPersistConfigurationForPrimaryReplicaReplicationRuleWithoutAuthenticationAndIsNotOverwriteAndConfigurationIsNotExisted() {
+    public void assertPersistConfigurationForReplicaQueryRuleWithoutAuthenticationAndIsNotOverwriteAndConfigurationIsNotExisted() {
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
-        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createPrimaryReplicaReplicationRuleConfiguration(), false);
+        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createReplicaQueryRuleConfiguration(), false);
         verify(configurationRepository).persist(eq("/schemas/sharding_db/datasource"), ArgumentMatchers.any());
         verify(configurationRepository).persist(eq("/schemas/sharding_db/rule"), ArgumentMatchers.any());
     }
     
     @Test
-    public void assertPersistConfigurationForPrimaryReplicaReplicationRuleWithoutAuthenticationAndIsOverwrite() {
+    public void assertPersistConfigurationForReplicaQueryRuleWithoutAuthenticationAndIsOverwrite() {
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
-        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createPrimaryReplicaReplicationRuleConfiguration(), true);
+        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createReplicaQueryRuleConfiguration(), true);
         verify(configurationRepository).persist(eq("/schemas/sharding_db/datasource"), ArgumentMatchers.any());
-        verify(configurationRepository, times(0)).persist("/schemas/sharding_db/rule", readYAML(PRIMARY_REPLICA_REPLICATION_RULE_YAML));
+        verify(configurationRepository, times(0)).persist("/schemas/sharding_db/rule", readYAML(REPLICA_QUERY_RULE_YAML));
     }
     
     @Test
@@ -186,27 +186,27 @@ public final class ConfigCenterTest {
     }
     
     @Test
-    public void assertPersistConfigurationForPrimaryReplicaReplicationRuleWithAuthenticationAndIsNotOverwriteAndConfigurationIsExisted() {
+    public void assertPersistConfigurationForReplicaQueryRuleWithAuthenticationAndIsNotOverwriteAndConfigurationIsExisted() {
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
-        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createPrimaryReplicaReplicationRuleConfiguration(), false);
+        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createReplicaQueryRuleConfiguration(), false);
         verify(configurationRepository).persist(eq("/schemas/sharding_db/datasource"), ArgumentMatchers.any());
         verify(configurationRepository).persist(eq("/schemas/sharding_db/rule"), ArgumentMatchers.any());
     }
     
     @Test
-    public void assertPersistConfigurationForPrimaryReplicaReplicationRuleWithAuthenticationAndIsNotOverwriteAndConfigurationIsNotExisted() {
+    public void assertPersistConfigurationForReplicaQueryRuleWithAuthenticationAndIsNotOverwriteAndConfigurationIsNotExisted() {
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
-        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createPrimaryReplicaReplicationRuleConfiguration(), false);
+        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createReplicaQueryRuleConfiguration(), false);
         verify(configurationRepository).persist(eq("/schemas/sharding_db/datasource"), ArgumentMatchers.any());
         verify(configurationRepository).persist(eq("/schemas/sharding_db/rule"), ArgumentMatchers.any());
     }
     
     @Test
-    public void assertPersistConfigurationForPrimaryReplicaReplicationRuleWithAuthenticationAndIsOverwrite() {
+    public void assertPersistConfigurationForReplicaQueryRuleWithAuthenticationAndIsOverwrite() {
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
-        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createPrimaryReplicaReplicationRuleConfiguration(), true);
+        configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createReplicaQueryRuleConfiguration(), true);
         verify(configurationRepository).persist(eq("/schemas/sharding_db/datasource"), ArgumentMatchers.any());
-        verify(configurationRepository, times(0)).persist("/schemas/sharding_db/rule", readYAML(PRIMARY_REPLICA_REPLICATION_RULE_YAML));
+        verify(configurationRepository, times(0)).persist("/schemas/sharding_db/rule", readYAML(REPLICA_QUERY_RULE_YAML));
     }
     
     @Test
@@ -268,8 +268,8 @@ public final class ConfigCenterTest {
         return new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(readYAML(SHARDING_RULE_YAML), YamlRootRuleConfigurations.class).getRules());
     }
     
-    private Collection<RuleConfiguration> createPrimaryReplicaReplicationRuleConfiguration() {
-        return new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(readYAML(PRIMARY_REPLICA_REPLICATION_RULE_YAML), YamlRootRuleConfigurations.class).getRules());
+    private Collection<RuleConfiguration> createReplicaQueryRuleConfiguration() {
+        return new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(readYAML(REPLICA_QUERY_RULE_YAML), YamlRootRuleConfigurations.class).getRules());
     }
     
     private Collection<RuleConfiguration> createEncryptRuleConfiguration() {
@@ -348,11 +348,11 @@ public final class ConfigCenterTest {
     }
     
     @Test
-    public void assertLoadPrimaryReplicaReplicationRuleConfiguration() {
-        when(configurationRepository.get("/schemas/sharding_db/rule")).thenReturn(readYAML(PRIMARY_REPLICA_REPLICATION_RULE_YAML));
+    public void assertLoadReplicaQueryRuleConfiguration() {
+        when(configurationRepository.get("/schemas/sharding_db/rule")).thenReturn(readYAML(REPLICA_QUERY_RULE_YAML));
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
         Collection<RuleConfiguration> actual = configCenter.loadRuleConfigurations("sharding_db");
-        PrimaryReplicaReplicationRuleConfiguration config = (PrimaryReplicaReplicationRuleConfiguration) actual.iterator().next();
+        ReplicaQueryRuleConfiguration config = (ReplicaQueryRuleConfiguration) actual.iterator().next();
         assertThat(config.getDataSources().size(), is(1));
         assertThat(config.getDataSources().iterator().next().getPrimaryDataSourceName(), is("primary_ds"));
         assertThat(config.getDataSources().iterator().next().getReplicaDataSourceNames().size(), is(2));
@@ -398,12 +398,12 @@ public final class ConfigCenterTest {
     
     @Test
     public void assertGetAllSchemaNames() {
-        when(configurationRepository.get("/schemas")).thenReturn("sharding_db,primary_replica_replication_db");
+        when(configurationRepository.get("/schemas")).thenReturn("sharding_db,replica_query_db");
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
         Collection<String> actual = configCenter.getAllSchemaNames();
         assertThat(actual.size(), is(2));
         assertThat(actual, hasItems("sharding_db"));
-        assertThat(actual, hasItems("primary_replica_replication_db"));
+        assertThat(actual, hasItems("replica_query_db"));
     }
     
     @Test
@@ -451,9 +451,9 @@ public final class ConfigCenterTest {
     @Test
     public void assertPersistSchemaNameWithExistAndNewSchema() {
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
-        when(configurationRepository.get("/schemas")).thenReturn("primary_replica_db");
+        when(configurationRepository.get("/schemas")).thenReturn("replica_query_db");
         configCenter.persistConfigurations("sharding_db", createDataSourceConfigurations(), createRuleConfigurations(), true);
-        verify(configurationRepository).persist(eq("/schemas"), eq("primary_replica_db,sharding_db"));
+        verify(configurationRepository).persist(eq("/schemas"), eq("replica_query_db,sharding_db"));
     }
     
     @Test
@@ -475,28 +475,28 @@ public final class ConfigCenterTest {
     @Test
     public void assertRenewSchemaNameEventWithDrop() {
         SchemaNamePersistEvent event = new SchemaNamePersistEvent("sharding_db", true);
-        when(configurationRepository.get("/schemas")).thenReturn("sharding_db,primary_replica_db");
+        when(configurationRepository.get("/schemas")).thenReturn("sharding_db,replica_query_db");
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
         configCenter.renew(event);
-        verify(configurationRepository).persist(eq("/schemas"), eq("primary_replica_db"));
+        verify(configurationRepository).persist(eq("/schemas"), eq("replica_query_db"));
     }
     
     @Test
     public void assertRenewSchemaNameEventWithAdd() {
         SchemaNamePersistEvent event = new SchemaNamePersistEvent("sharding_db", false);
-        when(configurationRepository.get("/schemas")).thenReturn("primary_replica_db");
+        when(configurationRepository.get("/schemas")).thenReturn("replica_query_db");
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
         configCenter.renew(event);
-        verify(configurationRepository).persist(eq("/schemas"), eq("primary_replica_db,sharding_db"));
+        verify(configurationRepository).persist(eq("/schemas"), eq("replica_query_db,sharding_db"));
     }
     
     @Test
     public void assertRenewSchemaNameEventWithAddAndExist() {
         SchemaNamePersistEvent event = new SchemaNamePersistEvent("sharding_db", false);
-        when(configurationRepository.get("/schemas")).thenReturn("sharding_db,primary_replica_db");
+        when(configurationRepository.get("/schemas")).thenReturn("sharding_db,replica_query_db");
         ConfigCenter configCenter = new ConfigCenter(configurationRepository);
         configCenter.renew(event);
-        verify(configurationRepository).persist(eq("/schemas"), eq("sharding_db,primary_replica_db"));
+        verify(configurationRepository).persist(eq("/schemas"), eq("sharding_db,replica_query_db"));
     }
     
     @Test
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManagerTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManagerTest.java
index 03566ef..62dca6c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManagerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManagerTest.java
@@ -47,7 +47,7 @@ public final class ConfigurationListenerManagerTest {
     
     @Test
     public void assertInitListeners() {
-        ConfigurationListenerManager actual = new ConfigurationListenerManager(configurationRepository, Arrays.asList("sharding_db", "primary_replica_replication_db"));
+        ConfigurationListenerManager actual = new ConfigurationListenerManager(configurationRepository, Arrays.asList("sharding_db", "replica_query_db"));
         setField(actual, "schemaChangedListener", schemaChangedListener);
         setField(actual, "propertiesChangedListener", propertiesChangedListener);
         setField(actual, "authenticationChangedListener", authenticationChangedListener);
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListenerTest.java
index 885dbda..ffd4350 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListenerTest.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.governance.repository.api.listener.DataChangedE
 import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.ChangedType;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.junit.Before;
 import org.junit.Test;
@@ -60,7 +60,7 @@ public final class SchemaChangedListenerTest {
     
     private static final String SHARDING_RULE_FILE = "yaml/sharding-rule.yaml";
     
-    private static final String PRIMARY_REPLICA_REPLICATION_RULE_FILE = "yaml/primary-replica-replication-rule.yaml";
+    private static final String REPLICA_QUERY_RULE_FILE = "yaml/replica-query-rule.yaml";
     
     private static final String ENCRYPT_RULE_FILE = "yaml/encrypt-rule.yaml";
     
@@ -73,7 +73,7 @@ public final class SchemaChangedListenerTest {
     
     @Before
     public void setUp() {
-        schemaChangedListener = new SchemaChangedListener(configurationRepository, Arrays.asList("sharding_db", "primary_replica_replication_db", "encrypt_db"));
+        schemaChangedListener = new SchemaChangedListener(configurationRepository, Arrays.asList("sharding_db", "replica_query_db", "encrypt_db"));
     }
     
     @Test
@@ -105,15 +105,15 @@ public final class SchemaChangedListenerTest {
     }
     
     @Test
-    public void assertCreatePrimaryReplicaReplicationRuleChangedEventForExistedSchema() {
-        String rule = readYAML(PRIMARY_REPLICA_REPLICATION_RULE_FILE);
-        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas/primary_replica_replication_db/rule", rule, ChangedType.UPDATED);
+    public void assertCreateReplicaQueryRuleChangedEventForExistedSchema() {
+        String rule = readYAML(REPLICA_QUERY_RULE_FILE);
+        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas/replica_query_db/rule", rule, ChangedType.UPDATED);
         Optional<GovernanceEvent> actual = schemaChangedListener.createGovernanceEvent(dataChangedEvent);
         assertTrue(actual.isPresent());
         RuleConfigurationsChangedEvent event = (RuleConfigurationsChangedEvent) actual.get();
-        assertThat(event.getSchemaName(), is("primary_replica_replication_db"));
-        assertThat(event.getRuleConfigurations().iterator().next(), instanceOf(PrimaryReplicaReplicationRuleConfiguration.class));
-        PrimaryReplicaReplicationRuleConfiguration ruleConfig = (PrimaryReplicaReplicationRuleConfiguration) event.getRuleConfigurations().iterator().next();
+        assertThat(event.getSchemaName(), is("replica_query_db"));
+        assertThat(event.getRuleConfigurations().iterator().next(), instanceOf(ReplicaQueryRuleConfiguration.class));
+        ReplicaQueryRuleConfiguration ruleConfig = (ReplicaQueryRuleConfiguration) event.getRuleConfigurations().iterator().next();
         assertThat(ruleConfig.getDataSources().iterator().next().getPrimaryDataSourceName(), is("primary_ds"));
     }
     
@@ -151,7 +151,7 @@ public final class SchemaChangedListenerTest {
     }
     
     @Test
-    public void assertCreatePrimaryReplicaReplicationSchemaAddedEventForNewSchema() {
+    public void assertCreateReplicaQuerySchemaAddedEventForNewSchema() {
         String dataSource = readYAML(DATA_SOURCE_FILE);
         DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas/logic_db/datasource", dataSource, ChangedType.UPDATED);
         Optional<GovernanceEvent> actual = schemaChangedListener.createGovernanceEvent(dataChangedEvent);
@@ -214,8 +214,8 @@ public final class SchemaChangedListenerTest {
     }
     
     @Test
-    public void assertCreateAddedEventWithPrimaryReplicaReplicationRuleConfigurationForNewSchema() {
-        String rule = readYAML(PRIMARY_REPLICA_REPLICATION_RULE_FILE);
+    public void assertCreateAddedEventWithReplicaQueryRuleConfigurationForNewSchema() {
+        String rule = readYAML(REPLICA_QUERY_RULE_FILE);
         DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas/logic_db/rule", rule, ChangedType.UPDATED);
         Optional<GovernanceEvent> actual = schemaChangedListener.createGovernanceEvent(dataChangedEvent);
         assertTrue(actual.isPresent());
@@ -224,7 +224,7 @@ public final class SchemaChangedListenerTest {
     
     @Test
     public void assertCreateSchemaNamesUpdatedEventForAdd() {
-        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas", "sharding_db,primary_replica_replication_db,encrypt_db,shadow_db", ChangedType.UPDATED);
+        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas", "sharding_db,replica_query_db,encrypt_db,shadow_db", ChangedType.UPDATED);
         Optional<GovernanceEvent> actual = schemaChangedListener.createGovernanceEvent(dataChangedEvent);
         assertTrue(actual.isPresent());
         assertThat(((SchemaAddedEvent) actual.get()).getSchemaName(), is("shadow_db"));
@@ -232,7 +232,7 @@ public final class SchemaChangedListenerTest {
     
     @Test
     public void assertCreateSchemaNamesUpdatedEventForDelete() {
-        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas", "sharding_db,primary_replica_replication_db", ChangedType.UPDATED);
+        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas", "sharding_db,replica_query_db", ChangedType.UPDATED);
         Optional<GovernanceEvent> actual = schemaChangedListener.createGovernanceEvent(dataChangedEvent);
         assertTrue(actual.isPresent());
         assertThat(((SchemaDeletedEvent) actual.get()).getSchemaName(), is("encrypt_db"));
@@ -240,7 +240,7 @@ public final class SchemaChangedListenerTest {
     
     @Test
     public void assertCreateSchemaNamesUpdatedEventForIgnore() {
-        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas", "sharding_db,primary_replica_replication_db,encrypt_db", ChangedType.UPDATED);
+        DataChangedEvent dataChangedEvent = new DataChangedEvent("/schemas", "sharding_db,replica_query_db,encrypt_db", ChangedType.UPDATED);
         assertFalse(schemaChangedListener.createGovernanceEvent(dataChangedEvent).isPresent());
     }
     
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/configCenter/data-primary-replica-replication-rule.yaml b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/configCenter/data-replica-query-rule.yaml
similarity index 96%
rename from shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/configCenter/data-primary-replica-replication-rule.yaml
rename to shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/configCenter/data-replica-query-rule.yaml
index 544ed18..40a0440 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/configCenter/data-primary-replica-replication-rule.yaml
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/configCenter/data-replica-query-rule.yaml
@@ -16,7 +16,7 @@
 #
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       primaryDataSourceName: primary_ds
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/primary-replica-replication-rule.yaml b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/replica-query-rule.yaml
similarity index 96%
rename from shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/primary-replica-replication-rule.yaml
rename to shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/replica-query-rule.yaml
index 544ed18..40a0440 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/primary-replica-replication-rule.yaml
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/resources/yaml/replica-query-rule.yaml
@@ -16,7 +16,7 @@
 #
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       primaryDataSourceName: primary_ds
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
index fd0aaea..0d008e7 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
@@ -43,7 +43,7 @@ import org.apache.shardingsphere.infra.metadata.model.logic.LogicSchemaMetaData;
 import org.apache.shardingsphere.infra.rule.event.RuleChangedEvent;
 import org.apache.shardingsphere.infra.schema.ShardingSphereSchema;
 import org.apache.shardingsphere.jdbc.test.MockedDataSource;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -94,7 +94,7 @@ public final class GovernanceSchemaContextsTest {
     private ShardingSphereSchema schema;
     
     @Mock
-    private PrimaryReplicaReplicationRule primaryReplicaReplicationRule;
+    private ReplicaQueryRule replicaQueryRule;
     
     private GovernanceSchemaContexts governanceSchemaContexts;
     
@@ -111,7 +111,7 @@ public final class GovernanceSchemaContextsTest {
     private Map<String, ShardingSphereSchema> createSchemas() {
         when(schema.getName()).thenReturn("schema");
         when(schema.getMetaData()).thenReturn(mock(ShardingSphereMetaData.class));
-        when(schema.getRules()).thenReturn(Collections.singletonList(primaryReplicaReplicationRule));
+        when(schema.getRules()).thenReturn(Collections.singletonList(replicaQueryRule));
         return Collections.singletonMap("schema", schema);
     }
     
@@ -214,7 +214,7 @@ public final class GovernanceSchemaContextsTest {
     public void assertDisableStateChanged() {
         DisabledStateChangedEvent event = new DisabledStateChangedEvent(new GovernanceSchema("schema.ds_0"), true);
         governanceSchemaContexts.renew(event);
-        verify(primaryReplicaReplicationRule, times(2)).updateRuleStatus(any(RuleChangedEvent.class));
+        verify(replicaQueryRule, times(2)).updateRuleStatus(any(RuleChangedEvent.class));
     }
     
     @Test
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
index 68d1751..076ece6 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-facade/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
@@ -63,7 +63,7 @@ public final class GovernanceFacadeTest {
     @Before
     public void setUp() {
         GovernanceConfiguration governanceConfig = new GovernanceConfiguration("test_name", new GovernanceCenterConfiguration("ALL", "127.0.0.1", new Properties()), false);
-        governanceFacade.init(governanceConfig, Arrays.asList("sharding_db", "primary_replica_replication_db"));
+        governanceFacade.init(governanceConfig, Arrays.asList("sharding_db", "replica_query_db"));
         FieldUtil.setField(governanceFacade, "repositoryFacade", repositoryFacade);
         FieldUtil.setField(governanceFacade, "configCenter", configCenter);
         FieldUtil.setField(governanceFacade, "registryCenter", registryCenter);
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java
index 9a9de11..4237a2b 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterNodeTest.java
@@ -42,24 +42,24 @@ public final class RegistryCenterNodeTest {
     
     @Test
     public void assertGetGovernanceSchema() {
-        assertThat(registryCenterNode.getGovernanceSchema("/states/datanodes/primary_replica_db/replica_ds_0").get().getSchemaName(), is("primary_replica_db"));
+        assertThat(registryCenterNode.getGovernanceSchema("/states/datanodes/replica_query_db/replica_ds_0").get().getSchemaName(), is("replica_query_db"));
     }
     
     @Test
     public void assertGetSchemaPath() {
-        assertThat(registryCenterNode.getSchemaPath("primary_replica_db"), is("/states/datanodes/primary_replica_db"));
+        assertThat(registryCenterNode.getSchemaPath("replica_query_db"), is("/states/datanodes/replica_query_db"));
     }
     
     @Test
     public void assertGetDataSourcePath() {
-        assertThat(registryCenterNode.getDataSourcePath("primary_replica_db", "replica_ds_0"), is("/states/datanodes/primary_replica_db/replica_ds_0"));
+        assertThat(registryCenterNode.getDataSourcePath("replica_query_db", "replica_ds_0"), is("/states/datanodes/replica_query_db/replica_ds_0"));
     }
     
     @Test
     public void assertGetAllSchemaPaths() {
-        Collection<String> schemaPaths = registryCenterNode.getAllSchemaPaths(Arrays.asList("primary_replica_db", "sharding_db"));
+        Collection<String> schemaPaths = registryCenterNode.getAllSchemaPaths(Arrays.asList("replica_query_db", "sharding_db"));
         assertThat(schemaPaths.size(), is(2));
-        assertThat(schemaPaths, hasItem("/states/datanodes/primary_replica_db"));
+        assertThat(schemaPaths, hasItem("/states/datanodes/replica_query_db"));
         assertThat(schemaPaths, hasItem("/states/datanodes/sharding_db"));
     }
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
index 268af7d..ce9aa65 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
@@ -76,7 +76,7 @@ public final class RegistryCenterTest {
     public void assertLoadDisabledDataSources() {
         List<String> disabledDataSources = Collections.singletonList("replica_ds_0");
         when(registryRepository.getChildrenKeys(anyString())).thenReturn(disabledDataSources);
-        registryCenter.loadDisabledDataSources("primary_replica_db");
+        registryCenter.loadDisabledDataSources("replica_query_db");
         verify(registryRepository).getChildrenKeys(anyString());
         verify(registryRepository).get(anyString());
     }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
index a9597d9..1574049 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
@@ -46,14 +46,14 @@ public final class DataSourceStateChangedListenerTest {
     
     @Before
     public void setUp() {
-        dataSourceStateChangedListener = new DataSourceStateChangedListener(registryRepository, Arrays.asList("sharding_db", "primary_replica_replication_db", "encrypt_db"));
+        dataSourceStateChangedListener = new DataSourceStateChangedListener(registryRepository, Arrays.asList("sharding_db", "replica_query_db", "encrypt_db"));
     }
     
     @Test
     public void assertCreateGovernanceEvent() {
         Optional<GovernanceEvent> actual = dataSourceStateChangedListener.createGovernanceEvent(
-                new DataChangedEvent("/states/datanodes/primary_replica_db/replica_ds_0", "disabled", ChangedType.UPDATED));
+                new DataChangedEvent("/states/datanodes/replica_query_db/replica_ds_0", "disabled", ChangedType.UPDATED));
         assertTrue(actual.isPresent());
-        assertThat(((DisabledStateChangedEvent) actual.get()).getGovernanceSchema().getSchemaName(), is(new GovernanceSchema("primary_replica_db", "replica_ds_0").getSchemaName()));
+        assertThat(((DisabledStateChangedEvent) actual.get()).getGovernanceSchema().getSchemaName(), is(new GovernanceSchema("replica_query_db", "replica_ds_0").getSchemaName()));
     }
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManagerTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManagerTest.java
index f017f6d..9487bb7 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManagerTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManagerTest.java
@@ -43,7 +43,7 @@ public final class RegistryListenerManagerTest {
     
     @Test
     public void assertInitListeners() {
-        RegistryListenerManager actual = new RegistryListenerManager(registryRepository, Arrays.asList("sharding_db", "primary_replica_replication_db", "encrypt_db"));
+        RegistryListenerManager actual = new RegistryListenerManager(registryRepository, Arrays.asList("sharding_db", "replica_query_db", "encrypt_db"));
         FieldUtil.setField(actual, "instanceStateChangedListener", instanceStateChangedListener);
         FieldUtil.setField(actual, "dataSourceStateChangedListener", dataSourceStateChangedListener);
         actual.initListeners();
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/AdditionalDMLIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/AdditionalDMLIT.java
index c9b81dd..3d0429c 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/AdditionalDMLIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/AdditionalDMLIT.java
@@ -56,8 +56,8 @@ public final class AdditionalDMLIT extends BaseDMLIT {
     
     @Test
     public void executeUpdateWithAutoGeneratedKeys() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("replica_query".equals(getRuleType())) {
             return;
         }
         int actualUpdateCount;
@@ -84,8 +84,8 @@ public final class AdditionalDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecuteUpdateWithColumnIndexes() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("PostgreSQL".equals(getDatabaseType().getName()) || "primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("PostgreSQL".equals(getDatabaseType().getName()) || "replica_query".equals(getRuleType())) {
             return;
         }
         int actualUpdateCount;
@@ -112,8 +112,8 @@ public final class AdditionalDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecuteUpdateWithColumnNames() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("PostgreSQL".equals(getDatabaseType().getName()) || "primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("PostgreSQL".equals(getDatabaseType().getName()) || "replica_query".equals(getRuleType())) {
             return;
         }
         int actualUpdateCount;
@@ -140,8 +140,8 @@ public final class AdditionalDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecuteWithoutAutoGeneratedKeys() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("replica_query".equals(getRuleType())) {
             return;
         }
         int actualUpdateCount;
@@ -170,8 +170,8 @@ public final class AdditionalDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecuteWithAutoGeneratedKeys() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("replica_query".equals(getRuleType())) {
             return;
         }
         int actualUpdateCount;
@@ -202,8 +202,8 @@ public final class AdditionalDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecuteWithColumnIndexes() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("PostgreSQL".equals(getDatabaseType().getName()) || "primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("PostgreSQL".equals(getDatabaseType().getName()) || "replica_query".equals(getRuleType())) {
             return;
         }
         int actualUpdateCount;
@@ -232,8 +232,8 @@ public final class AdditionalDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecuteWithColumnNames() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("PostgreSQL".equals(getDatabaseType().getName()) || "primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("PostgreSQL".equals(getDatabaseType().getName()) || "replica_query".equals(getRuleType())) {
             return;
         }
         int actualUpdateCount;
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BatchDMLIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BatchDMLIT.java
index cfc0b8c..783ef6c 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BatchDMLIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BatchDMLIT.java
@@ -55,8 +55,8 @@ public final class BatchDMLIT extends BatchIT {
     
     @Test
     public void assertExecuteBatch() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("replica_query".equals(getRuleType())) {
             return;
         }
         // TODO fix shadow
@@ -88,8 +88,8 @@ public final class BatchDMLIT extends BatchIT {
     
     @Test
     public void assertClearBatch() throws SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("replica_query".equals(getRuleType())) {
             return;
         }
         // TODO fix shadow
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java
index fd201eb..44e2fac 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java
@@ -58,8 +58,8 @@ public final class GeneralDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecuteUpdate() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary-replica-replication
-        if ("primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica-query
+        if ("replica_query".equals(getRuleType())) {
             return;
         }
         // TODO fix shadow
@@ -96,8 +96,8 @@ public final class GeneralDMLIT extends BaseDMLIT {
     
     @Test
     public void assertExecute() throws JAXBException, IOException, SQLException, ParseException {
-        // TODO fix primary_replica_replication
-        if ("primary_replica_replication".equals(getRuleType())) {
+        // TODO fix replica_query
+        if ("replica_query".equals(getRuleType())) {
             return;
         }
         // TODO fix shadow
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/batch_insert_for_order.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/batch_insert_for_order.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/batch_insert_for_order.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/batch_insert_for_order.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/batch_insert_with_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/batch_insert_with_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/batch_insert_with_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/batch_insert_with_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/batch_insert_without_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/batch_insert_without_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/batch_insert_without_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/batch_insert_without_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/delete_with_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/delete_with_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/delete_with_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/delete_with_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/delete_with_sharding_value.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/delete_with_sharding_value.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/delete_with_sharding_value.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/delete_with_sharding_value.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/delete_without_sharding_value.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/delete_without_sharding_value.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/delete_without_sharding_value.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/delete_without_sharding_value.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_for_order_1.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_for_order_1.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_for_order_1.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_for_order_1.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_for_order_1_2.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_for_order_1_2.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_for_order_1_2.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_for_order_1_2.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_for_order_2.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_for_order_2.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_for_order_2.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_for_order_2.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_multiple_values_for_order_1_2.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_multiple_values_for_order_1_2.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_multiple_values_for_order_1_2.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_multiple_values_for_order_1_2.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_on_duplicate_key_update.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_on_duplicate_key_update.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_on_duplicate_key_update.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_on_duplicate_key_update.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_with_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_with_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_with_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_with_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_with_now_function.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_with_now_function.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_with_now_function.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_with_now_function.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_without_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_without_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/insert_without_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/insert_without_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/update.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/update.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/update.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/update.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/update_with_column_equal_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/update_with_column_equal_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/update_with_column_equal_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/update_with_column_equal_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/update_without_condition.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/update_without_condition.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/update_without_condition.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_replica_query/update_without_condition.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/batch_insert_for_order.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/batch_insert_for_order.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/batch_insert_for_order.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/batch_insert_for_order.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/batch_insert_with_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/batch_insert_with_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/batch_insert_with_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/batch_insert_with_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/batch_insert_without_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/batch_insert_without_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/batch_insert_without_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/batch_insert_without_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/delete_with_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/delete_with_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/delete_with_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/delete_with_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/delete_with_sharding_value.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/delete_with_sharding_value.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/delete_with_sharding_value.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/delete_with_sharding_value.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/delete_without_sharding_value.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/delete_without_sharding_value.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/delete_without_sharding_value.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/delete_without_sharding_value.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_for_order_1.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_for_order_1.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_for_order_1.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_for_order_1.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_for_order_1_2.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_for_order_1_2.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_for_order_1_2.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_for_order_1_2.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_for_order_2.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_for_order_2.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_for_order_2.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_for_order_2.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_multiple_values_for_order_1_2.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_multiple_values_for_order_1_2.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_multiple_values_for_order_1_2.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_multiple_values_for_order_1_2.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_on_duplicate_key_update.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_on_duplicate_key_update.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_on_duplicate_key_update.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_on_duplicate_key_update.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_with_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_with_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_with_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_with_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_with_now_function.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_with_now_function.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_with_now_function.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_with_now_function.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_without_generate_key_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_without_generate_key_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/insert_without_generate_key_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/insert_without_generate_key_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/update.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/update.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/update.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/update.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/update_with_column_equal_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/update_with_column_equal_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/primary_replica_replication/update_with_column_equal_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/update_with_column_equal_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/update_without_condition.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/update_without_condition.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_primary_replica_replication/update_without_condition.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dataset/replica_query/update_without_condition.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml
index e8e8b52..d78ab75 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml
@@ -86,7 +86,7 @@
     </dml-test-case>
     
     <dml-test-case sql="INSERT INTO t_order_item values(?, ?, 'insert', '2017-08-08')">
-        <assertion sharding-rule-type="dbtbl_with_primary_replica_replication" parameters="1:int, 1:int" expected-data-file="insert_with_generate_key_column.xml" />
+        <assertion sharding-rule-type="dbtbl_with_replica_query" parameters="1:int, 1:int" expected-data-file="insert_with_generate_key_column.xml" />
         <!-- TODO add gen column on create table -->
         <!--<assertion parameters="1:int, 1:int" expected-data-file="insert_with_generate_key_column.xml" />-->
     </dml-test-case>
@@ -116,7 +116,7 @@
     </dml-test-case>
     
     <!--<dml-test-case sql="INSERT INTO t_order_item(order_id, user_id, status, creation_date) values (?, ?, 'insert', '2017-08-08'), (?, ?, 'insert', '2017-08-08')">-->
-        <!--<assertion sharding-rule-type="dbtbl_with_primary_replica_replication" parameters="1:int, 1:int, 2:int, 2:int" expected-data-file="batch_insert_without_generate_key_column.xml" />-->
+        <!--<assertion sharding-rule-type="dbtbl_with_replica_query" parameters="1:int, 1:int, 2:int, 2:int" expected-data-file="batch_insert_without_generate_key_column.xml" />-->
         <!--&lt;!&ndash; TODO add gen column on create table &ndash;&gt;-->
         <!--&lt;!&ndash;<assertion parameters="1:int, 1:int, 2:int, 2:int" expected-data-file="batch_insert_without_generate_key_column.xml" />&ndash;&gt;-->
     <!--</dml-test-case>-->
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/postgresql/select_count_tilde_concat.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/postgresql/select_count_tilde_concat.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/postgresql/select_count_tilde_concat.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/postgresql/select_count_tilde_concat.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_alias_as_keyword.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_alias_as_keyword.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_alias_as_keyword.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_alias_as_keyword.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_alias_as_single_quote_string.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_alias_as_single_quote_string.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_alias_as_single_quote_string.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_alias_as_single_quote_string.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_between_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_between_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_between_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_between_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_comparison_symbol_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_comparison_symbol_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_comparison_symbol_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_comparison_symbol_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_like_concat.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_like_concat.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_like_concat.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_like_concat.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_with_sub.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_with_sub.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_with_sub.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_with_sub.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_with_sub_with_whitespace.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_with_sub_with_whitespace.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_count_with_sub_with_whitespace.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_count_with_sub_with_whitespace.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_function.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_function.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_function.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_function.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count_calculation.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count_calculation.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count_calculation.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count_calculation.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count_group_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count_group_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count_group_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count_group_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_count_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_count_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_multi_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_multi_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_multi_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_multi_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_multi_column_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_multi_column_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_multi_column_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_multi_column_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_column_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_column_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_column_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_column_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_star.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_star.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_star.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_star.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_star_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_star_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_owner_star_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_owner_star_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_single_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_single_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_single_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_single_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_single_column_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_single_column_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_single_column_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_single_column_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_single_count_group_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_single_count_group_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_single_count_group_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_single_count_group_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_star.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_star.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_star.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_star.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_distinct_with_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_distinct_with_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_equal_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_equal_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_equal_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_equal_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_for_update.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_for_update.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_for_update.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_for_update.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_full_route_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_full_route_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_full_route_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_full_route_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_count_without_column_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_count_without_column_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_count_without_column_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_count_without_column_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_date_function.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_date_function.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_date_function.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_date_function.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_key_word_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_key_word_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_key_word_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_key_word_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_keyword_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_keyword_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_keyword_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_keyword_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_max.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_max.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_max.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_max.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_min.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_min.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_min.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_min.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_order_by_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_order_by_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_order_by_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_order_by_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_order_by_desc.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_order_by_desc.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_order_by_desc.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_order_by_desc.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_with_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_without_grouped_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_without_grouped_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_without_grouped_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_group_by_without_grouped_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_in_with_same_sharding_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_in_with_same_sharding_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_in_with_same_sharding_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_in_with_same_sharding_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_in_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_in_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_in_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_in_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_inner_join.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_inner_join.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_inner_join.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_inner_join.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_max.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_max.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_max.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_max.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_min.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_min.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_min.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_min.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_not_equal_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_not_equal_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_not_equal_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_not_equal_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_not_in_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_not_in_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_not_in_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_not_in_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_for_complex_pattern.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_for_complex_pattern.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_for_complex_pattern.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_for_complex_pattern.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_for_simple_pattern.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_for_simple_pattern.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_for_simple_pattern.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_for_simple_pattern.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_with_binding_and_broadcast_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_with_binding_and_broadcast_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_with_binding_and_broadcast_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_with_binding_and_broadcast_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_mix_and_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_with_different_sharding_columns.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_with_different_sharding_columns.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_with_different_sharding_columns.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_with_different_sharding_columns.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_with_none_sharding_columns.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_with_none_sharding_columns.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_with_none_sharding_columns.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_with_none_sharding_columns.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_with_same_sharding_columns.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_with_same_sharding_columns.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_with_same_sharding_columns.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_or_with_same_sharding_columns.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_asc_and_index_desc.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_asc_and_index_desc.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_asc_and_index_desc.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_asc_and_index_desc.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_desc_and_index_asc.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_desc_and_index_asc.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_desc_and_index_asc.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_desc_and_index_asc.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_alias_star_alias_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_alias_star_alias_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_alias_star_alias_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_alias_star_alias_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_date.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_date.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_date.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_date.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_multiple_stars.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_multiple_stars.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_multiple_stars.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_multiple_stars.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_ordered_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_ordered_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_ordered_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_ordered_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_star_no_table_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_star_no_table_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_star_no_table_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_star_no_table_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_star_table_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_star_table_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_star_table_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_star_table_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_table_star_table_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_table_star_table_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_table_star_table_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_table_star_table_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_table_star_without_table_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_table_star_without_table_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_table_star_without_table_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_order_by_with_table_star_without_table_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_diff_group_by_and_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_diff_group_by_and_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_diff_group_by_and_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_diff_group_by_and_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_group_by_and_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_group_by_and_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_group_by_and_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_group_by_and_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset_and_row_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset_and_row_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset_and_row_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset_and_row_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset_fetch.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset_fetch.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_offset_fetch.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_offset_fetch.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_row_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_row_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_row_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_row_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_row_number_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_row_number_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_row_number_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_row_number_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_row_number_not_at_end.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_row_number_not_at_end.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_row_number_not_at_end.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_row_number_not_at_end.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_top_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_top_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_top_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_pagination_with_top_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sharding_route_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sharding_route_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sharding_route_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sharding_route_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sharding_route_with_broadcast_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sharding_route_with_broadcast_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sharding_route_with_broadcast_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sharding_route_with_broadcast_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sub_query_with_group_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sub_query_with_group_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sub_query_with_group_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sub_query_with_group_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sub_query_with_multiple_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sub_query_with_multiple_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sub_query_with_multiple_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sub_query_with_multiple_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sub_query_with_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sub_query_with_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sub_query_with_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sub_query_with_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_case_expression.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_case_expression.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_case_expression.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_case_expression.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_date_function.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_date_function.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_date_function.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_date_function.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_expression.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_expression.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_expression.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_expression.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_force_index_join.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_force_index_join.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_force_index_join.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_force_index_join.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_item_alias_match_order_by_and_group_by_items.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_item_alias_match_order_by_and_group_by_items.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_item_alias_match_order_by_and_group_by_items.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_item_alias_match_order_by_and_group_by_items.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_regexp.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_regexp.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_with_regexp.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_replica_query/select_with_regexp.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/mysql/select_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/mysql/select_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/mysql/select_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/mysql/select_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/mysql/select_group_by_with_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/mysql/select_group_by_with_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/mysql/select_group_by_with_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/mysql/select_group_by_with_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/postgresql/select_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/postgresql/select_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/postgresql/select_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/postgresql/select_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/postgresql/select_count_tilde_concat.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/postgresql/select_count_tilde_concat.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/postgresql/select_count_tilde_concat.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/postgresql/select_count_tilde_concat.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/postgresql/select_group_by_with_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/postgresql/select_group_by_with_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/postgresql/select_group_by_with_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/postgresql/select_group_by_with_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_alias_as_keyword.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_alias_as_keyword.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_alias_as_keyword.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_alias_as_keyword.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_alias_as_single_quote_string.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_alias_as_single_quote_string.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_alias_as_single_quote_string.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_alias_as_single_quote_string.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_between_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_between_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_between_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_between_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_comparison_symbol_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_comparison_symbol_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_comparison_symbol_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_comparison_symbol_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_like_concat.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_like_concat.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_like_concat.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_like_concat.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_with_sub.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_with_sub.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_with_sub.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_with_sub.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_with_sub_with_whitespace.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_with_sub_with_whitespace.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_count_with_sub_with_whitespace.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_count_with_sub_with_whitespace.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_function.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_function.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_function.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_function.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count_calculation.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count_calculation.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count_calculation.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count_calculation.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count_group_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count_group_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count_group_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count_group_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_count_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_count_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_multi_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_multi_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_multi_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_multi_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_multi_column_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_multi_column_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_multi_column_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_multi_column_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_column_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_column_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_column_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_column_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_star.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_star.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_star.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_star.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_star_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_star_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_owner_star_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_owner_star_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_single_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_single_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_single_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_single_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_single_column_without_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_single_column_without_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_single_column_without_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_single_column_without_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_single_count_group_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_single_count_group_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_single_count_group_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_single_count_group_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_star.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_star.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_star.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_star.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_distinct_with_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_distinct_with_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_equal_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_equal_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_equal_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_equal_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_for_update.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_for_update.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_for_update.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_for_update.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_full_route_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_full_route_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_full_route_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_full_route_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_avg.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_avg.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_avg.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_avg.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_count_without_column_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_count_without_column_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_count_without_column_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_count_without_column_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_key_word_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_key_word_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_key_word_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_key_word_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_keyword_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_keyword_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_keyword_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_keyword_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_group_by_with_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_max.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_max.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_max.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_max.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_min.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_min.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_min.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_min.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_order_by_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_order_by_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_order_by_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_order_by_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_order_by_desc.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_order_by_desc.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_order_by_desc.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_order_by_desc.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_with_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_with_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_without_grouped_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_without_grouped_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_group_by_without_grouped_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_group_by_without_grouped_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_in_with_same_sharding_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_in_with_same_sharding_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_in_with_same_sharding_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_in_with_same_sharding_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_in_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_in_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_in_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_in_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_inner_join.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_inner_join.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_inner_join.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_inner_join.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_max.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_max.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_max.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_max.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_min.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_min.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_min.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_min.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_not_equal_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_not_equal_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_not_equal_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_not_equal_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_not_in_with_single_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_not_in_with_single_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_not_in_with_single_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_not_in_with_single_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_for_complex_pattern.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_for_complex_pattern.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_for_complex_pattern.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_for_complex_pattern.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_for_simple_pattern.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_for_simple_pattern.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_for_simple_pattern.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_for_simple_pattern.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_with_binding_and_broadcast_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_with_binding_and_broadcast_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_mix_and_with_binding_and_broadcast_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_with_binding_and_broadcast_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_mix_and_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_mix_and_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_with_different_sharding_columns.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_with_different_sharding_columns.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_or_with_different_sharding_columns.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_with_different_sharding_columns.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_with_none_sharding_columns.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_with_none_sharding_columns.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_with_none_sharding_columns.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_with_none_sharding_columns.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_with_same_sharding_columns.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_with_same_sharding_columns.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_or_with_same_sharding_columns.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_or_with_same_sharding_columns.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_asc_and_index_desc.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_asc_and_index_desc.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_asc_and_index_desc.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_asc_and_index_desc.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_desc_and_index_asc.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_desc_and_index_asc.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_desc_and_index_asc.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_desc_and_index_asc.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_alias_star_alias_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_alias_star_alias_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_alias_star_alias_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_alias_star_alias_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_date.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_date.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_order_by_with_date.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_date.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_multiple_stars.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_multiple_stars.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_multiple_stars.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_multiple_stars.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_ordered_column.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_ordered_column.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_ordered_column.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_ordered_column.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_star_no_table_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_star_no_table_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_star_no_table_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_star_no_table_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_star_table_alias.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_star_table_alias.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_star_table_alias.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_star_table_alias.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_table_star_table_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_table_star_table_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_table_star_table_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_table_star_table_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_table_star_without_table_name.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_table_star_without_table_name.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_order_by_with_table_star_without_table_name.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_order_by_with_table_star_without_table_name.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_diff_group_by_and_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_diff_group_by_and_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_pagination_with_diff_group_by_and_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_diff_group_by_and_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_group_by_and_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_group_by_and_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_group_by_and_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_group_by_and_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset_and_row_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset_and_row_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset_and_row_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset_and_row_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset_fetch.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset_fetch.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_offset_fetch.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_offset_fetch.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_row_count.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_row_count.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_row_count.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_row_count.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_row_number_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_row_number_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_row_number_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_row_number_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_row_number_not_at_end.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_row_number_not_at_end.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_row_number_not_at_end.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_row_number_not_at_end.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_top_and_limit.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_top_and_limit.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_pagination_with_top_and_limit.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_pagination_with_top_and_limit.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sharding_route_with_binding_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sharding_route_with_binding_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sharding_route_with_binding_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sharding_route_with_binding_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sharding_route_with_broadcast_table.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sharding_route_with_broadcast_table.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sharding_route_with_broadcast_table.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sharding_route_with_broadcast_table.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sub_query_with_group_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sub_query_with_group_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sub_query_with_group_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sub_query_with_group_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sub_query_with_multiple_tables.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sub_query_with_multiple_tables.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/dbtbl_with_primary_replica_replication/select_sub_query_with_multiple_tables.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sub_query_with_multiple_tables.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sub_query_with_order_by.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sub_query_with_order_by.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sub_query_with_order_by.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sub_query_with_order_by.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sum.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sum.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_sum.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_sum.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_case_expression.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_case_expression.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_case_expression.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_case_expression.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_date_function.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_date_function.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_date_function.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_date_function.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_expression.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_expression.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_expression.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_expression.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_force_index_join.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_force_index_join.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_force_index_join.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_force_index_join.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_item_alias_match_order_by_and_group_by_items.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_item_alias_match_order_by_and_group_by_items.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_item_alias_match_order_by_and_group_by_items.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_item_alias_match_order_by_and_group_by_items.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_regexp.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_regexp.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/primary_replica_replication/select_with_regexp.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dataset/replica_query/select_with_regexp.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dql-integrate-test-cases.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dql-integrate-test-cases.xml
index bb653ee..5d79844 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dql-integrate-test-cases.xml
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/cases/dql/dql-integrate-test-cases.xml
@@ -227,7 +227,7 @@
     </dql-test-case>
     
     <!--<dql-test-case sql="SELECT date_format(creation_date,  '%%y-%%m-%%d') as creation_date, count(*) as c_number FROM `t_order_item` WHERE order_id in (?, ?) GROUP BY date_format(creation_date, '%%y-%%m-%%d')" db-types="MySQL">-->
-        <!--<assertion sharding-rule-type="dbtbl_with_primary_replica_replication" parameters="1000:int, 1100:int" expected-data-file="select_group_by_with_date_function.xml" />-->
+        <!--<assertion sharding-rule-type="dbtbl_with_replica_query" parameters="1000:int, 1100:int" expected-data-file="select_group_by_with_date_function.xml" />-->
     <!--</dql-test-case>-->
     
     <dql-test-case sql="SELECT * FROM t_order WHERE order_id = ? OR order_id = ?">
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-ci.properties b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-ci.properties
index 84f7ee6..112e6ce 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-ci.properties
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-ci.properties
@@ -16,8 +16,8 @@
 #
 
 run.additional.cases=false
-#rule.types=db,tbl,dbtbl_with_primary_replica_replication,primary_replica_replication,shadow
-rule.types=db,tbl,dbtbl_with_primary_replica_replication,primary_replica_replication
+#rule.types=db,tbl,dbtbl_with_replica_query,replica_query,shadow
+rule.types=db,tbl,dbtbl_with_replica_query,replica_query
 
 #databases=H2,MySQL,Oracle,SQLServer,PostgreSQL
 databases=MySQL,PostgreSQL
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-local.properties b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-local.properties
index 41d5800..11e3c08 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-local.properties
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env-jdbc-local.properties
@@ -16,8 +16,8 @@
 #
 
 run.additional.cases=false
-#rule.types=db,tbl,dbtbl_with_primary_replica_replication,primary_replica_replication,shadow
-rule.types=db,tbl,dbtbl_with_primary_replica_replication,primary_replica_replication
+#rule.types=db,tbl,dbtbl_with_replica_query,replica_query,shadow
+rule.types=db,tbl,dbtbl_with_replica_query,replica_query
 
 #databases=H2,MySQL,Oracle,SQLServer,PostgreSQL
 databases=H2
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/authority.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/authority.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/authority.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/authority.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/dataset.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/dataset.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/dataset.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/dataset.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/schema.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/schema.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/schema.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/schema.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/sharding-rule.yaml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/sharding-rule.yaml
similarity index 99%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/sharding-rule.yaml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/sharding-rule.yaml
index 03f2ebd..52398d1 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_primary_replica_replication/sharding-rule.yaml
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/dbtbl_with_replica_query/sharding-rule.yaml
@@ -54,7 +54,7 @@ rules:
     constant:
       type: Constant
       
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/authority.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/authority.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/authority.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/authority.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/dataset.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/dataset.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/dataset.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/dataset.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/schema.xml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/schema.xml
similarity index 100%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/schema.xml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/schema.xml
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/sharding-rule.yaml b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/sharding-rule.yaml
similarity index 96%
rename from shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/sharding-rule.yaml
rename to shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/sharding-rule.yaml
index ec4ad64..84384a7 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/primary_replica_replication/sharding-rule.yaml
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/resources/integrate/env/replica_query/sharding-rule.yaml
@@ -16,7 +16,7 @@
 #
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     primary-replica-ds: 
       name: primary-replica-ds
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/pom.xml b/shardingsphere-jdbc/shardingsphere-jdbc-core/pom.xml
index 9d02d8a..e804ff8 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/pom.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/pom.xml
@@ -69,7 +69,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-route</artifactId>
+            <artifactId>shardingsphere-replica-query-route</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractConnectionAdapter.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractConnectionAdapter.java
index 92ad8b2..14a6c23 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractConnectionAdapter.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractConnectionAdapter.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.infra.executor.sql.resourced.jdbc.connection.JD
 import org.apache.shardingsphere.infra.executor.sql.resourced.jdbc.group.StatementOption;
 import org.apache.shardingsphere.infra.hook.RootInvokeHook;
 import org.apache.shardingsphere.infra.hook.SPIRootInvokeHook;
-import org.apache.shardingsphere.replication.primaryreplica.route.engine.impl.PrimaryVisitedManager;
+import org.apache.shardingsphere.replicaquery.route.engine.impl.PrimaryVisitedManager;
 
 import javax.sql.DataSource;
 import java.sql.Connection;
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForReplicaQueryTest.java
similarity index 80%
rename from shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForReplicaQueryTest.java
index b253bbe..9f3af82 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForReplicaQueryTest.java
@@ -32,16 +32,16 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
-public abstract class AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest extends AbstractSQLTest {
+public abstract class AbstractShardingSphereDataSourceForReplicaQueryTest extends AbstractSQLTest {
     
     private static ShardingSphereDataSource dataSource;
     
-    private static final String CONFIG = "config-primary-replica-replication.yaml";
+    private static final String CONFIG = "config-replica-query.yaml";
     
     private static final List<String> DATA_SOURCE_NAMES = Arrays.asList("test_primary_ds", "test_replica_ds");
     
     @BeforeClass
-    public static void initPrimaryReplicaReplicationDataSources() throws SQLException, IOException {
+    public static void initReplicaQueryDataSources() throws SQLException, IOException {
         if (null != dataSource) {
             return;
         }
@@ -54,10 +54,10 @@ public abstract class AbstractShardingSphereDataSourceForPrimaryReplicaReplicati
     
     private static File getFile(final String fileName) {
         return new File(Preconditions.checkNotNull(
-                AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest.class.getClassLoader().getResource(fileName), "file resource `%s` must not be null.", fileName).getFile());
+                AbstractShardingSphereDataSourceForReplicaQueryTest.class.getClassLoader().getResource(fileName), "file resource `%s` must not be null.", fileName).getFile());
     }
     
-    protected final ShardingSphereDataSource getPrimaryReplicaReplicationDataSource() {
+    protected final ShardingSphereDataSource getReplicaQueryDataSource() {
         return dataSource;
     }
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
index 1f484dc..1acc0fb 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
@@ -84,7 +84,7 @@ public final class ShardingSphereDataSourceTest {
     }
     
     @Test
-    public void assertGetDatabaseProductNameForPrimaryReplicaReplication() throws SQLException {
+    public void assertGetDatabaseProductNameForReplicaQuery() throws SQLException {
         DataSource dataSource1 = mockDataSource(DatabaseTypeRegistry.getActualDatabaseType("H2"));
         DataSource primaryDataSource = mockDataSource(DatabaseTypeRegistry.getActualDatabaseType("H2"));
         DataSource replicaDataSource = mockDataSource(DatabaseTypeRegistry.getActualDatabaseType("H2"));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/PrimaryReplicaReplicationPreparedStatementTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ReplicaQueryPreparedStatementTest.java
similarity index 72%
rename from shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/PrimaryReplicaReplicationPreparedStatementTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ReplicaQueryPreparedStatementTest.java
index afa382a..ed15672 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/PrimaryReplicaReplicationPreparedStatementTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ReplicaQueryPreparedStatementTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.driver.jdbc.core.statement;
 
-import org.apache.shardingsphere.driver.common.base.AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest;
+import org.apache.shardingsphere.driver.common.base.AbstractShardingSphereDataSourceForReplicaQueryTest;
 import org.junit.Test;
 
 import java.sql.PreparedStatement;
@@ -26,25 +26,25 @@ import java.sql.SQLException;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
-public final class PrimaryReplicaReplicationPreparedStatementTest extends AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest {
+public final class ReplicaQueryPreparedStatementTest extends AbstractShardingSphereDataSourceForReplicaQueryTest {
     
     @Test(expected = SQLException.class)
     public void assertQueryWithNull() throws SQLException {
-        try (PreparedStatement preparedStatement = getPrimaryReplicaReplicationDataSource().getConnection().prepareStatement(null)) {
+        try (PreparedStatement preparedStatement = getReplicaQueryDataSource().getConnection().prepareStatement(null)) {
             preparedStatement.executeQuery();
         }
     }
     
     @Test(expected = SQLException.class)
     public void assertQueryWithEmptyString() throws SQLException {
-        try (PreparedStatement preparedStatement = getPrimaryReplicaReplicationDataSource().getConnection().prepareStatement("")) {
+        try (PreparedStatement preparedStatement = getReplicaQueryDataSource().getConnection().prepareStatement("")) {
             preparedStatement.executeQuery();
         }
     }
     
     @Test
     public void assertGetParameterMetaData() throws SQLException {
-        try (PreparedStatement preparedStatement = getPrimaryReplicaReplicationDataSource().getConnection().prepareStatement("SELECT * FROM t_global where id = ?")) {
+        try (PreparedStatement preparedStatement = getReplicaQueryDataSource().getConnection().prepareStatement("SELECT * FROM t_global where id = ?")) {
             assertThat(preparedStatement.getParameterMetaData().getParameterCount(), is(1));
         }
     }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/PrimaryReplicaReplicationStatementTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ReplicaQueryStatementTest.java
similarity index 76%
rename from shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/PrimaryReplicaReplicationStatementTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ReplicaQueryStatementTest.java
index e680479..0235886 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/PrimaryReplicaReplicationStatementTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ReplicaQueryStatementTest.java
@@ -17,24 +17,24 @@
 
 package org.apache.shardingsphere.driver.jdbc.core.statement;
 
-import org.apache.shardingsphere.driver.common.base.AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest;
+import org.apache.shardingsphere.driver.common.base.AbstractShardingSphereDataSourceForReplicaQueryTest;
 import org.junit.Test;
 
 import java.sql.SQLException;
 import java.sql.Statement;
 
-public final class PrimaryReplicaReplicationStatementTest extends AbstractShardingSphereDataSourceForPrimaryReplicaReplicationTest {
+public final class ReplicaQueryStatementTest extends AbstractShardingSphereDataSourceForReplicaQueryTest {
     
     @Test(expected = SQLException.class)
     public void assertQueryWithNull() throws SQLException {
-        try (Statement statement = getPrimaryReplicaReplicationDataSource().getConnection().createStatement()) {
+        try (Statement statement = getReplicaQueryDataSource().getConnection().createStatement()) {
             statement.executeQuery(null);
         }
     }
     
     @Test(expected = SQLException.class)
     public void assertQueryWithEmptyString() throws SQLException {
-        try (Statement statement = getPrimaryReplicaReplicationDataSource().getConnection().createStatement()) {
+        try (Statement statement = getReplicaQueryDataSource().getConnection().createStatement()) {
             statement.executeQuery("");
         }
     }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config-primary-replica-replication.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config-replica-query.yaml
similarity index 97%
rename from shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config-primary-replica-replication.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config-replica-query.yaml
index 6a193c3..570ac50 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config-primary-replica-replication.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config-replica-query.yaml
@@ -16,7 +16,7 @@
 #
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     test_ds:
       name: test_ds
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/AbstractYamlDataSourceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/AbstractYamlDataSourceTest.java
index 7a0ba77..6514cfe 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/AbstractYamlDataSourceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/AbstractYamlDataSourceTest.java
@@ -73,13 +73,13 @@ public abstract class AbstractYamlDataSourceTest {
     
     private static List<String> getSchemaFiles() {
         return Arrays.asList("yaml/schema/sharding/db0.sql", 
-                "yaml/schema/sharding/db1.sql", 
-                "yaml/schema/primary_replica_replication/primary_ds.sql", 
-                "yaml/schema/primary_replica_replication/replica_ds_0.sql", 
-                "yaml/schema/primary_replica_replication/replica_ds_1.sql", 
-                "yaml/schema/sharding_primary_replica_replication/primary_ds_0.sql", 
-                "yaml/schema/sharding_primary_replica_replication/primary_ds_1.sql", 
-                "yaml/schema/sharding_primary_replica_replication/replica_ds_0.sql", 
-                "yaml/schema/sharding_primary_replica_replication/replica_ds_1.sql");
+                "yaml/schema/sharding/db1.sql",
+                "yaml/schema/replica_query/primary_ds.sql",
+                "yaml/schema/replica_query/replica_ds_0.sql",
+                "yaml/schema/replica_query/replica_ds_1.sql",
+                "yaml/schema/sharding_replica_query/primary_ds_0.sql",
+                "yaml/schema/sharding_replica_query/primary_ds_1.sql",
+                "yaml/schema/sharding_replica_query/replica_ds_0.sql",
+                "yaml/schema/sharding_replica_query/replica_ds_1.sql");
     }
 }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/YamlGovernanceShardingSphereDataSourceFactoryTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/YamlGovernanceShardingSphereDataSourceFactoryTest.java
index 7409a29..237e064 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/YamlGovernanceShardingSphereDataSourceFactoryTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/YamlGovernanceShardingSphereDataSourceFactoryTest.java
@@ -35,9 +35,9 @@ import java.util.List;
 public final class YamlGovernanceShardingSphereDataSourceFactoryTest extends AbstractYamlDataSourceTest {
     
     private static final List<String> CONFIG_FILES = Arrays.asList(
-            "/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithProps.yaml", 
-            "/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithProps.yaml", 
-            "/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithoutRules.yaml");
+            "/yaml/integrate/sharding_replica_query/configWithDataSourceWithProps.yaml",
+            "/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithProps.yaml",
+            "/yaml/integrate/sharding_replica_query/configWithDataSourceWithoutRules.yaml");
     
     private static DataSource dataSource;
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/primaryreplica/YamlGovernancePrimaryReplicaReplicationIntegrateTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/replicaquery/YamlGovernanceReplicaQueryIntegrateTest.java
similarity index 79%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/primaryreplica/YamlGovernancePrimaryReplicaReplicationIntegrateTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/replicaquery/YamlGovernanceReplicaQueryIntegrateTest.java
index c5b3bc0..0b20406 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/primaryreplica/YamlGovernancePrimaryReplicaReplicationIntegrateTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/replicaquery/YamlGovernanceReplicaQueryIntegrateTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.driver.governance.api.yaml.primaryreplica;
+package org.apache.shardingsphere.driver.governance.api.yaml.replicaquery;
 
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
@@ -37,7 +37,7 @@ import java.util.Collection;
 
 @RunWith(Parameterized.class)
 @RequiredArgsConstructor
-public final class YamlGovernancePrimaryReplicaReplicationIntegrateTest extends AbstractYamlDataSourceTest {
+public final class YamlGovernanceReplicaQueryIntegrateTest extends AbstractYamlDataSourceTest {
     
     private final String filePath;
     
@@ -46,16 +46,16 @@ public final class YamlGovernancePrimaryReplicaReplicationIntegrateTest extends
     @Parameters(name = "{index}:{0}-{1}")
     public static Collection<?> init() {
         return Arrays.asList(new Object[][]{
-                {"/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithoutProps.yaml", true},
-                {"/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithoutProps.yaml", false},
-                {"/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithProps.yaml", true},
-                {"/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithProps.yaml", false},
+                {"/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithoutProps.yaml", true},
+                {"/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithoutProps.yaml", false},
+                {"/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithProps.yaml", true},
+                {"/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithProps.yaml", false},
         });
     }
     
     @Test
     public void assertWithDataSource() throws Exception {
-        File yamlFile = new File(YamlGovernancePrimaryReplicaReplicationIntegrateTest.class.getResource(filePath).toURI());
+        File yamlFile = new File(YamlGovernanceReplicaQueryIntegrateTest.class.getResource(filePath).toURI());
         DataSource dataSource;
         if (hasDataSource) {
             dataSource = YamlGovernanceShardingSphereDataSourceFactory.createDataSource(yamlFile);
@@ -74,7 +74,7 @@ public final class YamlGovernancePrimaryReplicaReplicationIntegrateTest extends
     
     @Test
     public void assertWithDataSourceByYamlBytes() throws Exception {
-        File yamlFile = new File(YamlGovernancePrimaryReplicaReplicationIntegrateTest.class.getResource(filePath).toURI());
+        File yamlFile = new File(YamlGovernanceReplicaQueryIntegrateTest.class.getResource(filePath).toURI());
         DataSource dataSource;
         if (hasDataSource) {
             dataSource = YamlGovernanceShardingSphereDataSourceFactory.createDataSource(yamlFile);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/sharding/YamlGovernanceShardingWithPrimaryReplicaReplicationIntegrateTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/sharding/YamlGovernanceShardingWithReplicaQueryIntegrateTest.java
similarity index 81%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/sharding/YamlGovernanceShardingWithPrimaryReplicaReplicationIntegrateTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/sharding/YamlGovernanceShardingWithReplicaQueryIntegrateTest.java
index b8cc2e7..6739a40 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/sharding/YamlGovernanceShardingWithPrimaryReplicaReplicationIntegrateTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/api/yaml/sharding/YamlGovernanceShardingWithReplicaQueryIntegrateTest.java
@@ -40,7 +40,7 @@ import java.util.Map.Entry;
 
 @RunWith(Parameterized.class)
 @RequiredArgsConstructor
-public final class YamlGovernanceShardingWithPrimaryReplicaReplicationIntegrateTest extends AbstractYamlDataSourceTest {
+public final class YamlGovernanceShardingWithReplicaQueryIntegrateTest extends AbstractYamlDataSourceTest {
     
     private final String filePath;
     
@@ -49,16 +49,16 @@ public final class YamlGovernanceShardingWithPrimaryReplicaReplicationIntegrateT
     @Parameters(name = "{index}:{0}-{1}")
     public static Collection init() {
         return Arrays.asList(new Object[][]{
-                {"/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithoutProps.yaml", true},
-                {"/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithoutProps.yaml", false},
-                {"/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithProps.yaml", true},
-                {"/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithProps.yaml", false},
+                {"/yaml/integrate/sharding_replica_query/configWithDataSourceWithoutProps.yaml", true},
+                {"/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithoutProps.yaml", false},
+                {"/yaml/integrate/sharding_replica_query/configWithDataSourceWithProps.yaml", true},
+                {"/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithProps.yaml", false},
         });
     }
     
     @Test
     public void assertWithDataSource() throws Exception {
-        File yamlFile = new File(YamlGovernanceShardingWithPrimaryReplicaReplicationIntegrateTest.class.getResource(filePath).toURI());
+        File yamlFile = new File(YamlGovernanceShardingWithReplicaQueryIntegrateTest.class.getResource(filePath).toURI());
         DataSource dataSource;
         if (hasDataSource) {
             dataSource = YamlGovernanceShardingSphereDataSourceFactory.createDataSource(yamlFile);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
index 4fe1bf8..b08fe46 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
@@ -34,8 +34,8 @@ import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration
 import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.context.schema.SchemaContexts;
 import org.apache.shardingsphere.infra.database.DefaultSchema;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.rule.PrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.rule.ReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -97,7 +97,7 @@ public final class GovernanceShardingSphereDataSourceTest {
     
     @Test
     public void assertRenewRules() throws SQLException {
-        governanceSchemaContexts.renew(new RuleConfigurationsChangedEvent(DefaultSchema.LOGIC_NAME, Arrays.asList(getShardingRuleConfiguration(), getPrimaryReplicaReplicationRuleConfiguration())));
+        governanceSchemaContexts.renew(new RuleConfigurationsChangedEvent(DefaultSchema.LOGIC_NAME, Arrays.asList(getShardingRuleConfiguration(), getReplicaQueryRuleConfiguration())));
         assertThat(((ShardingRule) governanceSchemaContexts.getDefaultSchema().getRules().iterator().next()).getTableRules().size(), is(1));
     }
     
@@ -107,10 +107,10 @@ public final class GovernanceShardingSphereDataSourceTest {
         return result;
     }
     
-    private PrimaryReplicaReplicationRuleConfiguration getPrimaryReplicaReplicationRuleConfiguration() {
-        PrimaryReplicaReplicationDataSourceRuleConfiguration dataSourceConfig
-                = new PrimaryReplicaReplicationDataSourceRuleConfiguration("pr_ds", "primary_ds", Collections.singletonList("replica_ds"), "roundRobin");
-        return new PrimaryReplicaReplicationRuleConfiguration(
+    private ReplicaQueryRuleConfiguration getReplicaQueryRuleConfiguration() {
+        ReplicaQueryDataSourceRuleConfiguration dataSourceConfig
+                = new ReplicaQueryDataSourceRuleConfiguration("pr_ds", "primary_ds", Collections.singletonList("replica_ds"), "roundRobin");
+        return new ReplicaQueryRuleConfiguration(
                 Collections.singleton(dataSourceConfig), ImmutableMap.of("roundRobin", new ShardingSphereAlgorithmConfiguration("ROUND_ROBIN", new Properties())));
     }
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithProps.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithProps.yaml
similarity index 98%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithProps.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithProps.yaml
index 6c3384b..793a069 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithProps.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithProps.yaml
@@ -36,7 +36,7 @@ dataSources:
     maxTotal: 100
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithoutProps.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithoutProps.yaml
similarity index 98%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithoutProps.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithoutProps.yaml
index f9e9a9d..4e394b8 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/primary_replica_replication/configWithPrimaryReplicaReplicationDataSourceWithoutProps.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/replica_query/configWithReplicaQueryDataSourceWithoutProps.yaml
@@ -36,7 +36,7 @@ dataSources:
     maxTotal: 100
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       name: pr_ds
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithProps.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithProps.yaml
similarity index 99%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithProps.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithProps.yaml
index d36c3a3..f12e835 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithProps.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithProps.yaml
@@ -100,7 +100,7 @@ rules:
     increment:
       type: INCREMENT
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithoutProps.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithoutProps.yaml
similarity index 99%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithoutProps.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithoutProps.yaml
index 8d73158..e171b2f 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithoutProps.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithoutProps.yaml
@@ -104,7 +104,7 @@ rules:
     increment:
       type: INCREMENT
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithoutRules.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithoutRules.yaml
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithDataSourceWithoutRules.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithDataSourceWithoutRules.yaml
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithProps.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithProps.yaml
similarity index 98%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithProps.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithProps.yaml
index 48b5f44..5818755 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithProps.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithProps.yaml
@@ -70,7 +70,7 @@ rules:
     increment:
       type: INCREMENT
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithoutProps.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithoutProps.yaml
similarity index 98%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithoutProps.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithoutProps.yaml
index ea179de..2d135bc 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_primary_replica_replication/configWithoutDataSourceWithoutProps.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/integrate/sharding_replica_query/configWithoutDataSourceWithoutProps.yaml
@@ -70,7 +70,7 @@ rules:
     increment:
       type: INCREMENT
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds_0:
       primaryDataSourceName: primary_ds_0
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/primary_replica_replication/primary_ds.sql b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/replica_query/primary_ds.sql
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/primary_replica_replication/primary_ds.sql
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/replica_query/primary_ds.sql
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/primary_replica_replication/replica_ds_0.sql b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/replica_query/replica_ds_0.sql
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/primary_replica_replication/replica_ds_0.sql
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/replica_query/replica_ds_0.sql
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/primary_replica_replication/replica_ds_1.sql b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/replica_query/replica_ds_1.sql
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/primary_replica_replication/replica_ds_1.sql
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/replica_query/replica_ds_1.sql
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/primary_ds_0.sql b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/primary_ds_0.sql
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/primary_ds_0.sql
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/primary_ds_0.sql
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/primary_ds_1.sql b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/primary_ds_1.sql
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/primary_ds_1.sql
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/primary_ds_1.sql
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/replica_ds_0.sql b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/replica_ds_0.sql
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/replica_ds_0.sql
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/replica_ds_0.sql
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/replica_ds_1.sql b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/replica_ds_1.sql
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_primary_replica_replication/replica_ds_1.sql
rename to shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/schema/sharding_replica_query/replica_ds_1.sql
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/unit/sharding.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/unit/sharding.yaml
index 6aacac8..e72e9d1 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/unit/sharding.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/resources/yaml/unit/sharding.yaml
@@ -85,7 +85,7 @@ rules:
       props:
           worker-id: 123
 
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds:
       primaryDataSourceName: primary_ds
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/pom.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/pom.xml
index 906c589..a1da3b4 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/pom.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/pom.xml
@@ -44,7 +44,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-spring-boot-starter</artifactId>
+            <artifactId>shardingsphere-replica-query-spring-boot-starter</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java
index b056e13..fad2d55 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/SpringBootStarterTest.java
@@ -25,9 +25,9 @@ import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKe
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.infra.datanode.DataNodeUtil;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RandomReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationDataSourceRule;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.algorithm.RandomReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryDataSourceRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 import org.apache.shardingsphere.shadow.rule.ShadowRule;
 import org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -76,8 +76,8 @@ public class SpringBootStarterTest {
         for (ShardingSphereRule each : rules) {
             if (each instanceof ShardingRule) {
                 assertShardingRule((ShardingRule) each);
-            } else if (each instanceof PrimaryReplicaReplicationRule) {
-                assertPrimaryReplicaReplicationRule((PrimaryReplicaReplicationRule) each);
+            } else if (each instanceof ReplicaQueryRule) {
+                assertReplicaQueryRule((ReplicaQueryRule) each);
             } else if (each instanceof EncryptRule) {
                 assertEncryptRule((EncryptRule) each);
             } else if (each instanceof ShadowRule) {
@@ -106,9 +106,9 @@ public class SpringBootStarterTest {
         assertThat(tableRule.getDatasourceToTablesMap(), is(ImmutableMap.of("ds_1", Sets.newHashSet("t_order_0", "t_order_1"), "ds_0", Sets.newHashSet("t_order_0", "t_order_1"))));
     }
     
-    private void assertPrimaryReplicaReplicationRule(final PrimaryReplicaReplicationRule rule) {
+    private void assertReplicaQueryRule(final ReplicaQueryRule rule) {
         assertThat(rule.getDataSourceMapper(), is(Collections.singletonMap("pr_ds", Arrays.asList("primary_ds", "replica_ds_0", "replica_ds_1"))));
-        PrimaryReplicaReplicationDataSourceRule dataSourceRule = rule.getSingleDataSourceRule();
+        ReplicaQueryDataSourceRule dataSourceRule = rule.getSingleDataSourceRule();
         assertNotNull(dataSourceRule);
         assertThat(dataSourceRule.getName(), is("pr_ds"));
         assertThat(dataSourceRule.getPrimaryDataSourceName(), is("primary_ds"));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/resources/application-common.properties b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/resources/application-common.properties
index d17db1e..cfeabe6 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/resources/application-common.properties
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/resources/application-common.properties
@@ -20,12 +20,11 @@ spring.shardingsphere.datasource.names=ds_${0..1}
 spring.shardingsphere.datasource.ds_0.type=org.apache.shardingsphere.jdbc.test.MockedDataSource
 spring.shardingsphere.datasource.ds_1.type=org.apache.shardingsphere.jdbc.test.MockedDataSource
 
-spring.shardingsphere.rules.primary-replica-replication.load-balancers.random.type=RANDOM
-
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.load-balancer-name=random
+spring.shardingsphere.rules.replica-query.load-balancers.random.type=RANDOM
 
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.load-balancer-name=random
 
 spring.shardingsphere.rules.sharding.sharding-algorithms.databaseShardingAlgorithm.type=INLINE
 spring.shardingsphere.rules.sharding.sharding-algorithms.databaseShardingAlgorithm.props.algorithm-expression=ds_$->{user_id % 2}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/pom.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/pom.xml
index 86ef15c..b711d5f 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/pom.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/pom.xml
@@ -40,7 +40,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-spring-namespace</artifactId>
+            <artifactId>shardingsphere-replica-query-spring-namespace</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java
index 7ebe918..0eca86c 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/java/org/apache/shardingsphere/spring/SpringNamespaceTest.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataS
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
 import org.apache.shardingsphere.spring.transaction.ShardingTransactionTypeScanner;
 import org.junit.Test;
@@ -51,8 +51,8 @@ public final class SpringNamespaceTest extends AbstractJUnit4SpringContextTests
         for (ShardingSphereRule each : rules) {
             if (each instanceof ShardingRule) {
                 assertShardingRule((ShardingRule) each);
-            } else if (each instanceof PrimaryReplicaReplicationRule) {
-                assertPrimaryReplicaReplicationRule((PrimaryReplicaReplicationRule) each);
+            } else if (each instanceof ReplicaQueryRule) {
+                assertReplicaQueryRule((ReplicaQueryRule) each);
             } else if (each instanceof EncryptRule) {
                 assertEncryptRule((EncryptRule) each);
             }
@@ -76,7 +76,7 @@ public final class SpringNamespaceTest extends AbstractJUnit4SpringContextTests
                 new DataNode("ds_1.t_order_0"), new DataNode("ds_1.t_order_1"), new DataNode("ds_1.t_order_2"), new DataNode("ds_1.t_order_3"))));
     }
     
-    private void assertPrimaryReplicaReplicationRule(final PrimaryReplicaReplicationRule rule) {
+    private void assertReplicaQueryRule(final ReplicaQueryRule rule) {
         assertTrue(rule.findDataSourceRule("ds_0").isPresent());
         assertThat(rule.findDataSourceRule("ds_0").get().getPrimaryDataSourceName(), is("ds_0_primary"));
         assertThat(rule.findDataSourceRule("ds_0").get().getReplicaDataSourceNames(), is(Arrays.asList("ds_0_replica_0", "ds_0_replica_1")));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/resources/META-INF/spring/application-context.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/resources/META-INF/spring/application-context.xml
index 3d6d708..6c319a1 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/resources/META-INF/spring/application-context.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-namespace/src/test/resources/META-INF/spring/application-context.xml
@@ -21,7 +21,7 @@
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:shardingsphere="http://shardingsphere.apache.org/schema/shardingsphere/datasource"
        xmlns:sharding="http://shardingsphere.apache.org/schema/shardingsphere/sharding"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xmlns:encrypt="http://shardingsphere.apache.org/schema/shardingsphere/encrypt"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd
@@ -31,8 +31,8 @@
                            http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/encrypt 
                            http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt.xsd
                            ">
@@ -77,12 +77,12 @@
         </encrypt:table>
     </encrypt:rule>
     
-    <primary-replica-replication:rule id="primaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="ds_0" primary-data-source-name="ds_0_primary" replica-data-source-names="ds_0_replica_0,ds_0_replica_1" />
-        <primary-replica-replication:data-source-rule id="ds_1" primary-data-source-name="ds_1_primary" replica-data-source-names="ds_1_replica_0,ds_1_replica_1" />
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryRule">
+        <replica-query:data-source-rule id="ds_0" primary-data-source-name="ds_0_primary" replica-data-source-names="ds_0_replica_0,ds_0_replica_1" />
+        <replica-query:data-source-rule id="ds_1" primary-data-source-name="ds_1_primary" replica-data-source-names="ds_1_replica_0,ds_1_replica_1" />
+    </replica-query:rule>
     
-    <shardingsphere:data-source id="dataSource" data-source-names="ds_0_primary,ds_0_replica_0,ds_0_replica_1,ds_1_primary,ds_1_replica_0,ds_1_replica_1" rule-refs="shardingRule, primaryReplicaReplicationRule, encryptRule">
+    <shardingsphere:data-source id="dataSource" data-source-names="ds_0_primary,ds_0_replica_0,ds_0_replica_1,ds_1_primary,ds_1_replica_0,ds_1_replica_1" rule-refs="shardingRule, replicaQueryRule, encryptRule">
         <props>
             <prop key="sql-show">false</prop>
             <prop key="executor-size">${executor-size}</prop>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/pom.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/pom.xml
index a54a7d4..63f1e68 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/pom.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/pom.xml
@@ -44,7 +44,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-spring-boot-starter</artifactId>
+            <artifactId>shardingsphere-replica-query-spring-boot-starter</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryPrimaryReplicaReplicationTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/Governa [...]
similarity index 86%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryPrimaryReplicaReplicationTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryReplicaQueryTest.java
index abe3736..120e7a8 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryPrimaryReplicaReplicationTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootRegistryReplicaQueryTest.java
@@ -45,14 +45,14 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@SpringBootTest(classes = GovernanceSpringBootRegistryPrimaryReplicaReplicationTest.class)
+@SpringBootTest(classes = GovernanceSpringBootRegistryReplicaQueryTest.class)
 @SpringBootApplication
-@ActiveProfiles("registry-primary-replica-replication")
-public class GovernanceSpringBootRegistryPrimaryReplicaReplicationTest {
+@ActiveProfiles("registry-replica-query")
+public class GovernanceSpringBootRegistryReplicaQueryTest {
     
-    private static final String DATA_SOURCE_FILE = "yaml/primary-replica-replication-databases.yaml";
+    private static final String DATA_SOURCE_FILE = "yaml/replica-query-databases.yaml";
     
-    private static final String RULE_FILE = "yaml/primary-replica-replication-rule.yaml";
+    private static final String RULE_FILE = "yaml/replica-query-rule.yaml";
     
     @Resource
     private DataSource dataSource;
@@ -68,7 +68,7 @@ public class GovernanceSpringBootRegistryPrimaryReplicaReplicationTest {
     }
     
     @Test
-    public void assertWithPrimaryReplicaReplicationDataSource() throws NoSuchFieldException, IllegalAccessException {
+    public void assertWithReplicaQueryDataSource() throws NoSuchFieldException, IllegalAccessException {
         assertTrue(dataSource instanceof GovernanceShardingSphereDataSource);
         Field field = GovernanceShardingSphereDataSource.class.getDeclaredField("schemaContexts");
         field.setAccessible(true);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootPrimaryReplicaReplicationTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSprin [...]
similarity index 82%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootPrimaryReplicaReplicationTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootReplicaQueryTest.java
index 483e11f..1988bfd 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootPrimaryReplicaReplicationTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/governance/type/GovernanceSpringBootReplicaQueryTest.java
@@ -21,8 +21,8 @@ import org.apache.commons.dbcp2.BasicDataSource;
 import org.apache.shardingsphere.driver.governance.internal.datasource.GovernanceShardingSphereDataSource;
 import org.apache.shardingsphere.infra.context.schema.SchemaContexts;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationDataSourceRule;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryDataSourceRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
 import org.apache.shardingsphere.spring.boot.governance.util.EmbedTestingServer;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -42,10 +42,10 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@SpringBootTest(classes = GovernanceSpringBootPrimaryReplicaReplicationTest.class)
+@SpringBootTest(classes = GovernanceSpringBootReplicaQueryTest.class)
 @SpringBootApplication
-@ActiveProfiles("primary-replica-replication")
-public class GovernanceSpringBootPrimaryReplicaReplicationTest {
+@ActiveProfiles("replica-query")
+public class GovernanceSpringBootReplicaQueryTest {
     
     @Resource
     private DataSource dataSource;
@@ -67,11 +67,11 @@ public class GovernanceSpringBootPrimaryReplicaReplicationTest {
         }
         Collection<ShardingSphereRule> rules = schemaContexts.getDefaultSchema().getRules();
         assertThat(rules.size(), is(1));
-        assertPrimaryReplicaReplicationRule((PrimaryReplicaReplicationRule) rules.iterator().next());
+        assertReplicaQueryRule((ReplicaQueryRule) rules.iterator().next());
     }
     
-    private void assertPrimaryReplicaReplicationRule(final PrimaryReplicaReplicationRule rule) {
-        PrimaryReplicaReplicationDataSourceRule dataSourceRule = rule.getSingleDataSourceRule();
+    private void assertReplicaQueryRule(final ReplicaQueryRule rule) {
+        ReplicaQueryDataSourceRule dataSourceRule = rule.getSingleDataSourceRule();
         assertThat(dataSourceRule.getName(), is("pr_ds"));
         assertThat(dataSourceRule.getName(), is("pr_ds"));
         assertThat(dataSourceRule.getPrimaryDataSourceName(), is("primary_ds"));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-registry-primary-replica-replication.properties b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-registry-replica-query.properties
similarity index 96%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-registry-primary-replica-replication.properties
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-registry-replica-query.properties
index 26c80b8..32e92cc 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-registry-primary-replica-replication.properties
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-registry-replica-query.properties
@@ -15,7 +15,7 @@
 # limitations under the License.
 #
 
-spring.shardingsphere.governance.name=governance-spring-boot-registry-primary-replica-replication-test
+spring.shardingsphere.governance.name=governance-spring-boot-registry-replica-query-test
 spring.shardingsphere.governance.overwrite=true
 
 spring.shardingsphere.governance.registry-center.type=TestRegistry
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-primary-replica-replication.properties b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-replica-query.properties
similarity index 88%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-primary-replica-replication.properties
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-replica-query.properties
index b6dd090..2ed1ffc 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-primary-replica-replication.properties
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/application-replica-query.properties
@@ -39,10 +39,10 @@ spring.shardingsphere.datasource.replica_ds_1.username=sa
 spring.shardingsphere.datasource.replica_ds_1.password=
 spring.shardingsphere.datasource.replica_ds_1.max-total=16
 
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.primary-data-source-name=primary_ds
-spring.shardingsphere.rules.primary-replica-replication.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.primary-data-source-name=primary_ds
+spring.shardingsphere.rules.replica-query.data-sources.pr_ds.replica-data-source-names=replica_ds_0,replica_ds_1
 
-spring.shardingsphere.governance.name=governance-spring-boot-primary-replica-replication-test
+spring.shardingsphere.governance.name=governance-spring-boot-replica-query-test
 spring.shardingsphere.governance.overwrite=true
 
 spring.shardingsphere.governance.registry-center.type=TestRegistry
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/primary-replica-replication-databases.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/replica-query-databases.yaml
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/primary-replica-replication-databases.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/replica-query-databases.yaml
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/primary-replica-replication-rule.yaml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/replica-query-rule.yaml
similarity index 97%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/primary-replica-replication-rule.yaml
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/replica-query-rule.yaml
index 00d7ea0..06e8cb9 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/primary-replica-replication-rule.yaml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-boot-starter/src/test/resources/yaml/replica-query-rule.yaml
@@ -16,7 +16,7 @@
 #
 
 rules:
-  - !PRIMARY_REPLICA_REPLICATION
+  - !REPLICA_QUERY
     loadBalancers:
       roundRobin:
         type: ROUND_ROBIN
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernancePrimaryReplicaReplicationNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceReplicaQuery [...]
similarity index 64%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernancePrimaryReplicaReplicationNamespaceTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceReplicaQueryNamespaceTest.java
index 662ca28..95314c7 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernancePrimaryReplicaReplicationNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceReplicaQueryNamespaceTest.java
@@ -21,11 +21,11 @@ import org.apache.shardingsphere.driver.governance.internal.datasource.Governanc
 import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.context.schema.SchemaContexts;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RandomReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.algorithm.RoundRobinReplicaLoadBalanceAlgorithm;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationDataSourceRule;
-import org.apache.shardingsphere.replication.primaryreplica.rule.PrimaryReplicaReplicationRule;
-import org.apache.shardingsphere.replication.primaryreplica.spi.ReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.RandomReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.algorithm.RoundRobinReplicaLoadBalanceAlgorithm;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryDataSourceRule;
+import org.apache.shardingsphere.replicaquery.rule.ReplicaQueryRule;
+import org.apache.shardingsphere.replicaquery.spi.ReplicaLoadBalanceAlgorithm;
 import org.apache.shardingsphere.spring.namespace.governance.util.EmbedTestingServer;
 import org.apache.shardingsphere.spring.namespace.governance.util.FieldValueUtil;
 import org.junit.BeforeClass;
@@ -41,8 +41,8 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
-@ContextConfiguration(locations = "classpath:META-INF/rdb/primary-replica-replication-governance.xml")
-public class GovernancePrimaryReplicaReplicationNamespaceTest extends AbstractJUnit4SpringContextTests {
+@ContextConfiguration(locations = "classpath:META-INF/rdb/replica-query-governance.xml")
+public class GovernanceReplicaQueryNamespaceTest extends AbstractJUnit4SpringContextTests {
     
     @BeforeClass
     public static void init() {
@@ -50,14 +50,14 @@ public class GovernancePrimaryReplicaReplicationNamespaceTest extends AbstractJU
     }
     
     @Test
-    public void assertPrimaryReplicaReplicationDataSourceType() {
+    public void assertReplicaQueryDataSourceType() {
         assertNotNull(applicationContext.getBean("defaultGovernanceDataSource", GovernanceShardingSphereDataSource.class));
     }
     
     @Test
-    public void assertDefaultPrimaryReplicaReplicationDataSource() {
-        PrimaryReplicaReplicationRule rule = getPrimaryReplicaReplicationRule("defaultGovernanceDataSource");
-        Optional<PrimaryReplicaReplicationDataSourceRule> dataSourceRule = rule.findDataSourceRule("default_dbtbl_0");
+    public void assertDefaultReplicaQueryDataSource() {
+        ReplicaQueryRule rule = getReplicaQueryRule("defaultGovernanceDataSource");
+        Optional<ReplicaQueryDataSourceRule> dataSourceRule = rule.findDataSourceRule("default_dbtbl_0");
         assertTrue(dataSourceRule.isPresent());
         assertThat(dataSourceRule.get().getPrimaryDataSourceName(), is("dbtbl_primary_0"));
         assertTrue(dataSourceRule.get().getReplicaDataSourceNames().contains("dbtbl_0_replica_0"));
@@ -65,32 +65,32 @@ public class GovernancePrimaryReplicaReplicationNamespaceTest extends AbstractJU
     }
     
     @Test
-    public void assertTypePrimaryReplicaReplicationDataSource() {
-        PrimaryReplicaReplicationRule randomRule = getPrimaryReplicaReplicationRule("randomGovernanceDataSource");
-        Optional<PrimaryReplicaReplicationDataSourceRule> randomDataSourceRule = randomRule.findDataSourceRule("random_dbtbl_0");
+    public void assertTypeReplicaQueryDataSource() {
+        ReplicaQueryRule randomRule = getReplicaQueryRule("randomGovernanceDataSource");
+        Optional<ReplicaQueryDataSourceRule> randomDataSourceRule = randomRule.findDataSourceRule("random_dbtbl_0");
         assertTrue(randomDataSourceRule.isPresent());
         assertTrue(randomDataSourceRule.get().getLoadBalancer() instanceof RandomReplicaLoadBalanceAlgorithm);
-        PrimaryReplicaReplicationRule roundRobinRule = getPrimaryReplicaReplicationRule("roundRobinGovernanceDataSource");
-        Optional<PrimaryReplicaReplicationDataSourceRule> roundRobinDataSourceRule = roundRobinRule.findDataSourceRule("roundRobin_dbtbl_0");
+        ReplicaQueryRule roundRobinRule = getReplicaQueryRule("roundRobinGovernanceDataSource");
+        Optional<ReplicaQueryDataSourceRule> roundRobinDataSourceRule = roundRobinRule.findDataSourceRule("roundRobin_dbtbl_0");
         assertTrue(roundRobinDataSourceRule.isPresent());
         assertTrue(roundRobinDataSourceRule.get().getLoadBalancer() instanceof RoundRobinReplicaLoadBalanceAlgorithm);
     }
     
     @Test
     @Ignore
-    // TODO load balance algorithm have been construct twice for SpringDatasource extends PrimaryReplicaReplicationDatasource.
-    public void assertRefPrimaryReplicaReplicationDataSource() {
+    // TODO load balance algorithm have been construct twice for SpringDatasource extends ReplicaQueryDatasource.
+    public void assertRefReplicaQueryDataSource() {
         ReplicaLoadBalanceAlgorithm randomLoadBalanceAlgorithm = applicationContext.getBean("randomLoadBalanceAlgorithm", ReplicaLoadBalanceAlgorithm.class);
-        PrimaryReplicaReplicationRule rule = getPrimaryReplicaReplicationRule("refGovernanceDataSource");
-        Optional<PrimaryReplicaReplicationDataSourceRule> dataSourceRule = rule.findDataSourceRule("randomLoadBalanceAlgorithm");
+        ReplicaQueryRule rule = getReplicaQueryRule("refGovernanceDataSource");
+        Optional<ReplicaQueryDataSourceRule> dataSourceRule = rule.findDataSourceRule("randomLoadBalanceAlgorithm");
         assertTrue(dataSourceRule.isPresent());
         assertThat(dataSourceRule.get().getLoadBalancer(), is(randomLoadBalanceAlgorithm));
     }
     
-    private PrimaryReplicaReplicationRule getPrimaryReplicaReplicationRule(final String dataSourceName) {
+    private ReplicaQueryRule getReplicaQueryRule(final String dataSourceName) {
         GovernanceShardingSphereDataSource dataSource = applicationContext.getBean(dataSourceName, GovernanceShardingSphereDataSource.class);
         SchemaContexts schemaContexts = (SchemaContexts) FieldValueUtil.getFieldValue(dataSource, "schemaContexts");
-        return (PrimaryReplicaReplicationRule) schemaContexts.getDefaultSchema().getRules().iterator().next();
+        return (ReplicaQueryRule) schemaContexts.getDefaultSchema().getRules().iterator().next();
     }
     
     @Test
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingPrimaryReplicaReplicationNamespaceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShar [...]
similarity index 93%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingPrimaryReplicaReplicationNamespaceTest.java
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingReplicaQueryNamespaceTest.java
index 97f2a17..b112169 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingPrimaryReplicaReplicationNamespaceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/java/org/apache/shardingsphere/spring/namespace/governance/GovernanceShardingReplicaQueryNamespaceTest.java
@@ -34,8 +34,8 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 
-@ContextConfiguration(locations = "classpath:META-INF/rdb/sharding-primary-replica-replication-governance.xml")
-public class GovernanceShardingPrimaryReplicaReplicationNamespaceTest extends AbstractJUnit4SpringContextTests {
+@ContextConfiguration(locations = "classpath:META-INF/rdb/sharding-replica-query-governance.xml")
+public class GovernanceShardingReplicaQueryNamespaceTest extends AbstractJUnit4SpringContextTests {
     
     @BeforeClass
     public static void init() {
@@ -43,7 +43,7 @@ public class GovernanceShardingPrimaryReplicaReplicationNamespaceTest extends Ab
     }
     
     @Test
-    public void assertPrimaryReplicaReplicationShardingDataSourceByUserStrategy() {
+    public void assertReplicaQueryShardingDataSourceByUserStrategy() {
         Map<String, DataSource> dataSourceMap = getDataSourceMap("dataSourceByUserStrategyGovernance");
         assertNotNull(dataSourceMap.get("dbtbl_primary_0"));
         assertNotNull(dataSourceMap.get("dbtbl_0_replica_0"));
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/datasource/primary-replica-replication-data-source.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/datasource/replica-query-data-source.xml
similarity index 96%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/datasource/primary-replica-replication-data-source.xml
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/datasource/replica-query-data-source.xml
index 083c83f..0927d76 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/datasource/primary-replica-replication-data-source.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/datasource/replica-query-data-source.xml
@@ -24,7 +24,7 @@
                         http://www.springframework.org/schema/context 
                         http://www.springframework.org/schema/context/spring-context.xsd 
                         ">
-    <context:property-placeholder location="classpath:conf/rdb/primary_replica_replication_conf.properties" ignore-unresolvable="true" />
+    <context:property-placeholder location="classpath:conf/rdb/replica_query_conf.properties" ignore-unresolvable="true" />
     
     <bean id="dbtbl_primary_0" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
         <property name="driverClassName" value="${dbtbl_primary_0.driver}"/>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/primary-replica-replication-data-source-namespace.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/primary-replica-replication-data-source-namespace.xml
deleted file mode 100644
index a484153..0000000
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/primary-replica-replication-data-source-namespace.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-                        http://www.springframework.org/schema/beans/spring-beans.xsd
-                        http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                        http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
-                        ">
-    <import resource="../datasource/primary-replica-replication-data-source.xml" />
-    
-    <primary-replica-replication:load-balance-algorithm id="randomLoadBalanceAlgorithm" type="RANDOM" />
-    <primary-replica-replication:load-balance-algorithm id="roundRobinLoadBalanceAlgorithm" type="ROUND_ROBIN" />
-    
-    <primary-replica-replication:rule id="defaultPrimaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="default_dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0, dbtbl_0_replica_1" />
-    </primary-replica-replication:rule>
-    
-    <primary-replica-replication:rule id="randomPrimaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="random_dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0, dbtbl_0_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm" />
-    </primary-replica-replication:rule>
-    
-    <primary-replica-replication:rule id="roundRobinPrimaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="roundRobin_dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0, dbtbl_0_replica_1" load-balance-algorithm-ref="roundRobinLoadBalanceAlgorithm" />
-    </primary-replica-replication:rule>
-    
-    <primary-replica-replication:rule id="refPrimaryReplicaReplicationRule">
-        <primary-replica-replication:data-source-rule id="random_dbtbl_1" primary-data-source-name="dbtbl_primary_1" replica-data-source-names="dbtbl_1_replica_0, dbtbl_1_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm" />
-    </primary-replica-replication:rule>
-</beans>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/replica-query-data-source-namespace.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/replica-query-data-source-namespace.xml
new file mode 100644
index 0000000..1c20c86
--- /dev/null
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/replica-query-data-source-namespace.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+                        http://www.springframework.org/schema/beans/spring-beans.xsd
+                        http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                        http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
+                        ">
+    <import resource="../datasource/replica-query-data-source.xml" />
+    
+    <replica-query:load-balance-algorithm id="randomLoadBalanceAlgorithm" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="roundRobinLoadBalanceAlgorithm" type="ROUND_ROBIN" />
+    
+    <replica-query:rule id="defaultReplicaQueryRule">
+        <replica-query:data-source-rule id="default_dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0, dbtbl_0_replica_1" />
+    </replica-query:rule>
+    
+    <replica-query:rule id="randomReplicaQueryRule">
+        <replica-query:data-source-rule id="random_dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0, dbtbl_0_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm" />
+    </replica-query:rule>
+    
+    <replica-query:rule id="roundRobinReplicaQueryRule">
+        <replica-query:data-source-rule id="roundRobin_dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0, dbtbl_0_replica_1" load-balance-algorithm-ref="roundRobinLoadBalanceAlgorithm" />
+    </replica-query:rule>
+    
+    <replica-query:rule id="refReplicaQueryRule">
+        <replica-query:data-source-rule id="random_dbtbl_1" primary-data-source-name="dbtbl_primary_1" replica-data-source-names="dbtbl_1_replica_0, dbtbl_1_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm" />
+    </replica-query:rule>
+</beans>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-data-source-namespace.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-data-source-namespace.xml
index e0f4300..6b85dc4 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-data-source-namespace.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-data-source-namespace.xml
@@ -25,7 +25,7 @@
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding.xsd
                            ">
     <import resource="../datasource/data-source.xml" />
-    <import resource="../datasource/primary-replica-replication-data-source.xml" />
+    <import resource="../datasource/replica-query-data-source.xml" />
     
     <sharding:sharding-algorithm id="standardModuloDatabaseShardingAlgorithm" type="STANDARD_TEST_DB"/>
     <sharding:sharding-algorithm id="standardModuloTableShardingAlgorithm" type="STANDARD_TEST_TBL"/>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-primary-replica-replication-namespace.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-replica-query-namespace.xml
similarity index 66%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-primary-replica-replication-namespace.xml
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-replica-query-namespace.xml
index 1157c6c..9329063 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-primary-replica-replication-namespace.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/namespace/sharding-replica-query-namespace.xml
@@ -19,15 +19,15 @@
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:sharding="http://shardingsphere.apache.org/schema/shardingsphere/sharding"
-       xmlns:primary-replica-replication="http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication"
+       xmlns:replica-query="http://shardingsphere.apache.org/schema/shardingsphere/replica-query"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding
                            http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding.xsd
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication
-                           http://shardingsphere.apache.org/schema/shardingsphere/primary-replica-replication/primary-replica-replication.xsd
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query
+                           http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query.xsd
                            ">
-    <import resource="../datasource/primary-replica-replication-data-source.xml" />
+    <import resource="../datasource/replica-query-data-source.xml" />
     
     <sharding:sharding-algorithm id="standardModuloDatabaseShardingAlgorithm" type="STANDARD_TEST_DB" />
     <sharding:sharding-algorithm id="standardModuloTableShardingAlgorithm" type="STANDARD_TEST_TBL" />
@@ -48,25 +48,25 @@
     <sharding:none-strategy id="noneStrategy" />
     
     <sharding:key-generate-strategy id="keyGenerateStrategy" column="order_id" algorithm-ref="incrementAlgorithm" />
-    <primary-replica-replication:load-balance-algorithm id="randomLoadBalanceAlgorithm" type="RANDOM" />
+    <replica-query:load-balance-algorithm id="randomLoadBalanceAlgorithm" type="RANDOM" />
     
-    <sharding:rule id="primaryReplicaReplicationShardingDataSourceByDefaultStrategyShardingRule" default-key-generate-strategy-ref="keyGenerateStrategy">
+    <sharding:rule id="replicaQueryShardingDataSourceByDefaultStrategyShardingRule" default-key-generate-strategy-ref="keyGenerateStrategy">
         <sharding:table-rules>
             <sharding:table-rule logic-table="t_order" actual-data-nodes="dbtbl_${0..1}.t_order_${0..3}" database-strategy-ref="standardStrategy" table-strategy-ref="inlineStrategy" key-generate-strategy-ref="keyGenerateStrategy" />
         </sharding:table-rules>
     </sharding:rule>
-    <primary-replica-replication:rule id="primaryReplicaReplicationShardingDataSourceByDefaultStrategy">
-        <primary-replica-replication:data-source-rule id="dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0,dbtbl_0_replica_1"/>
-        <primary-replica-replication:data-source-rule id="dbtbl_1" primary-data-source-name="dbtbl_primary_1" replica-data-source-names="dbtbl_1_replica_0,dbtbl_1_replica_1"/>
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryShardingDataSourceByDefaultStrategy">
+        <replica-query:data-source-rule id="dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0,dbtbl_0_replica_1"/>
+        <replica-query:data-source-rule id="dbtbl_1" primary-data-source-name="dbtbl_primary_1" replica-data-source-names="dbtbl_1_replica_0,dbtbl_1_replica_1"/>
+    </replica-query:rule>
     
-    <sharding:rule id="primaryReplicaReplicationShardingDataSourceByUserStrategyShardingRule" default-key-generate-strategy-ref="keyGenerateStrategy">
+    <sharding:rule id="replicaQueryShardingDataSourceByUserStrategyShardingRule" default-key-generate-strategy-ref="keyGenerateStrategy">
         <sharding:table-rules>
             <sharding:table-rule logic-table="t_order" actual-data-nodes="dbtbl_${0..1}.t_order_${0..3}" database-strategy-ref="standardStrategy" table-strategy-ref="inlineStrategy" key-generate-strategy-ref="keyGenerateStrategy" />
         </sharding:table-rules>
     </sharding:rule>
-    <primary-replica-replication:rule id="primaryReplicaReplicationShardingDataSourceByUserStrategy">
-        <primary-replica-replication:data-source-rule id="dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0,dbtbl_0_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm"/>
-        <primary-replica-replication:data-source-rule id="dbtbl_1" primary-data-source-name="dbtbl_primary_1" replica-data-source-names="dbtbl_1_replica_0,dbtbl_1_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm"/>
-    </primary-replica-replication:rule>
+    <replica-query:rule id="replicaQueryShardingDataSourceByUserStrategy">
+        <replica-query:data-source-rule id="dbtbl_0" primary-data-source-name="dbtbl_primary_0" replica-data-source-names="dbtbl_0_replica_0,dbtbl_0_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm"/>
+        <replica-query:data-source-rule id="dbtbl_1" primary-data-source-name="dbtbl_primary_1" replica-data-source-names="dbtbl_1_replica_0,dbtbl_1_replica_1" load-balance-algorithm-ref="randomLoadBalanceAlgorithm"/>
+    </replica-query:rule>
 </beans>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/primary-replica-replication-governance.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/replica-query-governance.xml
similarity index 85%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/primary-replica-replication-governance.xml
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/replica-query-governance.xml
index 281a366..cacaaff 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/primary-replica-replication-governance.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/replica-query-governance.xml
@@ -24,7 +24,7 @@
                            http://shardingsphere.apache.org/schema/shardingsphere/governance
                            http://shardingsphere.apache.org/schema/shardingsphere/governance/governance.xsd
                            ">
-    <import resource="namespace/primary-replica-replication-data-source-namespace.xml" />
+    <import resource="namespace/replica-query-data-source-namespace.xml" />
     
     <governance:reg-center id="regCenter" type="TestRegistry" server-lists="localhost:3181">
         <props>
@@ -33,14 +33,14 @@
         </props>
     </governance:reg-center>
     
-    <governance:data-source id="defaultGovernanceDataSource" data-source-names="dbtbl_primary_0, dbtbl_0_replica_0, dbtbl_0_replica_1" rule-refs="defaultPrimaryReplicaReplicationRule" reg-center-ref="regCenter">
+    <governance:data-source id="defaultGovernanceDataSource" data-source-names="dbtbl_primary_0, dbtbl_0_replica_0, dbtbl_0_replica_1" rule-refs="defaultReplicaQueryRule" reg-center-ref="regCenter">
         <props>
             <prop key="sql-show">${sql_show}</prop>
             <prop key="executor-size">10</prop>
             <prop key="foo">bar</prop>
         </props>
     </governance:data-source>
-    <governance:data-source id="randomGovernanceDataSource" data-source-names="dbtbl_primary_0, dbtbl_0_replica_0, dbtbl_0_replica_1" rule-refs="randomPrimaryReplicaReplicationRule" reg-center-ref="regCenter" />
-    <governance:data-source id="roundRobinGovernanceDataSource" data-source-names="dbtbl_primary_0, dbtbl_0_replica_0, dbtbl_0_replica_1" rule-refs="roundRobinPrimaryReplicaReplicationRule" reg-center-ref="regCenter" />
-    <governance:data-source id="refGovernanceDataSource" data-source-names="dbtbl_primary_1, dbtbl_1_replica_0, dbtbl_1_replica_1" rule-refs="refPrimaryReplicaReplicationRule" reg-center-ref="regCenter" />
+    <governance:data-source id="randomGovernanceDataSource" data-source-names="dbtbl_primary_0, dbtbl_0_replica_0, dbtbl_0_replica_1" rule-refs="randomReplicaQueryRule" reg-center-ref="regCenter" />
+    <governance:data-source id="roundRobinGovernanceDataSource" data-source-names="dbtbl_primary_0, dbtbl_0_replica_0, dbtbl_0_replica_1" rule-refs="roundRobinReplicaQueryRule" reg-center-ref="regCenter" />
+    <governance:data-source id="refGovernanceDataSource" data-source-names="dbtbl_primary_1, dbtbl_1_replica_0, dbtbl_1_replica_1" rule-refs="refReplicaQueryRule" reg-center-ref="regCenter" />
 </beans>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/sharding-primary-replica-replication-governance.xml b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/sharding-replica-query-governance.xml
similarity index 82%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/sharding-primary-replica-replication-governance.xml
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/sharding-replica-query-governance.xml
index 5916a9c..6f4961e 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/sharding-primary-replica-replication-governance.xml
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/META-INF/rdb/sharding-replica-query-governance.xml
@@ -24,7 +24,7 @@
                            http://shardingsphere.apache.org/schema/shardingsphere/governance
                            http://shardingsphere.apache.org/schema/shardingsphere/governance/governance.xsd 
                            ">
-    <import resource="namespace/sharding-primary-replica-replication-namespace.xml" />
+    <import resource="namespace/sharding-replica-query-namespace.xml" />
     
     <governance:reg-center id="regCenter" type="TestRegistry" server-lists="localhost:3181">
         <props>
@@ -32,6 +32,6 @@
             <prop key="operation-timeout-milliseconds">1000</prop>
         </props>
     </governance:reg-center>
-    <governance:data-source id="dataSourceByDefaultStrategyGovernance" data-source-names="dbtbl_primary_0,dbtbl_0_replica_0,dbtbl_0_replica_1,dbtbl_primary_1,dbtbl_1_replica_0,dbtbl_1_replica_1" rule-refs="primaryReplicaReplicationShardingDataSourceByDefaultStrategyShardingRule, primaryReplicaReplicationShardingDataSourceByDefaultStrategy" reg-center-ref="regCenter" />
-    <governance:data-source id="dataSourceByUserStrategyGovernance" data-source-names="dbtbl_primary_0,dbtbl_0_replica_0,dbtbl_0_replica_1,dbtbl_primary_1,dbtbl_1_replica_0,dbtbl_1_replica_1" rule-refs="primaryReplicaReplicationShardingDataSourceByUserStrategyShardingRule, primaryReplicaReplicationShardingDataSourceByUserStrategy" reg-center-ref="regCenter" />
+    <governance:data-source id="dataSourceByDefaultStrategyGovernance" data-source-names="dbtbl_primary_0,dbtbl_0_replica_0,dbtbl_0_replica_1,dbtbl_primary_1,dbtbl_1_replica_0,dbtbl_1_replica_1" rule-refs="replicaQueryShardingDataSourceByDefaultStrategyShardingRule, replicaQueryShardingDataSourceByDefaultStrategy" reg-center-ref="regCenter" />
+    <governance:data-source id="dataSourceByUserStrategyGovernance" data-source-names="dbtbl_primary_0,dbtbl_0_replica_0,dbtbl_0_replica_1,dbtbl_primary_1,dbtbl_1_replica_0,dbtbl_1_replica_1" rule-refs="replicaQueryShardingDataSourceByUserStrategyShardingRule, replicaQueryShardingDataSourceByUserStrategy" reg-center-ref="regCenter" />
 </beans>
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/conf/rdb/primary_replica_replication_conf.properties b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/conf/rdb/replica_query_conf.properties
similarity index 100%
rename from shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/conf/rdb/primary_replica_replication_conf.properties
rename to shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-governance-spring/shardingsphere-jdbc-governance-spring-namespace/src/test/resources/conf/rdb/replica_query_conf.properties
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml b/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml
index 4f8c70e..3a03a77 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/pom.xml
@@ -79,7 +79,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-route</artifactId>
+            <artifactId>shardingsphere-replica-query-route</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/config-primary-replica-replication.yaml b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/config-replica-query.yaml
similarity index 93%
rename from shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/config-primary-replica-replication.yaml
rename to shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/config-replica-query.yaml
index 8140339..650530e 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/config-primary-replica-replication.yaml
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/config-replica-query.yaml
@@ -18,11 +18,11 @@
 ######################################################################################################
 # 
 # Here you can configure the rules for the proxy.
-# This example is configuration of primary-replica-replication rule.
+# This example is configuration of replica-query rule.
 # 
 ######################################################################################################
 #
-#schemaName: primary_replica_replication_db
+#schemaName: replica_query_db
 #
 #dataSourceCommon:
 #  username: postgres
@@ -43,7 +43,7 @@
 #    url: jdbc:postgresql://127.0.0.1:5432/demo_replica_ds_1?serverTimezone=UTC&useSSL=false
 #
 #rules:
-#- !PRIMARY_REPLICA_REPLICATION
+#- !REPLICA_QUERY
 #  dataSources:
 #    pr_ds:
 #      name: pr_ds
@@ -58,7 +58,7 @@
 #
 ######################################################################################################
 
-#schemaName: primary_replica_db
+#schemaName: replica_query_db
 #
 #dataSourceCommon:
 #  username: root
@@ -79,7 +79,7 @@
 #    url: jdbc:mysql://127.0.0.1:3306/demo_replica_ds_1?serverTimezone=UTC&useSSL=false
 #
 #rules:
-#- !PRIMARY_REPLICA_REPLICATION
+#- !REPLICA_QUERY
 #  dataSources:
 #    pr_ds:
 #      name: pr_ds
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/pom.xml b/shardingsphere-proxy/shardingsphere-proxy-common/pom.xml
index 3e28017..b41819a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/pom.xml
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/pom.xml
@@ -49,7 +49,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-primary-replica-replication-common</artifactId>
+            <artifactId>shardingsphere-replica-query-common</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
index 3a06d67..86cf06a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.proxy.config;
 
 import org.apache.shardingsphere.encrypt.yaml.config.YamlEncryptRuleConfiguration;
 import org.apache.shardingsphere.infra.yaml.config.algorithm.YamlShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.rule.YamlPrimaryReplicaReplicationDataSourceRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.rule.YamlReplicaQueryDataSourceRuleConfiguration;
 import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameter;
 import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
 import org.apache.shardingsphere.sharding.yaml.config.YamlShardingRuleConfiguration;
@@ -45,7 +45,7 @@ public final class ProxyConfigurationLoaderTest {
         assertThat(actual.getServerConfiguration().getGovernance().getRegistryCenter().getServerLists(), is("localhost:2181"));
         assertThat(actual.getRuleConfigurations().size(), is(3));
         assertShardingRuleConfiguration(actual.getRuleConfigurations().get("sharding_db"));
-        assertPrimaryReplicaReplicationRuleConfiguration(actual.getRuleConfigurations().get("primary_replica_db"));
+        assertReplicaQueryRuleConfiguration(actual.getRuleConfigurations().get("replica_query_db"));
         assertEncryptRuleConfiguration(actual.getRuleConfigurations().get("encrypt_db"));
     }
     
@@ -73,8 +73,8 @@ public final class ProxyConfigurationLoaderTest {
         assertNotNull(actual.getDefaultDatabaseStrategy().getNone());
     }
     
-    private void assertPrimaryReplicaReplicationRuleConfiguration(final YamlProxyRuleConfiguration actual) {
-        assertThat(actual.getSchemaName(), is("primary_replica_db"));
+    private void assertReplicaQueryRuleConfiguration(final YamlProxyRuleConfiguration actual) {
+        assertThat(actual.getSchemaName(), is("replica_query_db"));
         assertThat(actual.getDataSources().size(), is(3));
         assertNull(actual.getDataSource());
         assertDataSourceParameter(actual.getDataSources().get("primary_ds"), "jdbc:mysql://127.0.0.1:3306/primary_ds");
@@ -84,15 +84,15 @@ public final class ProxyConfigurationLoaderTest {
             each -> each instanceof YamlShardingRuleConfiguration).findFirst().map(configuration -> (YamlShardingRuleConfiguration) configuration).isPresent());
         assertFalse(actual.getRules().stream().filter(
             each -> each instanceof YamlEncryptRuleConfiguration).findFirst().map(configuration -> (YamlEncryptRuleConfiguration) configuration).isPresent());
-        Optional<YamlPrimaryReplicaReplicationRuleConfiguration> ruleConfig = actual.getRules().stream().filter(
-            each -> each instanceof YamlPrimaryReplicaReplicationRuleConfiguration).findFirst().map(configuration -> (YamlPrimaryReplicaReplicationRuleConfiguration) configuration);
+        Optional<YamlReplicaQueryRuleConfiguration> ruleConfig = actual.getRules().stream().filter(
+            each -> each instanceof YamlReplicaQueryRuleConfiguration).findFirst().map(configuration -> (YamlReplicaQueryRuleConfiguration) configuration);
         assertTrue(ruleConfig.isPresent());
-        for (YamlPrimaryReplicaReplicationDataSourceRuleConfiguration each : ruleConfig.get().getDataSources().values()) {
-            assertPrimaryReplicaReplicationRuleConfiguration(each);
+        for (YamlReplicaQueryDataSourceRuleConfiguration each : ruleConfig.get().getDataSources().values()) {
+            assertReplicaQueryRuleConfiguration(each);
         }
     }
     
-    private void assertPrimaryReplicaReplicationRuleConfiguration(final YamlPrimaryReplicaReplicationDataSourceRuleConfiguration actual) {
+    private void assertReplicaQueryRuleConfiguration(final YamlReplicaQueryDataSourceRuleConfiguration actual) {
         assertThat(actual.getName(), is("pr_ds"));
         assertThat(actual.getPrimaryDataSourceName(), is("primary_ds"));
         assertThat(actual.getReplicaDataSourceNames().size(), is(2));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
index 7c2b126..3e5cd43 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
@@ -26,8 +26,8 @@ import org.apache.shardingsphere.infra.auth.yaml.config.YamlProxyUserConfigurati
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
 import org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
 import org.apache.shardingsphere.infra.yaml.config.YamlRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.api.config.PrimaryReplicaReplicationRuleConfiguration;
-import org.apache.shardingsphere.replication.primaryreplica.yaml.config.YamlPrimaryReplicaReplicationRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration;
+import org.apache.shardingsphere.replicaquery.yaml.config.YamlReplicaQueryRuleConfiguration;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameter;
@@ -91,7 +91,7 @@ public final class YamlProxyConfigurationSwapperTest {
         assertThat(ruleConfigs.size(), is(1));
         RuleConfiguration ruleConfig = ruleConfigs.iterator().next();
         assertNotNull(ruleConfig);
-        assertThat(ruleConfig, instanceOf(PrimaryReplicaReplicationRuleConfiguration.class));
+        assertThat(ruleConfig, instanceOf(ReplicaQueryRuleConfiguration.class));
     }
     
     private void assertProxyConfigurationProps(final ProxyConfiguration proxyConfig) {
@@ -134,7 +134,7 @@ public final class YamlProxyConfigurationSwapperTest {
     
     private void prepareRules(final YamlProxyRuleConfiguration yamlProxyRuleConfig) {
         Collection<YamlRuleConfiguration> rules = new LinkedList<>();
-        YamlRuleConfiguration testRuleConfig = new YamlPrimaryReplicaReplicationRuleConfiguration();
+        YamlRuleConfiguration testRuleConfig = new YamlReplicaQueryRuleConfiguration();
         rules.add(testRuleConfig);
         when(yamlProxyRuleConfig.getRules()).thenReturn(rules);
     }
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/config-primary-replica-replication.yaml b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/config-replica-query.yaml
similarity index 95%
rename from shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/config-primary-replica-replication.yaml
rename to shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/config-replica-query.yaml
index 8d0f576..d920a59 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/config-primary-replica-replication.yaml
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/config-replica-query.yaml
@@ -15,7 +15,7 @@
 # limitations under the License.
 #
 
-schemaName: primary_replica_db
+schemaName: replica_query_db
 
 dataSourceCommon:
   username: root
@@ -36,7 +36,7 @@ dataSources:
     url: jdbc:mysql://127.0.0.1:3306/replica_ds_1
 
 rules:
-- !PRIMARY_REPLICA_REPLICATION
+- !REPLICA_QUERY
   dataSources:
     pr_ds: 
       name: pr_ds
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/server.yaml b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/server.yaml
index b45f660..ae900ce 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/server.yaml
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/resources/conf/server.yaml
@@ -26,7 +26,7 @@ authentication:
   users:
     root:
       password: root
-      authorizedSchemas: sharding_db,primary_replica_db
+      authorizedSchemas: sharding_db,replica_query_db
 
 props:
   max-connections-size-per-query: 1
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/command/CommandExecutorTask.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/command/CommandExecutorTask.java
index 7e024f5..5a47d28 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/command/CommandExecutorTask.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/command/CommandExecutorTask.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.db.protocol.packet.DatabasePacket;
 import org.apache.shardingsphere.db.protocol.payload.PacketPayload;
 import org.apache.shardingsphere.infra.hook.RootInvokeHook;
 import org.apache.shardingsphere.infra.hook.SPIRootInvokeHook;
-import org.apache.shardingsphere.replication.primaryreplica.route.engine.impl.PrimaryVisitedManager;
+import org.apache.shardingsphere.replicaquery.route.engine.impl.PrimaryVisitedManager;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.ConnectionStatus;
 import org.apache.shardingsphere.proxy.frontend.command.executor.CommandExecutor;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java
index d036164..f32f0cf 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/main/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandler.java
@@ -23,7 +23,7 @@ import io.netty.channel.ChannelInboundHandlerAdapter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.db.protocol.payload.PacketPayload;
 import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
-import org.apache.shardingsphere.replication.primaryreplica.route.engine.impl.PrimaryVisitedManager;
+import org.apache.shardingsphere.replicaquery.route.engine.impl.PrimaryVisitedManager;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.frontend.auth.AuthenticationResult;