blob: 582a8389c40217ee1ffef8379158a1594db62d48 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ShardingSphere</title>
<link>https://shardingsphere.apache.org/document/current/en/</link>
<description>Recent content on ShardingSphere</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<atom:link href="https://shardingsphere.apache.org/document/current/en/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Authorization</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/authentication/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/authentication/</guid>
<description>Authorization configuration provided for users who can connect to ShardingSphere-Proxy. Users can be granted different authorities.
Background ShardingSphere-Proxy uses the global rule, Authority Rule (identified as !AUTHORITY), to configure user and authorization information.
Thanks to ShardingSphere&amp;rsquo;s pluggable architecture, Proxy provides two levels of authority providers, namely:
ALL_PERMITTED: grant all authorities by default without authentication. DATABASE_PERMITTED: grant users the authority to specify a logical database, mapped through user-database-mappings. The administrator can choose which authority provider to use as needed when configuring the Authority Rule.</description>
</item>
<item>
<title>Build</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/scaling/build/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/scaling/build/</guid>
<description>Build&amp;amp;Deployment Execute the following command to compile and generate the ShardingSphere-Proxy binary package: git clone --depth 1 https://github.com/apache/shardingsphere.git cd shardingsphere mvn clean install -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests -Prelease The binary packages:
/shardingsphere-distribution/shardingsphere-proxy-distribution/target/apache-shardingsphere-${latest.release.version}-shardingsphere-proxy-bin.tar.gz Or get binary package from download page.
Scaling is an experimental feature, if scaling job fail, you could try nightly version, click here to download nightly build.
Unzip the proxy distribution package, modify the configuration file conf/config-sharding.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/db-gateway/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/db-gateway/concept/</guid>
<description>SQL Dialect SQL dialect means database dialect, and it indicates that some database projects have their own unique syntax in addition to SQL, which are also called dialects. Different database projects may have different SQL dialects.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/concept/</guid>
<description>Logic column It is used to calculate the encryption and decryption columns and it is the logical identifier of the column in SQL. Logical columns contain ciphertext columns (mandatory), query-helper columns (optional), and plaintext columns (optional).
Cipher column Encrypted data columns.
Query assistant column It is a helper column used for queries. For some non-idempotent encryption algorithms with higher security levels, irreversible idempotent columns are provided for queries.
Plain column The column is used to store plaintext and provide services during the migration of encrypted data.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/ha/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/ha/concept/</guid>
<description>High Availability Type Apache ShardingSphere does not provide database high availability capability. It senses the change of databases&amp;rsquo; primary-secondary relationship through a third-party provided high availability solution. Specifically, ShardingSphere is capable of finding databases, automatically sensing the primary/secondary database relationship, and correcting compute nodes&amp;rsquo; connections to databases.
Dynamic Read/Write Splitting When high availability and read/write splitting are adopted together, it is not necessary to configure specific primary and secondary databases for read/write splitting.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/management/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/management/concept/</guid>
<description>Circuit Breaker Fuse connection between Apache ShardingSphere and the database. When an Apache ShardingSphere node exceeds the max load, stop the node&amp;rsquo;s access to the database, so that the database can ensure sufficient resources to provide services for other Apache ShardingSphere nodes.
Request Limit In the face of overload requests, open request limiting to protect some requests can still respond quickly.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/observability/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/observability/concept/</guid>
<description>Agent Based on bytecode enhancement and plugin design to provide tracing, metrics and logging features.
Only after the plugin of the Agent is enabled, the monitoring indicator data can be output to the third-party APM for display.
APM APM is an acronym for Application Performance Monitoring.
Focusing on the performance diagnosis of distributed systems, its main functions include call chain display, application topology analysis, etc.
Tracing Tracing data between distributed services or internal processes will be collected by agent.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/concept/</guid>
<description>Primary database The primary database is used to add, update, and delete data operations. Currently, only single primary database is supported.
Secondary database The secondary database is used to query data operations and multi-secondary databases are supported.
Primary-Secondary synchronization It refers to the operation of asynchronously synchronizing data from a primary database to a secondary database. Due to the asynchronism of primary-secondary synchronization, data from the primary and secondary databases may be inconsistent for a short time.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/scaling/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/scaling/concept/</guid>
<description>Nodes Instances for running compute or storage tier component processes. These can either be physical machines, virtual machines, or containers, etc.
Cluster Multiple nodes that are assembled together to provide a specified service.
Source The storage cluster where the original data resides.
Target The target storage cluster to which the original data is to be migrated.
Data Migration Process The entire process of replicating data from one storage cluster to another.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/shadow/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/shadow/concept/</guid>
<description>Production Database Database for production data
Shadow Database The Database for stress test data isolation. Configurations should be the same as the Production Database.
Shadow Algorithm Shadow Algorithm, which is closely related to business operations, currently has 2 types.
Column based shadow algorithm Routing to shadow database by recognizing data from SQL. Suitable for stress test scenario that has an emphasis on data list. Hint based shadow algorithm Routing to shadow database by recognizing comments from SQL.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/</guid>
<description>Table Tables are a key concept for transparent data sharding. Apache ShardingSphere adapts to the data sharding requirements under different scenarios by providing diverse table types.
Logic Table The logical name of the horizontally sharded database (table) of the same structure is the logical identifier of the table in SQL. Example: Order data is split into 10 tables according to the primary key endings, are t_order_0 to t_order_9, and their logical table names are t_order.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/</guid>
<description>XA Protocol The original distributed transaction model of XA protocol is the &amp;ldquo;X/Open Distributed Transaction Processing (DTP)&amp;rdquo; model, XA protocol for short, which was proposed by the X/Open international consortium.</description>
</item>
<item>
<title>Hint</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/readwrite-splitting/hint/</guid>
<description>Background Apache ShardingSphere uses ThreadLocal to manage primary database routing marks for mandatory routing. A primary database routing mark can be added to HintManager through programming, and this value is valid only in the current thread. Apache ShardingSphere can also route the primary database by adding comments to SQL.
Hint is mainly used to perform mandatory data operations in the primary database under the read/write splitting scenarios.
Procedure Call HintManager.</description>
</item>
<item>
<title>Hint</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/</guid>
<description>Background Apache ShardingSphere uses ThreadLocal to manage sharding key values for mandatory routing. A sharding value can be added by programming to the HintManager that takes effect only within the current thread. Apache ShardingSphere can also do mandatory routing by adding comments to SQL.
Main application scenarios for Hint:
The sharding fields do not exist in the SQL and database table structure but in the external business logic. Certain data operations are forced to be performed in given databases.</description>
</item>
<item>
<title>Metadata Repository</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/metadata-repository/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/metadata-repository/</guid>
<description>Background Apache ShardingSphere provides different metadata persistence methods for different running modes. Users can choose an appropriate way to store metadata while configuring the running mode.
Parameters File Repository Type: File
Mode: Standalone
Attributes:
Name Type Description Default Value path String Path for metadata persist .shardingsphere ZooKeeper Repository Type: ZooKeeper
Mode: Cluster
Attributes:
Name Type Description Default Value retryIntervalMilliseconds int Milliseconds of retry interval 500 maxRetries int Max retries of client connection 3 timeToLiveSeconds int Seconds of ephemeral data live 60 operationTimeoutMilliseconds int Milliseconds of operation timeout 500 digest String Password of login Etcd Repository Type: Etcd</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/mode/</guid>
<description>StandalonePersistRepository Fully-qualified class name org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepository
Definition Standalone mode configuration information persistence definition
Implementation classes Configuration Type Description Fully-qualified class name H2 H2-based persistence org.apache.shardingsphere.mode.repository.standalone.h2.H2Repository ClusterPersistRepository Fully-qualified class name org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository
Definition Cluster mode configuration information persistence definition
Implementation classes Configuration Type Description Fully-qualified class name ZooKeeper ZooKeeper-based persistence org.apache.shardingsphere.mode.repository.cluster.zookeeper.CuratorZookeeperRepository etcd Etcd-based persistence org.</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/mode/</guid>
<description>Background Build the running mode through Java API.
Parameters Class name: org.apache.shardingsphere.infra.config.mode.ModeConfiguration
Attributes:
Name DataType Description Default Value type String Type of mode configuration
Values could be: Standalone or Cluster Standalone repository PersistRepositoryConfiguration Persist repository configuration
Standalone type uses StandalonePersistRepositoryConfiguration
Cluster type uses ClusterPersistRepositoryConfiguration overwrite boolean Whether overwrite persistent configuration with local configuration false Standalone Persist Configuration Class name: org.</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/mode/</guid>
<description>Parameters mode (?): # Default value is Standalone type: # Type of mode configuration. Values could be: Standalone or Cluster repository (?): # Persist repository configuration overwrite: # Whether overwrite persistent configuration with local configuration Standalone Mode mode: type: Standalone repository: type: # Type of persist repository props: # Properties of persist repository foo_key: foo_value bar_key: bar_value overwrite: # Whether overwrite persistent configuration with local configuration Cluster Mode (recommended) mode: type: Cluster repository: type: # Type of persist repository props: # Properties of persist repository namespace: # Namespace of registry center server-lists: # Server lists of registry center foo_key: foo_value bar_key: bar_value overwrite: # Whether overwrite persistent configuration with local configuration Notes Cluster mode deployment is recommended for production environment.</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/mode/</guid>
<description>Background The default configuration uses standalone mode.
Parameters Explained Standalone Mode Namespace:http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/standalone/repository-5.1.1.xsd &amp;lt;standalone:repository /&amp;gt;
Name Type Description id Property Persistent repository Bean name type Property Persistent repository Type props (?) Tag Properties required for persistent repository Cluster Mode(Recommended) Namespace:http://shardingsphere.apache.org/schema/shardingsphere/mode-repository/cluster/repository-5.1.1.xsd
&amp;lt;cluster:repository /&amp;gt;
Name Type Description id Property Persistent repository Bean name type Property Persistent repository Type namespace Property Registry Center namespace server-lists Property Registry Center Link props (?</description>
</item>
<item>
<title>Mode</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/mode/</guid>
<description>Parameters mode (?): # Default value is Standalone type: # Type of mode configuration. Values could be: Standalone, Cluster repository (?): # Persist repository configuration overwrite: # Whether overwrite persistent configuration with local configuration Standalone Mode mode: type: Standalone repository: type: # Type of persist repository props: # Properties of persist repository foo_key: foo_value bar_key: bar_value overwrite: # Whether overwrite persistent configuration with local configuration Cluster Mode (recommended) mode: type: Cluster repository: type: # Type of persist repository props: # Properties of persist repository namespace: # Namespace of registry center server-lists: # Server lists of registry center foo_key: foo_value bar_key: bar_value overwrite: # Whether overwrite persistent configuration with local configuration Notes Cluster mode deployment is recommended for production environment.</description>
</item>
<item>
<title>Parse Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/</guid>
<description>SQL is relatively simple compared with other programming languages, but it&amp;rsquo;s still a complete programming language. Therefore, there&amp;rsquo;s no essential difference between parsing SQL syntax and parsing other languages (such as Java, C and Go, etc.).
Abstract Syntax Tree The parsing process is divided into lexical parsing and syntactic parsing. The lexical parser is used to split SQL into indivisible atomic symbols called Tokens.
Tokens are classified into keywords, expressions, literals, and operators based on the dictionaries provided by different database dialects.</description>
</item>
<item>
<title>Resource Definition</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/</guid>
<description>Syntax ADD RESOURCE resourceDefinition [, resourceDefinition] ... ALTER RESOURCE resourceDefinition [, resourceDefinition] ... DROP RESOURCE resourceName [, resourceName] ... [ignore single tables] resourceDefinition: simpleSource | urlSource simpleSource: resourceName(HOST=hostname,PORT=port,DB=dbName,USER=user [,PASSWORD=password] [,PROPERTIES(property [,property]) ...]) urlSource: resourceName(URL=url,USER=user [,PASSWORD=password] [,PROPERTIES(property [,property]) ...]) property: key=value Parameters Explained Name DataType Description resourceName IDENTIFIER Resource name hostname STRING Host or IP port INT Port dbName STRING DB name url STRING URL user STRING username password STRING password Notes Before adding resources, please confirm that a distributed database has been created, and execute the use command to successfully select a database; Confirm that the resource to be added or altered can be connected, otherwise the operation will not be successful; Duplicate resourceName is not allowed; PROPERTIES is used to customize connection pool parameters, key and value are both STRING types; ALTER RESOURCE is not allowed to change the real data source associated with this resource; ALTER RESOURCE will switch the connection pool.</description>
</item>
<item>
<title>Resource Query</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/resource-query/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/resource-query/</guid>
<description>Syntax SHOW DATABASE RESOURCES [FROM databaseName] Return Value Description Column Description name Data source name type Data source type host Data source host port Data source port db Database name attribute Data source attribute Example mysql&amp;gt; SHOW DATABASE RESOURCES; +------+-------+-----------+------+------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | host | port | db | connection_timeout_milliseconds | idle_timeout_milliseconds | max_lifetime_milliseconds | max_pool_size | min_pool_size | read_only | other_attributes | +------+-------+-----------+------+------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ds_0 | MySQL | 127.</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/</guid>
<description>Background The Java API rule configuration for data sharding, which allows users to create ShardingSphereDataSource objects directly by writing Java code, is flexible enough to integrate various types of business systems without relying on additional jar packages.
Parameters Root Configuration Class name: org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration
Attributes:
Name DataType Description Default Value tables (+) Collection&amp;lt;ShardingTableRuleConfiguration&amp;gt; Sharding table rules - autoTables (+) Collection&amp;lt;ShardingAutoTableRuleConfiguration&amp;gt; Sharding auto table rules - bindingTableGroups (*) Collection&amp;lt;String&amp;gt; Binding table rules Empty broadcastTables (*) Collection&amp;lt;String&amp;gt; Broadcast table rules Empty defaultDatabaseShardingStrategy (?</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sharding/</guid>
<description>Background SpringBoot Starter&amp;rsquo;s data sharding configuration applies to business scenarios that use SpringBoot, which can maximize SpringBoot&amp;rsquo;s capabilities, such as configuration initialization and Bean management. It can complete the creation of the ShardingSphereDataSource object and reduce unnecessary coding.
Parameters spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage # Standard sharding table configuration spring.shardingsphere.rules.sharding.tables.&amp;lt;table-name&amp;gt;.actual-data-nodes= # Describe data source names and actual tables, delimiter as point, multiple data nodes separated with comma, support inline expression.</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sharding/</guid>
<description>Background The configuration method of data sharding Spring Namespace is applicable to traditional Spring projects. The sharding rules and attributes are configured through the namespace xml configuration file. Spring completes the creation and management of ShardingSphereDataSource objects to avoid additional coding work.
Parameters Namespace: http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding-5.1.2.xsd
&amp;lt;sharding:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id table-rules (?) Tag Sharding table rule configuration auto-table-rules (?</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/</guid>
<description>Background Data sharding YAML configuration is highly readable. The dependencies between sharding rules can be quickly understood through the YAML format. ShardingSphere automatically creates the ShardingSphereDataSource object according to YAML configuration, which can reduce unnecessary coding for users.
Parameters rules: - !SHARDING tables: # Sharding table configuration &amp;lt;logic-table-name&amp;gt; (+): # Logic table name actualDataNodes (?): # Describe data source names and actual tables (refer to Inline syntax rules) databaseStrategy (?): # Databases sharding strategy, use default databases sharding strategy if absent.</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/sharding/</guid>
<description>Syntax Sharding Table Rule CREATE SHARDING TABLE RULE shardingTableRuleDefinition [, shardingTableRuleDefinition] ... ALTER SHARDING TABLE RULE shardingTableRuleDefinition [, shardingTableRuleDefinition] ... DROP SHARDING TABLE RULE tableName [, tableName] ... CREATE DEFAULT SHARDING shardingScope STRATEGY (shardingStrategy) ALTER DEFAULT SHARDING shardingScope STRATEGY (shardingStrategy) DROP DEFAULT SHARDING shardingScope STRATEGY; CREATE SHARDING ALGORITHM shardingAlgorithmDefinition [, shardingAlgorithmDefinition] ... ALTER SHARDING ALGORITHM shardingAlgorithmDefinition [, shardingAlgorithmDefinition] ... DROP SHARDING ALGORITHM algorithmName [, algorithmName] ... CREATE SHARDING KEY GENERATOR keyGeneratorDefinition [, keyGeneratorDefinition] .</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/</guid>
<description>Syntax Sharding Table Rule SHOW SHARDING TABLE tableRule | RULES [FROM databaseName] SHOW SHARDING ALGORITHMS [FROM databaseName] SHOW UNUSED SHARDING ALGORITHMS [FROM databaseName] SHOW SHARDING AUDITORS [FROM databaseName] SHOW SHARDING TABLE RULES USED ALGORITHM algorithmName [FROM databaseName] SHOW SHARDING KEY GENERATORS [FROM databaseName] SHOW UNUSED SHARDING KEY GENERATORS [FROM databaseName] SHOW SHARDING TABLE RULES USED KEY GENERATOR keyGeneratorName [FROM databaseName] SHOW DEFAULT SHARDING STRATEGY SHOW SHARDING TABLE NODES tableRule: RULE tableName Support query all data fragmentation rules and specified table query Support query all sharding algorithms Support query all sharding audit algorithms Sharding Binding Table Rule SHOW SHARDING BINDING TABLE RULES [FROM databaseName] Sharding Broadcast Table Rule SHOW SHARDING BROADCAST TABLE RULES [FROM databaseName] Sharding Scaling Rule SHOW SHARDING SCALING RULES [FROM databaseName] Return Value Description Sharding Table Rule Column Description table Logical table name actual_data_nodes Actual data node actual_data_sources Actual data source (Displayed when creating rules by RDL) database_strategy_type Database sharding strategy type database_sharding_column Database sharding column database_sharding_algorithm_type Database sharding algorithm type database_sharding_algorithm_props Database sharding algorithm properties table_strategy_type Table sharding strategy type table_sharding_column Table sharding column table_sharding_algorithm_type Table sharding algorithm type table_sharding_algorithm_props Table sharding algorithm properties key_generate_column Sharding key generator column key_generator_type Sharding key generator type key_generator_props Sharding key generator properties Sharding Algorithms Column Description name Sharding algorithm name type Sharding algorithm type props Sharding algorithm properties Unused Sharding Algorithms Column Description name Sharding algorithm name type Sharding algorithm type props Sharding algorithm properties Sharding auditors Column Description name Sharding audit algorithm name type Sharding audit algorithm type props Sharding audit algorithm properties Sharding key generators Column Description name Sharding key generator name type Sharding key generator type props Sharding key generator properties Unused Sharding Key Generators Column Description name Sharding key generator name type Sharding key generator type props Sharding key generator properties Default Sharding Strategy Column Description name Strategy name type Sharding strategy type sharding_column Sharding column sharding_algorithm_name Sharding algorithm name sharding_algorithm_type Sharding algorithm type sharding_algorithm_props Sharding algorithm properties Sharding Table Nodes Column Description name Sharding rule name nodes Sharding nodes Sharding Binding Table Rule Column Description sharding_binding_tables sharding Binding Table list Sharding Broadcast Table Rule Column Description sharding_broadcast_tables sharding Broadcast Table list Sharding Scaling Rule Column Description name name of sharding scaling rule input data read configuration output data write configuration stream_channel algorithm of stream channel completion_detector algorithm of completion detecting data_consistency_checker algorithm of data consistency checking Example Sharding Table Rule SHOW SHARDING TABLE RULES</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/</guid>
<description>Resource Operation Configure data source information ADD RESOURCE ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_1&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_1 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_2&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create sharding rule CREATE SHARDING TABLE RULE t_order( RESOURCES(ds_0,ds_1), SHARDING_COLUMN=order_id, TYPE(NAME=hash_mod,PROPERTIES(&amp;#34;sharding-count&amp;#34;=4)), KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake)) ); Create sharding table CREATE TABLE `t_order` ( `order_id` int NOT NULL, `user_id` int NOT NULL, `status` varchar(45) DEFAULT NULL, PRIMARY KEY (`order_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 Drop sharding table DROP TABLE t_order; Drop sharding rule DROP SHARDING TABLE RULE t_order; Drop resource DROP RESOURCE ds_0, ds_1; Drop distributed database DROP DATABASE foo_db; </description>
</item>
<item>
<title>ShardingSphere-JDBC</title>
<link>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/</guid>
<description>Scenarios There are four ways you can configure Apache ShardingSphere: Java, YAML, Spring namespace and Spring boot starter. Developers can choose the preferred method according to their requirements.
Limitations Currently only Java language is supported.
Requirements The development environment requires Java JRE 8 or later.
Procedure Rules configuration. Please refer to User Manual for more details.
Import Maven dependency &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core-spring-boot-starter&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Notice: Please change ${latest.</description>
</item>
<item>
<title>SQL Parser Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/parser-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/parser-test/</guid>
<description>Prepare Data Not like Integration test, SQL parse test does not need a specific database environment, just define the sql to parse, and the assert data:
SQL Data As mentioned sql-case-id in Integration test, test-case-id could be shared in different module to test, and the file is at shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/sql/supported/${SQL-TYPE}/*.xml
Assert Data The assert data is at shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/resources/case/${SQL-TYPE}/*.xml in that xml file, it could assert against the table name, token or sql condition and so on.</description>
</item>
<item>
<title>SysBench ShardingSphere-Proxy Empty Rule Performance Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/sysbench-proxy-norules-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/sysbench-proxy-norules-test/</guid>
<description>Objectives Compare the performance of ShardingSphere-Proxy and MySQL
Sysbench directly carries out stress testing on the performance of MySQL. Sysbench directly carries out stress testing on ShardingSphere-Proxy (directly connect MySQL). Based on the above two groups of experiments, we can figure out the loss of MySQL when using ShardingSphere-Proxy.
Set up the test environment Server information Db-related configuration: it is recommended that the memory is larger than the amount of data to be tested, so that the data is stored in the memory hot block, and the rest can be adjusted.</description>
</item>
<item>
<title>Use Binary Tar</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/bin/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/bin/</guid>
<description>Background This section describes how to start ShardingSphere-Proxy by binary release packages
Premise Start the Proxy with a binary package requires an environment with Java JRE 8 or later.
Steps Obtain the binary release package of ShardingSphere-Proxy Obtain the binary release package of ShardingSphere-Proxy on the download page.
Configure conf/server.yaml ShardingSphere-Proxy&amp;rsquo;s operational mode is configured on server.yaml, and its configuration mode is the same with that of ShardingSphere-JDBC.</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/</guid>
<description>Background With ShardingSphere-JDBC, XA and BASE mode transactions can be used through the API.
Prerequisites Introducing Maven dependency
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA&amp;#39;s Narayana mode --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-narayana&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using BASE transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-base-seata-at&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Procedure Set the transaction type Perform the business logic Sample TransactionTypeHolder.</description>
</item>
<item>
<title>What is ShardingSphere</title>
<link>https://shardingsphere.apache.org/document/current/en/overview/intro/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/overview/intro/</guid>
<description>Definition Apache ShardingSphere is an open source ecosystem of distributed databases, including two independent products: JDBC &amp;amp; Proxy. It adopts a plugin-oriented (or plugabble) architecture and expands the original databases&amp;rsquo; features list thanks to components.
ShardingSphere provides many enhanced features in the form of database protocol and SQL, including data sharding, access routing, data security, etc. It supports MySQL, PostgreSQL, SQL Server, Oracle, and other data storage engines.
The idea of the Apache ShardingSphere project is to provide an enhanced database computing service platform and then build an ecosystem around it.</description>
</item>
<item>
<title>XA Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/transaction/2pc-xa-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/transaction/2pc-xa-transaction/</guid>
<description>XAShardingSphereTransactionManager is XA transaction manager of Apache ShardingSphere. Its main responsibility is manage and adapt multiple data sources, and sent corresponding transactions to concrete XA transaction manager.
Transaction Begin When receiving set autoCommit=0 from client, XAShardingSphereTransactionManager will use XA transaction managers to start overall XA transactions, which is marked by XID.
Execute actual sharding SQL After XAShardingSphereTransactionManager register the corresponding XAResource to the current XA transaction, transaction manager will send XAResource.</description>
</item>
<item>
<title>ADD RESOURCE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/add-resource/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/add-resource/</guid>
<description>Description The ADD RESOURCE syntax is used to add resources for the currently selected database.
Syntax AddResource ::= &amp;#39;ADD&amp;#39; &amp;#39;RESOURCE&amp;#39; resourceDefinition (&amp;#39;,&amp;#39; resourceDefinition)* resourceDefinition ::= resourceName &amp;#39;(&amp;#39; ( &amp;#39;HOST&amp;#39; &amp;#39;=&amp;#39; hostName &amp;#39;,&amp;#39; &amp;#39;PORT&amp;#39; &amp;#39;=&amp;#39; port &amp;#39;,&amp;#39; &amp;#39;DB&amp;#39; &amp;#39;=&amp;#39; dbName | &amp;#39;URL&amp;#39; &amp;#39;=&amp;#39; url ) &amp;#39;,&amp;#39; &amp;#39;USER&amp;#39; &amp;#39;=&amp;#39; user (&amp;#39;,&amp;#39; &amp;#39;PASSWORD&amp;#39; &amp;#39;=&amp;#39; password )? (&amp;#39;,&amp;#39; proerties)?&amp;#39;)&amp;#39; resourceName ::= identifier hostname ::= string port ::= int dbName ::= string url ::= string user ::= string password ::= string proerties ::= PROPERTIES &amp;#39;(&amp;#39; property ( &amp;#39;,&amp;#39; property )* &amp;#39;)&amp;#39; property ::= key &amp;#39;=&amp;#39; value key ::= string value ::= string Supplement Before adding resources, please confirm that a database has been created in Proxy, and execute the use command to successfully select a database; Confirm that the added resource can be connected normally, otherwise it will not be added successfully; resourceName is case-sensitive; resourceName needs to be unique within the current database; resourceName name only allows letters, numbers and _, and must start with a letter; poolProperty is used to customize connection pool parameters, key must be the same as the connection pool parameter name, value supports int and String types; When password contains special characters, it is recommended to use the string form; For example, the string form of password@123 is &amp;quot;password@123&amp;quot;.</description>
</item>
<item>
<title>BenchmarkSQL ShardingSphere-Proxy Sharding Performance Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/benchmarksql-proxy-sharding-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/performance-test/benchmarksql-proxy-sharding-test/</guid>
<description>Objective BenchmarkSQL tool is used to test the sharding performance of ShardingSphere-Proxy.
Method ShardingSphere-Proxy supports the TPC-C test through BenchmarkSQL 5.0. In addition to the content described in this document, BenchmarkSQL is operated according to the original document HOW-TO-RUN.txt.
Fine tuning to test tools Unlike stand-alone database stress testing, distributed database solutions inevitably face trade-offs in functions. It is recommended to make the following adjustments when using BenchmarkSQL to carry out stress testing on ShardingSphere-Proxy.</description>
</item>
<item>
<title>Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/configuration/</guid>
<description>RuleBuilder Fully-qualified class name org.apache.shardingsphere.infra.rule.builder.RuleBuilder
Definition Used to convert user configurations into rule objects
Implementation classes Configuration Type Description Fully-qualified class name AuthorityRuleConfiguration Used to convert authority user configuration into authority rule objects org.apache.shardingsphere.authority.rule.builder.AuthorityRuleBuilder SQLParserRuleConfiguration Used to convert SQL parser user configuration into SQL parser rule objects org.apache.shardingsphere.parser.rule.builder.SQLParserRuleBuilder TransactionRuleConfiguration Used to convert transaction user configuration into transaction rule objects org.</description>
</item>
<item>
<title>CREATE DEFAULT SINGLE TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/single-table/create-default-single-table-rule/</guid>
<description>Description The CREATE DEFAULT SINGLE TABLE RULE syntax is used to create a default single table rule.
Syntax CreateDefaultSingleTableRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SINGLE` `TABLE` `RULE&amp;#39; singleTableDefinition singleTableDefinition ::= &amp;#39;RESOURCE&amp;#39; &amp;#39;=&amp;#39; resourceName resourceName ::= identifier Supplement RESOURCE needs to use data source resource managed by RDL. Example Create a default single table rule CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_0; Reserved word CREATE, SHARDING, SINGLE, TABLE, RULE, RESOURCE</description>
</item>
<item>
<title>CREATE SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-table-rule/</guid>
<description>Description The CREATE SHARDING TABLE RULE syntax is used to add sharding table rule for the currently selected database
Syntax CreateShardingTableRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ( tableDefinition | autoTableDefinition ) ( &amp;#39;,&amp;#39; ( tableDefinition | autoTableDefinition ) )* tableDefinition ::= tableName &amp;#39;(&amp;#39; &amp;#39;DATANODES&amp;#39; &amp;#39;(&amp;#39; dataNode ( &amp;#39;,&amp;#39; dataNode )* &amp;#39;)&amp;#39; ( &amp;#39;,&amp;#39; &amp;#39;DATABASE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39; )? ( &amp;#39;,&amp;#39; &amp;#39;TABLE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39; )? ( &amp;#39;,&amp;#39; &amp;#39;KEY_GENERATE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; keyGenerateStrategyDefinition &amp;#39;)&amp;#39; )?</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/data-source/</guid>
<description>Background ShardingSphere-JDBC supports all database JDBC drivers and connection pools.
This section describes how to configure data sources through the JAVA API.
Procedure 1. Import Maven dependency. &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Notice: Please change ${latest.release.version} to the actual version.
Sample ModeConfiguration modeConfig = // Build running mode Map&amp;lt;String, DataSource&amp;gt; dataSourceMap = createDataSources(); Collection&amp;lt;RuleConfiguration&amp;gt; ruleConfigs = ... // Build specific rules Properties props = ... // Build attribute configuration DataSource dataSource = ShardingSphereDataSourceFactory.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/data-source/</guid>
<description>Background information Use local datasource The database driver showed in the example is MySQL and the connection pool is HikariCP, either of which can be replaced by other database drivers and connection pools. When using ShardingSphere JDBC, the property names of the JDBC pools depend on its own definition instead of being fixed by ShardingSphere. See relevant procedures at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator. For example, using url instead of jdbc-url for Alibaba Druid 1.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/data-source/</guid>
<description>Background Any data source object configured as Spring bean can be used with the Spring namespace of ShardingSphere-JDBC Data Planning.
The database driver in the example is MySQL and the connection pool is HikariCP, both of which can be replaced by other database drivers and connection pools. When using ShardingSphere JDBC, the property names of the JDBC pools depend on the definition of JDBC pools themselves respectively, rather than being rigidly defined by ShardingSphere.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/data-source/</guid>
<description>Background ShardingSphere-JDBC Supports all JDBC drivers and database connection pools.
In this example, the database driver is MySQL, and the connection pool is HikariCP, which can be replaced with other database drivers and connection pools. When using ShardingSphere JDBC, the property name of the JDBC pool depends on the definition of the respective JDBC pool and is not defined by ShardingSphere. For related processing, please refer to the class org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator. For example, with Alibaba Druid 1.</description>
</item>
<item>
<title>Design Philosophy</title>
<link>https://shardingsphere.apache.org/document/current/en/overview/design/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/overview/design/</guid>
<description>ShardingSphere adopts the database plus design philosophy, which is committed to building the standards and ecology of the upper layer of the database and supplementing the missing capabilities of the database in the ecology.
Connect: Create database upper level standard Through flexible adaptation of database protocols, SQL dialects, and database storage, it can quickly build standards on top of multi-modal heterogeneous databases, while providing standardized connection mode for applications through built-in DistSQL.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/db-gateway/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/db-gateway/limitations/</guid>
<description>The SQL dialect translation of Apache ShardingSphere is experimental.
Currently, only MySQL/PostgreSQL dialects can be automatically translated. Engineers can use MySQL dialects and protocols to access PostgreSQL databases and vice versa.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/limitations/</guid>
<description> You need to process the original data on stocks in the database by yourself. The case-insensitive queries are not supported for encrypted fields. Comparison operations are not supported for encrypted fields, such as GREATER THAN, LESS THAN, ORDER BY, BETWEEN, LIKE. Calculation operations are not supported for encrypted fields, such as AVG, SUM, and computation expressions. </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/ha/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/ha/limitations/</guid>
<description>Supported MySQL MGR single-primary mode MySQL Primary/secondary replication mode openGauss Primary/secondary replication mode Not supported MySQL MGR Multi-primary mode </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/readwrite-splitting/limitations/</guid>
<description> Data synchronization of primary and secondary databases is not supported. Data inconsistency resulting from data synchronization delays between primary and secondary databases is not supported. Multi-write of primary database is not supported. Transactional consistency between primary and secondary databases is not supported. In the primary-secondary model, both data reads and writes in transactions use the primary database. </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/scaling/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/scaling/limitations/</guid>
<description>Procedures Supported Migration of peripheral data to databases managed by Apache ShardingSphere. Migration of integer or string primary key tables. Procedures not supported Migration without primary key tables. Migration of composite primary key tables. Migration on top of the current storage node is not supported, so a brand new database cluster needs to be prepared as the migration target cluster. </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/shadow/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/shadow/limitations/</guid>
<description>Hint based shadow algorithm No
Column based shadow algorithm Does not support DDL.
Does not support scope, group, subqueries such as BETWEEN, GROUP BY &amp;hellip; HAVING, etc.
SQL support list
INSERT SQL support or not INSERT INTO table (column,&amp;hellip;) VALUES (value,&amp;hellip;) support INSERT INTO table (column,&amp;hellip;) VALUES (value,&amp;hellip;),(value,&amp;hellip;),&amp;hellip; support INSERT INTO table (column,&amp;hellip;) SELECT column1 from table1 where column1 = value1 do not support SELECT/UPDATE/DELETE condition categories SQL support or not = SELECT/UPDATE/DELETE &amp;hellip; WHERE column = value support LIKE/NOT LIKE SELECT/UPDATE/DELETE &amp;hellip; WHERE column LIKE/NOT LIKE value support IN/NOT IN SELECT/UPDATE/DELETE &amp;hellip; WHERE column IN/NOT IN (value1,value2,&amp;hellip;) support BETWEEN SELECT/UPDATE/DELETE &amp;hellip; WHERE column BETWEEN value1 AND value2 do not support GROUP BY &amp;hellip; HAVING&amp;hellip; SELECT/UPDATE/DELETE &amp;hellip; WHERE &amp;hellip; GROUP BY column HAVING column &amp;gt; value do not support Sub Query SELECT/UPDATE/DELETE &amp;hellip; WHERE column = (SELECT column FROM table WHERE column = value) do not support </description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/limitation/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/limitation/</guid>
<description>Compatible with all commonly used SQL that routes to single data nodes; SQL routing to multiple data nodes is divided, because of complexity issues, into three conditions: stable support, experimental support, and no support.
Stable Support Full support for DML, DDL, DCL, TCL, and common DALs. Support for complex queries such as paging, de-duplication, sorting, grouping, aggregation, table association, etc. Support SCHEMA DDL and DML statements of PostgreSQL and openGauss database.</description>
</item>
<item>
<title>Limitations</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/limitations/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/limitations/</guid>
<description>Though Apache ShardingSphere intends to be compatible with all distributed scenario and best performance, under CAP theorem guidance, there is no sliver bullet with distributed transaction solution.
Apache ShardingSphere wants to give the user choice of distributed transaction type and use the most suitable solution in different scenarios.
LOCAL Transaction Supported Support none-cross-database transactions. For example, sharding table or sharding database with its route result in same database; Support cross-database transactions caused by logic exceptions.</description>
</item>
<item>
<title>Manual</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/scaling/usage/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/scaling/usage/</guid>
<description>Manual Environment JAVA, JDK 1.8+.
The migration scene we support:
Source Target MySQL(5.1.15 ~ 5.7.x) MySQL(5.1.15 ~ 5.7.x) PostgreSQL(9.4 ~ ) PostgreSQL(9.4 ~ ) openGauss(2.1.0) openGauss(2.1.0) Supported features:
Feature MySQL PostgreSQL openGauss Inventory migration Supported Supported Supported Incremental migration Supported Supported Supported Create table automatically Supported Supported Supported DATA_MATCH data consistency check Supported Supported Supported CRC32_MATCH data consistency check Supported Unsupported Unsupported Attention:</description>
</item>
<item>
<title>Properties</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/props/</guid>
<description>Background Apache ShardingSphere can configure system-level configuration through property configuration. This section describes the configuration items in server.yaml.
Parameters Name Data Type Description Default Dynamic Update sql-show (?) boolean Whether to print SQL in logs. Printing SQL can help developers quickly locate system problems. Logs contain the following contents: logical SQL, authentic SQL and SQL parsing result. If configuration is enabled,logs will use Topic ShardingSphere-SQL,and log level is INFO。 false True sql-simple (?</description>
</item>
<item>
<title>Readwrite splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting/</guid>
<description>Background The read-write splitting configuration method of Spring Boot Starter is suitable for business scenarios using SpringBoot and can maximize the capabilities of initializing SringBoot configuration process and bean management to complete the creation of ShardingSphereDataSource object, reducing unnecessary coding work.
Parameters Explained Static Readwrite-splitting spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage spring.shardingsphere.rules.readwrite-splitting.data-sources.&amp;lt;readwrite-splitting-data-source-name&amp;gt;.static-strategy.write-data-source-name= # Write data source name spring.shardingsphere.rules.readwrite-splitting.data-sources.&amp;lt;readwrite-splitting-data-source-name&amp;gt;.static-strategy.read-data-source-names= # Read data source names, multiple data source names separated with comma spring.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/</guid>
<description>Background The read/write splitting configured in Java API form can be easily applied to various scenarios without relying on additional jar packages. Users only need to construct the read/write splitting data source through java code to be able to use the read/write splitting function.
Parameters Explained Entry Class name: org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration
Configurable Properties:
Name DataType Description dataSources (+) Collection&amp;lt;ReadwriteSplittingDataSourceRuleConfiguration&amp;gt; Data sources of write and reads loadBalancers (*) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Load balance algorithm name and configurations of replica data sources Primary-secondary Data Source Configuration Class name: org.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting/</guid>
<description>Background Spring namespace read/write splitting configuration method is suitable for conventional Spring projects, determine sharding rules and properties through namespace XML configuration files, and let Spring do the creation and management of ShardingSphereDataSource objects, avoiding additional coding work.
Parameters Explained Namespace: http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting/readwrite-splitting-5.1.2.xsd
&amp;lt;readwrite-splitting:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id data-source-rule (+) Tag Readwrite-splitting data source rule configuration &amp;lt;readwrite-splitting:data-source-rule /&amp;gt;</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/</guid>
<description>Background Read/write splitting YAML configuration is highly readable. The YAML format enables you to quickly understand the dependencies between read/write sharding rules. ShardingSphere automatically creates the ShardingSphereDataSource object according to the YAML configuration, which reduces unnecessary coding for users.
Parameters Static Readwrite-splitting rules: - !READWRITE_SPLITTING dataSources: &amp;lt;data-source-name&amp;gt; (+): # Logic data source name of readwrite-splitting static-strategy: # Readwrite-splitting type write-data-source-name: # Write data source name read-data-source-names: # Read data source names, multiple data source names separated with comma loadBalancerName: # Load balance algorithm name # Load balance algorithm configuration loadBalancers: &amp;lt;load-balancer-name&amp;gt; (+): # Load balance algorithm name type: # Load balance algorithm type props: # Load balance algorithm properties # .</description>
</item>
<item>
<title>Readwrite_splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/</guid>
<description>Resource Operation ADD RESOURCE write_ds ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),read_ds ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3307, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create readwrite_splitting rule CREATE READWRITE_SPLITTING RULE group_0 ( WRITE_RESOURCE=write_ds, READ_RESOURCES(read_ds), TYPE(NAME=random) ); Alter readwrite_splitting rule ALTER READWRITE_SPLITTING RULE group_0 ( WRITE_RESOURCE=write_ds, READ_RESOURCES(read_ds), TYPE(NAME=random,PROPERTIES(read_weight=&amp;#39;2:0&amp;#39;)) ); Drop readwrite_splitting rule DROP READWRITE_SPLITTING RULE group_0; Drop resource DROP RESOURCE write_ds,read_ds; Drop distributed database DROP DATABASE readwrite_splitting_db; </description>
</item>
<item>
<title>Route Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/route/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/route/</guid>
<description>Sharding strategies for databases and tables are matched based on the parsing context, and routing paths are generated. SQL with shard keys can be divided into the single-shard router (the shard key operator is equal), multi-shard router (the shard key operator is IN), and range router (the shard key operator is BETWEEN). SQL that does not carry shard keys adopts broadcast routing.
Sharding strategies can usually be configured either by the built-in database or by the user.</description>
</item>
<item>
<title>Seata BASE transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/transaction/base-transaction-seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/transaction/base-transaction-seata/</guid>
<description>When integrating Seata AT transaction, we need to integrate TM, RM and TC component into ShardingSphere transaction manager. Seata have proxied DataSource interface in order to RPC with TC. Similarly, Apache ShardingSphere faced to DataSource interface to aggregate data sources too. After Seata DataSource encapsulation, it is easy to put Seata AT transaction into Apache ShardingSphere sharding ecosystem.
Init Seata Engine When an application containing ShardingSphereTransactionBaseSeataAT startup, the user-configured DataSource will be wrapped into seata DataSourceProxy through seata.</description>
</item>
<item>
<title>Sharding Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sharding/</guid>
<description>Background ShardingSphere built-in algorithms provide a variety of sharding algorithms, which can be divided into automatic sharding algorithms, standard sharding algorithms, composite sharding algorithms, and hint sharding algorithms, and can meet the needs of most business scenarios of users.
Additionally, considering the complexity of business scenarios, the built-in algorithm also provides a way to customize the sharding algorithm. Users can complete complex sharding logic by writing java code.
Parameters Auto Sharding Algorithm Modulo Sharding Algorithm Type: MOD</description>
</item>
<item>
<title>ShardingSphere-Proxy</title>
<link>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/</guid>
<description>Scenarios ShardingSphere-Proxy is positioned as a transparent database proxy. It theoretically supports any client operation data using MySQL, PostgreSQL and openGauss protocols, and is friendly to heterogeneous languages and operation and maintenance scenarios.
Limitations Proxy provides limited support for system databases / tables (such as information_schema, pg_catalog). When connecting to Proxy through some graph database clients, the client or proxy may have an error prompt. You can use command-line clients (mysql, psql, gsql, etc.</description>
</item>
<item>
<title>SHOW RESOURCE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-resource/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-resource/</guid>
<description>Description The SHOW RESOURCE syntax is used to query the resources that have been added to the specified database.
Syntax ShowResource ::= &amp;#39;SHOW&amp;#39; &amp;#39;DATABASE&amp;#39; &amp;#39;RESOURCES&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE; if DATABASE is not used, it will prompt No database selected. Return Value Description Column Description name Data source name type Data source type host Data source host port Data source port db Database name attribute Data source attribute Example Query resources for the specified database SHOW DATABASE RESOURCES FROM sharding_db; +------+-------+-----------+------+------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | host | port | db | connection_timeout_milliseconds | idle_timeout_milliseconds | max_lifetime_milliseconds | max_pool_size | min_pool_size | read_only | other_attributes | +------+-------+-----------+------+------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ds_0 | MySQL | 127.</description>
</item>
<item>
<title>Single Table</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/single-table/</guid>
<description>Definition CREATE DEFAULT SINGLE TABLE RULE singleTableRuleDefinition ALTER DEFAULT SINGLE TABLE RULE singleTableRuleDefinition DROP DEFAULT SINGLE TABLE RULE singleTableRuleDefinition: RESOURCE = resourceName RESOURCE needs to use data source resource managed by RDL Example Single Table Rule CREATE DEFAULT SINGLE TABLE RULE RESOURCE = ds_0 ALTER DEFAULT SINGLE TABLE RULE RESOURCE = ds_1 DROP DEFAULT SINGLE TABLE RULE </description>
</item>
<item>
<title>Single Table</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/</guid>
<description>Syntax SHOW SINGLE TABLE (table | RULES) [FROM databaseName] SHOW SINGLE TABLES COUNT SINGLE_TABLE RULE [FROM databaseName] table: TABLE tableName Return Value Description Single Table Rule Column Description name Rule name resource_name Data source name Single Table Column Description table_name Single table name resource_name The resource name where the single table is located Single Table Rule Count 列 说明 rule_name Single table rule name database The database name where the single table is located count The count of single table rules Example SHOW SINGLE TABLES RULES</description>
</item>
<item>
<title>SQL Rewrite Test</title>
<link>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/rewrite-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/test-manual/module-test/rewrite-test/</guid>
<description>Target Facing logic databases and tables cannot be executed directly in actual databases. SQL rewrite is used to rewrite logic SQL into rightly executable ones in actual databases, including two parts, correctness rewrite and optimization rewrite. rewrite tests are for these targets.
Test The rewrite tests are in the test folder under sharding-core/sharding-core-rewrite . Followings are the main part for rewrite tests:
test engine environment configuration assert data Test engine is the entrance of rewrite tests, just like other test engines, through Junit Parameterized, read every and each data in the xml file under the target test type in test\resources, and then assert by the engine one by one</description>
</item>
<item>
<title>Use Docker</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/docker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/docker/</guid>
<description>Background This chapter is an introduction about how to start ShardingSphere-Proxy via Docker
Notice Using Docker to start ShardingSphere-Proxy does not require additional package supoort.
Steps Acquire Docker Image Method 1 (Recommended): Pull from DockerHub docker pull apache/shardingsphere-proxy Method 2: Acquire latest master branch image master: https://github.com/apache/shardingsphere/pkgs/container/shardingsphere-proxy
Method 3: Build your own image
git clone https://github.com/apache/shardingsphere mvn clean install cd shardingsphere-distribution/shardingsphere-proxy-distribution mvn clean package -Prelease,docker If the following problems emerge, please make sure Docker daemon Process is running.</description>
</item>
<item>
<title>Use Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-boot-starter/</guid>
<description>Background ShardingSphere-JDBC can be used through spring boot starter.
Prerequisites Introducing Maven dependency
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core-spring-boot-starter&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA&amp;#39;s Narayana mode --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-narayana&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using BASE transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-base-seata-at&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Procedure Configure the transaction Type Use distributed transactions Sample Configure the transaction Type @Configuration @EnableTransactionManagement public class TransactionConfiguration { @Bean public PlatformTransactionManager txManager(final DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean public JdbcTemplate jdbcTemplate(final DataSource dataSource) { return new JdbcTemplate(dataSource); } } Use distributed transactions @Transactional @ShardingSphereTransactionType(TransactionType.</description>
</item>
<item>
<title>ALTER RESOURCE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/alter-resource/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/alter-resource/</guid>
<description>Description The ALTER RESOURCE syntax is used to alter resources for the currently selected database.
Syntax AlterResource ::= &amp;#39;ALTER&amp;#39; &amp;#39;RESOURCE&amp;#39; resourceDefinition (&amp;#39;,&amp;#39; resourceDefinition)* resourceDefinition ::= resourceName &amp;#39;(&amp;#39; ( &amp;#39;HOST&amp;#39; &amp;#39;=&amp;#39; hostName &amp;#39;,&amp;#39; &amp;#39;PORT&amp;#39; &amp;#39;=&amp;#39; port &amp;#39;,&amp;#39; &amp;#39;DB&amp;#39; &amp;#39;=&amp;#39; dbName | &amp;#39;URL&amp;#39; &amp;#39;=&amp;#39; url ) &amp;#39;,&amp;#39; &amp;#39;USER&amp;#39; &amp;#39;=&amp;#39; user (&amp;#39;,&amp;#39; &amp;#39;PASSWORD&amp;#39; &amp;#39;=&amp;#39; password )? (&amp;#39;,&amp;#39; proerties)?&amp;#39;)&amp;#39; resourceName ::= identifier hostname ::= string port ::= int dbName ::= string url ::= string user ::= string password ::= string proerties ::= PROPERTIES &amp;#39;(&amp;#39; property ( &amp;#39;,&amp;#39; property )* &amp;#39;)&amp;#39; property ::= key &amp;#39;=&amp;#39; value key ::= string value ::= string Supplement Before altering the resources, please confirm that a database exists in Proxy, and execute the use command to successfully select a database; ALTER RESOURCE is not allowed to change the real data source associated with this resource; ALTER RESOURCE will switch the connection pool.</description>
</item>
<item>
<title>ALTER SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/alter-sharding-table-rule/</guid>
<description>Description The ALTER SHARDING TABLE RULE syntax is used to alter sharding table rule for the currently selected database
Syntax AlterShardingTableRule ::= &amp;#39;ALTER&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULE&amp;#39; ( tableDefinition | autoTableDefinition ) ( &amp;#39;,&amp;#39; ( tableDefinition | autoTableDefinition ) )* tableDefinition ::= tableName &amp;#39;(&amp;#39; &amp;#39;DATANODES&amp;#39; &amp;#39;(&amp;#39; dataNode ( &amp;#39;,&amp;#39; dataNode )* &amp;#39;)&amp;#39; ( &amp;#39;,&amp;#39; &amp;#39;DATABASE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39; )? ( &amp;#39;,&amp;#39; &amp;#39;TABLE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; strategyDefinition &amp;#39;)&amp;#39; )? ( &amp;#39;,&amp;#39; &amp;#39;KEY_GENERATE_STRATEGY&amp;#39; &amp;#39;(&amp;#39; keyGenerateStrategyDefinition &amp;#39;)&amp;#39; )?</description>
</item>
<item>
<title>Appendix with SQL operator</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/appendix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/appendix/</guid>
<description>Unsupported SQL:
CASE WHEN contains sub-query Logical table names are used in CASE WHEN( Please use an alias) INSERT INTO tbl_name (col1, col2, …) SELECT * FROM tbl_name WHERE col3 = ?(The SELECT clause does not support * and the built-in distributed primary key generator) REPLACE INTO tbl_name (col1, col2, …) SELECT * FROM tbl_name WHERE col3 = ?(The SELECT clause does not support * and the built-in distributed primary key generator) SELECT MAX(tbl_name.</description>
</item>
<item>
<title>Deployment</title>
<link>https://shardingsphere.apache.org/document/current/en/overview/deployment/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/overview/deployment/</guid>
<description>Deployment Apache ShardingSphere includes two independent clients: ShardingSphere-JDBC &amp;amp; ShardingSphere-Proxy. They all provide functions of data scale-out, distributed transaction and distributed governance, applicable in a variety of scenarios such as Java isomorphism, heterogeneous languages, and a cloud-native environment.
Independent ShardingSphere-JDBC ShardingSphere-JDBC is a lightweight Java framework that provides additional services at Java&amp;rsquo;s JDBC layer. With the client connecting directly to the database, it provides services in the form of jar and requires no extra deployment and dependence.</description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/transaction/</guid>
<description>Root Configuration org.apache.shardingsphere.transaction.config.TransactionRuleConfiguration
Attributes:
name DataType Description defaultType String Default transaction type providerType (?) String Transaction provider type props (?) Properties Transaction properties </description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/transaction/</guid>
<description>Background ShardingSphere provides three modes for distributed transactions LOCAL, XA, BASE.
Parameters defaultType: transaction mode, optional value LOCAL/XA/BASE. providerType: specific implementation of the mode. Procedure Use LOCAL Mode The content of the server.yaml configuration file is as follows:
rules: - !TRANSACTION defaultType: LOCAL Use XA Mode The content of the server.yaml configuration file is as follows:
rules: - !TRANSACTION defaultType: XA providerType: Narayana/Atomikos To manually add Narayana-related dependencies:</description>
</item>
<item>
<title>Encrypt</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/</guid>
<description>Resource Operation ADD RESOURCE ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create encrypt rule CREATE ENCRYPT RULE t_encrypt ( COLUMNS( (NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES(&amp;#39;aes-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;))), (NAME=order_id,PLAIN=order_plain,CIPHER =order_cipher,TYPE(NAME=RC4,PROPERTIES(&amp;#39;rc4-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;))) )); Create encrypt table CREATE TABLE `t_encrypt` ( `id` int(11) NOT NULL, `user_id` varchar(45) DEFAULT NULL, `order_id` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; Alter encrypt rule ALTER ENCRYPT RULE t_encrypt ( COLUMNS( (NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES(&amp;#39;aes-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;))) )); Drop encrypt rule DROP ENCRYPT RULE t_encrypt; Drop resource DROP RESOURCE ds_0; Drop distributed database DROP DATABASE encrypt_db; </description>
</item>
<item>
<title>HA</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/</guid>
<description>Background The Spring Boot Starter configuration method is applicable to business scenarios using SpringBoot. It can make full use of the SpringBoot configuration initialization and bean management capabilities, to automatically complete the creation of ShardingSphereDataSource objects.
Parameters spring.shardingsphere.datasource.names= # Omit data source configuration, please refer to the user manual spring.shardingsphere.rules.readwrite-splitting.data-sources.&amp;lt;readwrite-splitting-data-source-name&amp;gt;.dynamic-strategy.auto-aware-data-source-name= # Logical data source name discovered by the database spring.shardingsphere.rules.database-discovery.data-sources.&amp;lt;database-discovery-data-source-name&amp;gt;.data-source-names= # Data source name. Multiple data sources are separated by commas, for example: ds_0, ds_1 spring.</description>
</item>
<item>
<title>HA</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/</guid>
<description>Background The Spring namespace configuration method, applicable to traditional Spring projects, configures highly availability rules by means of namespace XML configuration files, and Spring completes the creation and management of ShardingSphereDataSource objects.
Parameters Explained Namespace: http://shardingsphere.apache.org/schema/shardingsphere/database-discovery/database-discovery-5.1.1.xsd
&amp;lt;database-discovery:rule /&amp;gt;
Name Type Description id Property Spring Bean Id data-source-rule (+) Tag Configuration of data source rules discovery-heartbeat (+) Tag Configuration of heartbeat rules detection &amp;lt;database-discovery:data-source-rule /&amp;gt;</description>
</item>
<item>
<title>Kernel</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/kernel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/kernel/</guid>
<description>SQLRouter Fully-qualified class name org.apache.shardingsphere.infra.route.SQLRouter
Definition Used to process routing results
Implementation classes Configuration type Description Fully-qualified class name SingleTableRule.class Used to process single-table routing results org.apache.shardingsphere.singletable.route.SingleTableSQLRouter ShardingRule.class Used to process sharding routing results org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter ReadwriteSplittingRule.class Used to process read-write splitting routing results org.apache.shardingsphere.readwritesplitting.route.ReadwriteSplittingSQLRouter DatabaseDiscoveryRule.class Used to process database discovery routing results org.apache.shardingsphere.dbdiscovery.route.DatabaseDiscoverySQLRouter ShadowRule.class Used to process shadow database routing results org.</description>
</item>
<item>
<title>Key Generate Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/</guid>
<description>Background In traditional database software development, automatic primary key generation is a basic requirement and various databases provide support for this requirement, such as MySQL&amp;rsquo;s self-incrementing keys, Oracle&amp;rsquo;s self-incrementing sequences, etc.
After data sharding, it is a very tricky problem to generate global unique primary keys from different data nodes. Self-incrementing keys between different actual tables within the same logical table generate duplicate primary keys because they are not mutually perceived.</description>
</item>
<item>
<title>Readwrite-Splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/readwrite-splitting/</guid>
<description>Syntax CREATE READWRITE_SPLITTING RULE readwriteSplittingRuleDefinition [, readwriteSplittingRuleDefinition] ... ALTER READWRITE_SPLITTING RULE readwriteSplittingRuleDefinition [, readwriteSplittingRuleDefinition] ... DROP READWRITE_SPLITTING RULE ruleName [, ruleName] ... readwriteSplittingRuleDefinition: ruleName ([staticReadwriteSplittingRuleDefinition | dynamicReadwriteSplittingRuleDefinition] [, loadBanlancerDefinition]) staticReadwriteSplittingRuleDefinition: WRITE_RESOURCE=writeResourceName, READ_RESOURCES(resourceName [, resourceName] ... ) dynamicReadwriteSplittingRuleDefinition: AUTO_AWARE_RESOURCE=resourceName [, WRITE_DATA_SOURCE_QUERY_ENABLED=writeDataSourceQueryEnabled] loadBanlancerDefinition: TYPE(NAME=loadBanlancerType [, PROPERTIES([algorithmProperties] )] ) algorithmProperties: algorithmProperty [, algorithmProperty] ... algorithmProperty: key=value writeDataSourceQueryEnabled: TRUE | FALSE Support the creation of static readwrite-splitting rules and dynamic readwrite-splitting rules Dynamic readwrite-splitting rules rely on database discovery rules loadBanlancerType specifies the load balancing algorithm type, please refer to Load Balance Algorithm Duplicate ruleName will not be created Example // Static CREATE READWRITE_SPLITTING RULE ms_group_0 ( WRITE_RESOURCE=write_ds, READ_RESOURCES(read_ds_0,read_ds_1), TYPE(NAME=random) ); // Dynamic CREATE READWRITE_SPLITTING RULE ms_group_1 ( AUTO_AWARE_RESOURCE=group_0, WRITE_DATA_SOURCE_QUERY_ENABLED=false, TYPE(NAME=random,PROPERTIES(read_weight=&amp;#39;2:1&amp;#39;)) ); ALTER READWRITE_SPLITTING RULE ms_group_1 ( WRITE_RESOURCE=write_ds, READ_RESOURCES(read_ds_0,read_ds_1,read_ds_2), TYPE(NAME=random,PROPERTIES(read_weight=&amp;#39;2:0&amp;#39;)) ); DROP READWRITE_SPLITTING RULE ms_group_1; </description>
</item>
<item>
<title>Readwrite-Splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/</guid>
<description>Syntax SHOW READWRITE_SPLITTING RULES [FROM databaseName] Return Value Description Column Description name Rule name auto_aware_data_source_name Auto-Aware discovery data source name (Display configuration dynamic readwrite splitting rules) write_data_source_query_enabled All read data source are offline, write data source whether the data source is responsible for read traffic write_data_source_name Write data source name read_data_source_names Read data source name list load_balancer_type Load balance algorithm type load_balancer_props Load balance algorithm parameter Example Static Readwrite Splitting Rules</description>
</item>
<item>
<title>Reserved word</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/reserved-word/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/reserved-word/</guid>
<description>Resource Definition ADD, ALTER, DROP, RESOURCE, IF, EXISTS, HOST, PORT, DB, USER, PASSWORD, PROPERTIES, URL , IGNORE, SINGLE, TABLES
Rule Definition SHARDING CREATE, DEFAULT, SHARDING, BROADCAST, BINDING, DATABASE, TABLE, STRATEGY, RULE, RULES, ALGORITHM , DATANODES, DATABASE_STRATEGY, TABLE_STRATEGY, KEY_GENERATE_STRATEGY, RESOURCES, SHARDING_COLUMN, KEY , GENERATOR, TYPE, SHARDING_COLUMNS, KEY_GENERATOR, SHARDING_ALGORITHM, COLUMN, NAME, PROPERTIES
Supplement The above reserved words are not case-sensitive </description>
</item>
<item>
<title>Rewrite Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/rewrite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/rewrite/</guid>
<description>SQL written by engineers for logical databases and tables cannot be directly executed in real databases.
SQL rewriting is used to rewrite logical SQL into SQL that can be executed correctly in real databases. It includes rewriting for correctness and rewriting for optimization.
Rewriting for Correctness In a scenario with table shards, you need to rewrite the logical table name in the table shards configuration to the real table name obtained after routing.</description>
</item>
<item>
<title>Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/rules/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/yaml-config/rules/</guid>
<description>Background This section describes how to configure the rules for ShardingSphere-Proxy.
Parameters Explained Rules configuration of ShardingSphere-Proxy is the same as that of ShardingSphere-JDBC. For details, please refer to ShardingSphere-JDBC Rules Configuration.
Notice Unlike ShardingSphere-JDBC, the following rules need to be configured in server.yaml of ShardingSphere-Proxy:
SQL Parsing Distributed Operations SQL Translator </description>
</item>
<item>
<title>SHOW SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/rule-query/sharding/show-sharding-table-rule/</guid>
<description>Description The SHOW SHARDING TABLE RULE syntax is used to query the sharding table rule in the specified database.
Syntax ShowShardingTableRule ::= &#39;SHOW&#39; &#39;SHARDING&#39; &#39;TABLE&#39; (&#39;RULE&#39; tableName | &#39;RULES&#39;) (&#39;FROM&#39; databaseName)? tableName ::= identifier databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE. If DATABASE is not used, No database selected will be prompted. Return value description Column Description table Logical table name actual_data_nodes Actual data node actual_data_sources Actual data source (Displayed when creating rules by RDL) database_strategy_type Database sharding strategy type database_sharding_column Database sharding column database_sharding_algorithm_type Database sharding algorithm type database_sharding_algorithm_props Database sharding algorithm properties table_strategy_type Table sharding strategy type table_sharding_column Table sharding column table_sharding_algorithm_type Table sharding algorithm type table_sharding_algorithm_props Table sharding algorithm properties key_generate_column Sharding key generator column key_generator_type Sharding key generator type key_generator_props Sharding key generator properties Example Query the sharding table rules of the specified logical database SHOW SHARDING TABLE RULES FROM sharding_db; +--------------+-------------------+---------------------+------------------------+--------------------------+----------------------------------+-----------------------------------+---------------------+-----------------------+-------------------------------+--------------------------------+---------------------+--------------------+---------------------+ | table | actual_data_nodes | actual_data_sources | database_strategy_type | database_sharding_column | database_sharding_algorithm_type | database_sharding_algorithm_props | table_strategy_type | table_sharding_column | table_sharding_algorithm_type | table_sharding_algorithm_props | key_generate_column | key_generator_type | key_generator_props | +--------------+-------------------+---------------------+------------------------+--------------------------+----------------------------------+-----------------------------------+---------------------+-----------------------+-------------------------------+--------------------------------+---------------------+--------------------+---------------------+ | t_order | | ds_0,ds_1 | | | | | mod | order_id | mod | sharding-count=4 | | | | | t_order_item | | ds_0,ds_1 | | | | | mod | order_id | mod | sharding-count=4 | | | | +--------------+-------------------+---------------------+------------------------+--------------------------+----------------------------------+-----------------------------------+---------------------+-----------------------+-------------------------------+--------------------------------+---------------------+--------------------+---------------------+ 2 rows in set (0.</description>
</item>
<item>
<title>SHOW UNUSED RESOURCE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-unused-resource/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-unused-resource/</guid>
<description>Description The SHOW UNUSED RESOURCE syntax is used to query resources in the specified database that have not been referenced by rules.
Syntax ShowUnusedResource ::= &amp;#39;SHOW&amp;#39; &amp;#39;UNUSED&amp;#39; &amp;#39;DATABASE&amp;#39;? &amp;#39;RESOURCES&amp;#39; (&amp;#39;FROM&amp;#39; databaseName)? databaseName ::= identifier Supplement When databaseName is not specified, the default is the currently used DATABASE; if DATABASE is not used, it will prompt No database selected. Return Value Description Column Description name Data source name type Data source type host Data source host port Data source port db Database name attribute Data source attribute Example Query resources for the specified database SHOW UNUSED DATABASE RESOURCES FROM sharding_db; +------+-------+-----------+------+------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | host | port | db | connection_timeout_milliseconds | idle_timeout_milliseconds | max_lifetime_milliseconds | max_pool_size | min_pool_size | read_only | other_attributes | +------+-------+-----------+------+------+---------------------------------+---------------------------+---------------------------+---------------+---------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ds_0 | MySQL | 127.</description>
</item>
<item>
<title>Use Helm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/helm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/startup/helm/</guid>
<description>Background Use Helm to provide guidance for the installation of ShardingSphere-Proxy instance in a Kubernetes cluster.
Requirements Kubernetes 1.18+ kubectl Helm 3.2.0+ StorageClass of PV (Persistent Volumes) can be dynamically applied for persistent data (Optional) . Procedure Online installation Add ShardingSphere-Proxy to the local helm repo: helm repo add shardingsphere https://shardingsphere.apache.org/charts Install ShardingSphere-Proxy charts: helm install shardingsphere-proxy shardingsphere/shardingsphere-proxy Source installation Charts will be installed with default configuration if the following commands are executed: cd shardingsphere-proxy/charts/governance helm dependency build cd .</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-namespace/</guid>
<description>Background ShardingSphere-JDBC can be used through spring namespace.
Prerequisites Introducing Maven denpendency
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core-spring-namespace&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA&amp;#39;s Narayana mode --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-narayana&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using BASE transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-base-seata-at&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Procedure Configure the transaction manager Use distributed transactions Sample Configure the transaction manager &amp;lt;!</description>
</item>
<item>
<title>Atomikos Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/</guid>
<description>Background Apache ShardingSphere provides XA transactions, and the default XA transaction manager is Atomikos.
Procedure Configure the transaction type Configure Atomikos Sample Configure the transaction type Yaml:
- !TRANSACTION defaultType: XA providerType: Atomikos SpringBoot:
spring: shardingsphere: props: xa-transaction-manager-type: Atomikos Spring Namespace:
&amp;lt;shardingsphere:data-source id=&amp;#34;xxx&amp;#34; data-source-names=&amp;#34;xxx&amp;#34; rule-refs=&amp;#34;xxx&amp;#34;&amp;gt; &amp;lt;props&amp;gt; &amp;lt;prop key=&amp;#34;xa-transaction-manager-type&amp;#34;&amp;gt;Atomikos&amp;lt;/prop&amp;gt; &amp;lt;/props&amp;gt; &amp;lt;/shardingsphere:data-source&amp;gt; Configure Atomikos Atomikos configuration items can be customized by adding jta.properties to the project&amp;rsquo;s classpath.
See Atomikos&amp;rsquo;s official documentation for more details.</description>
</item>
<item>
<title>CREATE SHARDING ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-algorithm/</guid>
<description>Description The CREATE SHARDING ALGORITHM syntax is used to create a sharding algorithm for the currently selected database.
Syntax CreateShardingAlgorithm ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;ALGORITHM&amp;#39; shardingAlgorithmName &amp;#39;(&amp;#39; algorithmDefinition &amp;#39;)&amp;#39; algorithmDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; algorithmType ( &amp;#39;,&amp;#39; &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; propertyDefinition &amp;#39;)&amp;#39; )?&amp;#39;)&amp;#39; propertyDefinition ::= ( key &amp;#39;=&amp;#39; value ) ( &amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value )* shardingAlgorithmName ::= identifier algorithmType ::= identifier Supplement algorithmType is the sharding algorithm type. For detailed sharding algorithm type information, please refer to Sharding Algorithm.</description>
</item>
<item>
<title>DataSource</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/data-source/</guid>
<description>DatabaseType Fully-qualified class name org.apache.shardingsphere.infra.database.type.DatabaseType
Definition Supported database types definition
Implementation classes Configuration Type Description Fully-qualified class name SQL92 SQL92 database type org.apache.shardingsphere.infra.database.type.dialect.SQL92DatabaseType MySQL MySQL database org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType MariaDB MariaDB database org.apache.shardingsphere.infra.database.type.dialect.MariaDBDatabaseType PostgreSQL PostgreSQL database org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseType Oracle Oracle database org.apache.shardingsphere.infra.database.type.dialect.OracleDatabaseType SQLServer SQLServer database org.apache.shardingsphere.infra.database.type.dialect.SQLServerDatabaseType H2 H2 database org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType openGauss OpenGauss database org.</description>
</item>
<item>
<title>DB Discovery</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/db-discovery/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/db-discovery/</guid>
<description>Syntax CREATE DB_DISCOVERY RULE ruleDefinition [, ruleDefinition] ... ALTER DB_DISCOVERY RULE ruleDefinition [, ruleDefinition] ... DROP DB_DISCOVERY RULE ruleName [, ruleName] ... CREATE DB_DISCOVERY TYPE databaseDiscoveryTypeDefinition [, databaseDiscoveryTypeDefinition] ... ALTER DB_DISCOVERY TYPE databaseDiscoveryTypeDefinition [, databaseDiscoveryTypeDefinition] ... DROP DB_DISCOVERY TYPE discoveryTypeName [, discoveryTypeName] ... CREATE DB_DISCOVERY HEARTBEAT databaseDiscoveryHeartbaetDefinition [, databaseDiscoveryHeartbaetDefinition] ... ALTER DB_DISCOVERY HEARTBEAT databaseDiscoveryHeartbaetDefinition [, databaseDiscoveryHeartbaetDefinition] ... DROP DB_DISCOVERY HEARTBEAT discoveryHeartbeatName [, discoveryHeartbeatName] ... ruleDefinition: (databaseDiscoveryRuleDefinition | databaseDiscoveryRuleConstruction) databaseDiscoveryRuleDefinition ruleName (resources, typeDefinition, heartbeatDefinition) databaseDiscoveryRuleConstruction ruleName (resources, TYPE = discoveryTypeName, HEARTBEAT = discoveryHeartbeatName) databaseDiscoveryTypeDefinition discoveryTypeName (typeDefinition) databaseDiscoveryHeartbaetDefinition discoveryHeartbeatName (PROPERTIES (properties)) resources: RESOURCES(resourceName [, resourceName] .</description>
</item>
<item>
<title>DB Discovery</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/db-discovery/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/db-discovery/</guid>
<description>Syntax SHOW DB_DISCOVERY RULES [FROM databaseName] SHOW DB_DISCOVERY TYPES [FROM databaseName] SHOW DB_DISCOVERY HEARTBEATS [FROM databaseName] Return Value Description DB Discovery Rule Column Description group_name Rule name data_source_names Data source name list primary_data_source_name Primary data source name discovery_type Database discovery service type discovery_heartbeat Database discovery service heartbeat DB Discovery Type Column Description name Type name type Type category props Type properties DB Discovery Heartbeat Column Description name Heartbeat name props Heartbeat properties Example DB Discovery Rule</description>
</item>
<item>
<title>DROP RESOURCE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/drop-resource/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/resource-definition/drop-resource/</guid>
<description>Description The DROP RESOURCE syntax is used to drop resources from the current database
Syntax DropResource ::= &amp;#39;DROP&amp;#39; &amp;#39;RESOURCE&amp;#39; ( &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; )? resourceName ( &amp;#39;,&amp;#39; resourceName )* ( &amp;#39;IGNORE&amp;#39; &amp;#39;SINGLE&amp;#39; &amp;#39;TABLES&amp;#39; )? resourceName ::= identifier Supplement DROP RESOURCE will only drop resources in Proxy, the real data source corresponding to the resource will not be dropped; Unable to drop resources already used by rules. Resources are still in used.</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/encrypt/</guid>
<description>Background The configuration method for Spring Boot Starter Data Encryption is suitable for business scenarios using SpringBoot and can make the most of SringBoot&amp;rsquo;s configuration initialization and Bean management capabilities to complete the creation of ShardingSphereDataSource objects, reducing unnecessary coding work.
Parameters spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage spring.shardingsphere.rules.encrypt.tables.&amp;lt;table-name&amp;gt;.query-with-cipher-column= # Whether the table uses cipher columns for query spring.shardingsphere.rules.encrypt.tables.&amp;lt;table-name&amp;gt;.columns.&amp;lt;column-name&amp;gt;.cipher-column= # Cipher column name spring.shardingsphere.rules.encrypt.tables.&amp;lt;table-name&amp;gt;.columns.&amp;lt;column-name&amp;gt;.assisted-query-column= # Assisted query column name spring.</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/encrypt/</guid>
<description>Background Spring Namespace&amp;rsquo;s data encryption configuration applies to the traditional Spring projects. Sharding rules and attributes are configured through the XML configuration file of the namespace. Spring creates and manages the ShardingSphereDataSource object, reducing unnecessary coding.
Parameters Namespace: http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt-5.1.2.xsd
&amp;lt;encrypt:rule /&amp;gt;
Name Type Description Default Value id Attribute Spring Bean Id queryWithCipherColumn (?) Attribute Whether query with cipher column for data encrypt.</description>
</item>
<item>
<title>Execute Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/execute/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/execute/</guid>
<description>ShardingSphere uses an automated execution engine to safely and efficiently send the real SQL, which has been routed and rewritten, to the underlying data source for execution.
It does not simply send SQL directly to the data source for execution via JDBC, nor are execution requests placed directly into a thread pool for concurrent execution.
It focuses more on the creation of a balanced data source connection, the consumption generated by the memory usage, and the maximum utilization of the concurrency.</description>
</item>
<item>
<title>HA</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/</guid>
<description>Background Build high availability rule configuration through Java API.
Parameters Root Configuration Class name: org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration Attributes:
Name Data Type Description dataSources (+) Collection&amp;lt;DatabaseDiscoveryDataSourceRuleConfiguration&amp;gt; Data source configuration discoveryHeartbeats (+) Map&amp;lt;String, DatabaseDiscoveryHeartBeatConfiguration&amp;gt; Detect heartbeat configuration discoveryTypes (+) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Database discovery type configuration Data Source Configuration Class name: org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration
Attributes:
Name Data Type Description groupName (+) String Database discovery group name dataSourceNames (+) Collection&amp;lt;String&amp;gt; Data source names, multiple data source names separated with comma.</description>
</item>
<item>
<title>HA</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/</guid>
<description>Background Through YAML format, ShardingSphere will automatically create the ShardingSphereDataSource object according to the YAML configuration, reducing unnecessary coding work for users.
Parameters rules: - !READWRITE_SPLITTING dataSources: replica_ds: dynamicStrategy: autoAwareDataSourceName: # High availability rule logical data source name - !DB_DISCOVERY dataSources: &amp;lt;data-source-name&amp;gt; (+): # Logic data source name dataSourceNames: # Data source names - &amp;lt;data-source&amp;gt; - &amp;lt;data-source&amp;gt; discoveryHeartbeatName: # Detect heartbeat name discoveryTypeName: # Database discovery type name # Heartbeat Configuration discoveryHeartbeats: &amp;lt;discovery-heartbeat-name&amp;gt; (+): # heartbeat name props: keep-alive-cron: # This is cron expression, such as:&amp;#39;0/5 * * * * ?</description>
</item>
<item>
<title>Load Balance Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance/</guid>
<description>Background ShardingSphere built-in provides a variety of load balancer algorithms, including polling algorithm, random access algorithm and weight access algorithm, which can meet users&amp;rsquo; needs in most business scenarios.
Moreover, considering the complexity of the business scenario, the built-in algorithm also provides an extension mode. Users can implement the load balancer algorithm they need based on SPI interface.
Parameters Type Describe Limitations ROUND_ROBIN Within the transaction, read query are routed to the primary, and outside the transaction, the round-robin strategy is used to route to the replica RANDOM Within the transaction, read query are routed to the primary, and outside the transaction, the random strategy is used to route to the replica WEIGHT Within the transaction, read query are routed to the primary, and outside the transaction, the weight strategy is used to route to the replica Attributes need to be configured, attribute name: ${replica-name}, data type: double, attribute name uses the name of the replica, and the parameter fills in the weight value corresponding to the replica.</description>
</item>
<item>
<title>SHOW RULES USED RESOURCE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-rules-used-resource/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rql/resource-query/show-rules-used-resource/</guid>
<description>Description The SHOW RULES USED RESOURCE syntax is used to query the rules that use the specified resource in the specified database.
Syntax showRulesUsedResource ::= &amp;#39;SHOW&amp;#39; &amp;#39;RULES&amp;#39; &amp;#39;USED&amp;#39; &amp;#39;RESOURCES&amp;#39; resourceName (&amp;#39;FROM&amp;#39; databaseName)? resourceName ::= IDENTIFIER | STRING databaseName ::= IDENTIFIER Supplement When databaseName is not specified, the default is the currently used DATABASE; if DATABASE is not used, it will prompt No database selected. Return Value Description Column Description type features name Data source name Example Query the rules that use the specified resource in the specified database SHOW RULES USED RESOURCE ds_0 FROM sharding_db; +----------+--------------+ | type | name | +----------+--------------+ | sharding | t_order | | sharding | t_order_item | +----------+--------------+ 2 rows in set (0.</description>
</item>
<item>
<title>Bitronix Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/</guid>
<description>background Apache ShardingSphere provides XA transactions that integrate with the Bitronix implementation.
Prerequisites Introducing Maven dependency
&amp;lt;properties&amp;gt; &amp;lt;btm.version&amp;gt;2.1.3&amp;lt;/btm.version&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-bitronix&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.codehaus.btm&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;btm&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${btm.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Procedure Configure the XA transaction type Configure Bitronix Sample Configure the XA transaction type Yaml:
- !TRANSACTION defaultType: XA providerType: Bitronix SpringBoot:</description>
</item>
<item>
<title>CREATE DEFAULT SHARDING STRATEGY</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-default-sharding-strategy/</guid>
<description>Description The CREATE DEFAULT SHARDING STRATEGY syntax is used to create a default sharding strategy
Syntax CreateDefaultShardingStrategy ::= &amp;#39;CREATE&amp;#39; &amp;#39;DEFAULT&amp;#39; &amp;#39;SHARDING&amp;#39; (&amp;#39;DATABASE&amp;#39; | &amp;#39;TABLE&amp;#39;) &amp;#39;STRATEGY&amp;#39; &amp;#39;(&amp;#39; shardingStrategy &amp;#39;)&amp;#39; shardingStrategy ::= &amp;#39;TYPE&amp;#39; &amp;#39;=&amp;#39; strategyType &amp;#39;,&amp;#39; ( &amp;#39;SHARDING_COLUMN&amp;#39; &amp;#39;=&amp;#39; columnName | &amp;#39;SHARDING_COLUMNS&amp;#39; &amp;#39;=&amp;#39; columnNames ) &amp;#39;,&amp;#39; ( &amp;#39;SHARDING_ALGORITHM&amp;#39; &amp;#39;=&amp;#39; algorithmName | algorithmDefinition ) algorithmDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; algorithmType ( &amp;#39;,&amp;#39; &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; propertyDefinition &amp;#39;)&amp;#39; )?&amp;#39;)&amp;#39; columnNames ::= columnName (&amp;#39;,&amp;#39; columnName)+ columnName ::= identifier algorithmName ::= identifier algorithmType ::= identifier Supplement When using the complex sharding algorithm, multiple sharding columns need to be specified using SHARDING_COLUMNS; algorithmType is the sharding algorithm type.</description>
</item>
<item>
<title>DB Discovery</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/db-discovery/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/db-discovery/</guid>
<description>Resource Operation ADD RESOURCE ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_1 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_1&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_2 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_2&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create DB discovery rule CREATE DB_DISCOVERY RULE db_discovery_group_0 ( RESOURCES(ds_0, ds_1), TYPE(NAME=MySQL.MGR,PROPERTIES(&amp;#39;group-name&amp;#39;=&amp;#39;92504d5b-6dec&amp;#39;)), HEARTBEAT(PROPERTIES(&amp;#39;keep-alive-cron&amp;#39;=&amp;#39;0/5 * * * * ?&amp;#39;)) ); Alter DB discovery rule ALTER DB_DISCOVERY RULE db_discovery_group_0 ( RESOURCES(ds_0, ds_1, ds_2), TYPE(NAME=MySQL.MGR,PROPERTIES(&amp;#39;group-name&amp;#39;=&amp;#39;92504d5b-6dec&amp;#39;)), HEARTBEAT(PROPERTIES(&amp;#39;keep-alive-cron&amp;#39;=&amp;#39;0/5 * * * * ?&amp;#39;)) ); Drop db_discovery rule DROP DB_DISCOVERY RULE db_discovery_group_0; Drop db_discovery type DROP DB_DISCOVERY TYPE db_discovery_group_0_mgr; Drop db_discovery heartbeat DROP DB_DISCOVERY HEARTBEAT db_discovery_group_0_heartbeat; Drop resource DROP RESOURCE ds_0,ds_1,ds_2; Drop distributed database DROP DATABASE discovery_db; </description>
</item>
<item>
<title>Encrypt</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/encrypt/</guid>
<description>Syntax CREATE ENCRYPT RULE encryptRuleDefinition [, encryptRuleDefinition] ... ALTER ENCRYPT RULE encryptRuleDefinition [, encryptRuleDefinition] ... DROP ENCRYPT RULE tableName [, tableName] ... encryptRuleDefinition: tableName(COLUMNS(columnDefinition [, columnDefinition] ...), QUERY_WITH_CIPHER_COLUMN=queryWithCipherColumn) columnDefinition: (NAME=columnName [, PLAIN=plainColumnName] , CIPHER=cipherColumnName, encryptAlgorithm) encryptAlgorithm: TYPE(NAME=encryptAlgorithmType [, PROPERTIES([algorithmProperties] )] ) algorithmProperties: algorithmProperty [, algorithmProperty] ... algorithmProperty: key=value PLAIN specifies the plain column, CIPHER specifies the cipher column encryptAlgorithmType specifies the encryption algorithm type, please refer to Encryption Algorithm Duplicate tableName will not be created queryWithCipherColumn support uppercase or lowercase true or false Example CREATE ENCRYPT RULE t_encrypt ( COLUMNS( (NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES(&amp;#39;aes-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;))), (NAME=order_id, CIPHER =order_cipher,TYPE(NAME=MD5)) ), QUERY_WITH_CIPHER_COLUMN=true), t_encrypt_2 ( COLUMNS( (NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES(&amp;#39;aes-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;))), (NAME=order_id, CIPHER=order_cipher,TYPE(NAME=MD5)) ), QUERY_WITH_CIPHER_COLUMN=FALSE); ALTER ENCRYPT RULE t_encrypt ( COLUMNS( (NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,TYPE(NAME=AES,PROPERTIES(&amp;#39;aes-key-value&amp;#39;=&amp;#39;123456abc&amp;#39;))), (NAME=order_id,CIPHER=order_cipher,TYPE(NAME=MD5)) ), QUERY_WITH_CIPHER_COLUMN=TRUE); DROP ENCRYPT RULE t_encrypt,t_encrypt_2; </description>
</item>
<item>
<title>Encrypt</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/</guid>
<description>Syntax SHOW ENCRYPT RULES [FROM databaseName] SHOW ENCRYPT TABLE RULE tableName [FROM databaseName] Support to query all data encryption rules and specify logical table name query Return Value Description Column Description table Logical table name logic_column Logical column name logic_data_type Logical column data type cipher_column Ciphertext column name cipher_data_type Ciphertext column data type plain_column Plaintext column name plain_data_type Plaintext column data type assisted_query_column Assisted query column name assisted_query_data_type Assisted query column data type encryptor_type Encryption algorithm type encryptor_props Encryption algorithm parameter query_with_cipher_column Whether to use encrypted column for query Example Show Encrypt Rules</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/</guid>
<description>Background The data encryption Java API rule configuration allows users to directly create ShardingSphereDataSource objects by writing java code. The Java API configuration method is very flexible and can integrate various types of business systems without relying on additional jar packages.
Parameters Root Configuration Class name: org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration
Attributes:
Name DataType Description Default Value tables (+) Collection&amp;lt;EncryptTableRuleConfiguration&amp;gt; Encrypt table rule configurations encryptors (+) Map&amp;lt;String, AlgorithmConfiguration&amp;gt; Encrypt algorithm name and configurations queryWithCipherColumn (?</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/</guid>
<description>Background The YAML configuration approach to data encryption is highly readable, with the YAML format enabling a quick understanding of dependencies between encryption rules. Based on the YAML configuration, ShardingSphere automatically completes the creation of ShardingSphereDataSource objects, reducing unnecessary coding efforts for users.
Parameters rules: - !ENCRYPT tables: &amp;lt;table-name&amp;gt; (+): # Encrypt table name columns: &amp;lt;column-name&amp;gt; (+): # Encrypt logic column name cipherColumn: # Cipher column name assistedQueryColumn (?): # Assisted query column name plainColumn (?</description>
</item>
<item>
<title>Encryption Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/encrypt/</guid>
<description>Background Encryption algorithms are the algorithms used by the encryption features of Apache ShardingSphere. A variety of algorithms are built-in to make it easy for users to fully leverage the feature.
Parameters MD5 Encrypt Algorithm Type: MD5
Attributes: None
AES Encrypt Algorithm Type: AES
Attributes:
Name DataType Description aes-key-value String AES KEY RC4 Encrypt Algorithm Type: RC4
Attributes:
Name DataType Description rc4-key-value String RC4 KEY SM3 Encrypt Algorithm Type: SM3</description>
</item>
<item>
<title>Merger Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/sharding/merge/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/sharding/merge/</guid>
<description>Result merger refers to merging multi-data result sets acquired from all the data nodes as one result set and returning it to the requesting client correctly.
The result merger supported by ShardingSphere can be divided into five functional types: traversal, order-by, group-by, pagination and aggregation, which are combined rather than mutually exclusive. From the perspective of structure, it can be divided into stream merger, memory merger and decorator merger, among which stream merger and memory merger are mutually exclusive, and decorator merger can be further processed based on stream merger and memory merger.</description>
</item>
<item>
<title>Narayana Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/</guid>
<description>Background Apache ShardingSphere provides XA transactions that integrate with the Narayana implementation.
Prerequisites Introducing Maven dependency
&amp;lt;properties&amp;gt; &amp;lt;narayana.version&amp;gt;5.12.4.Final&amp;lt;/narayana.version&amp;gt; &amp;lt;jboss-transaction-spi.version&amp;gt;7.6.0.Final&amp;lt;/jboss-transaction-spi.version&amp;gt; &amp;lt;jboss-logging.version&amp;gt;3.2.1.Final&amp;lt;/jboss-logging.version&amp;gt; &amp;lt;/properties&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- This module is required when using XA transactions --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-transaction-xa-narayana&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss.narayana.jta&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jta&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${narayana.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss.narayana.jts&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;narayana-jts-integration&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${narayana.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jboss-transaction-spi&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${jboss-transaction-spi.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.jboss.logging&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jboss-logging&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${jboss-logging.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Procedure Configure Narayana Set the XA transaction type Sample Configure Narayana Narayana configuration items can be customized by adding jbossts-properties.</description>
</item>
<item>
<title>Shadow</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/</guid>
<description>Resource Operation ADD RESOURCE ds_0 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_0&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_1 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_1&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ),ds_2 ( HOST=&amp;#34;127.0.0.1&amp;#34;, PORT=3306, DB=&amp;#34;ds_2&amp;#34;, USER=&amp;#34;root&amp;#34;, PASSWORD=&amp;#34;root&amp;#34; ); Rule Operation Create shadow rule CREATE SHADOW RULE group_0( SOURCE=ds_0, SHADOW=ds_1, t_order((simple_hint_algorithm, TYPE(NAME=SIMPLE_HINT, PROPERTIES(&amp;#34;foo&amp;#34;=&amp;#34;bar&amp;#34;))),(TYPE(NAME=REGEX_MATCH, PROPERTIES(&amp;#34;operation&amp;#34;=&amp;#34;insert&amp;#34;,&amp;#34;column&amp;#34;=&amp;#34;user_id&amp;#34;, &amp;#34;regex&amp;#34;=&amp;#39;[1]&amp;#39;)))), t_order_item((TYPE(NAME=SIMPLE_HINT, PROPERTIES(&amp;#34;foo&amp;#34;=&amp;#34;bar&amp;#34;))))); Alter shadow rule ALTER SHADOW RULE group_0( SOURCE=ds_0, SHADOW=ds_2, t_order_item((TYPE(NAME=SIMPLE_HINT, PROPERTIES(&amp;#34;foo&amp;#34;=&amp;#34;bar&amp;#34;))))); Drop shadow rule DROP SHADOW RULE group_0; Drop resource DROP RESOURCE ds_0,ds_1,ds_2; Drop distributed database DROP DATABASE foo_db; </description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/shadow/</guid>
<description>Background If you want to use the ShardingSphere Shadow DB feature in the Spring Boot environment, please refer to the following configuration.
Parameters Root Configuration spring.shardingsphere.rules.shadow Configurable attributes Name Description Default Value data-sources Shadow DB logical data source mapping configuration list none tables Shadow table configuration list none shadowAlgorithms Shadow algorithm configuration list none default-shadow-algorithm-name Default shadow algorithm name none, options Shadow Data Source Configuration Name Description Default Value source-data-source-name Production data source name none shadow-data-source-name Shadow data source name none Shadow Table Configuration Name Description Default Value data-source-names 影子表关联影子库逻辑数据源名称列表 无 shadow-algorithm-names 影子表关联影子算法名称列表 无 Shadow Algorithm Configuration Name Description Default Value type Shadow algorithm type none props Shadow algorithm configuration none For details, see list of built-in shadow algorithms</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/shadow/</guid>
<description>Background Under the distributed application architecture based on microservices, the business needs multiple services to be completed through a series of service and middleware calls, so the stress test of a single service can no longer represent the real scenario. In the test environment, rebuilding a complete set of pressure test environments similar to the production environment would mean an excessively high cost, and often an inability to simulate the complexity and flow of the online environment.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-parser/</guid>
<description>DatabaseTypedSQLParserFacade Fully-qualified class name org.apache.shardingsphere.sql.parser.spi.DatabaseTypedSQLParserFacade
Definition Database typed SQL parser facade service definition
Implementation classes Configuration Type Description Fully-qualified class name MySQL SQL parser entry based on MySQL org.apache.shardingsphere.sql.parser.mysql.parser.MySQLParserFacade PostgreSQL SQL parser entry based on PostgreSQL org.apache.shardingsphere.sql.parser.postgresql.parser.PostgreSQLParserFacade SQLServer SQL parser entry based on SQLServer org.apache.shardingsphere.sql.parser.sqlserver.parser.SQLServerParserFacade Oracle SQL parser entry based on Oracle org.apache.shardingsphere.sql.parser.oracle.parser.OracleParserFacade SQL92 SQL parser entry based on SQL92 org.</description>
</item>
<item>
<title>CREATE SHARDING BINDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-binding-table-rule/</guid>
<description>Description The CREATE SHARDING BINDING TABLE RULE syntax is used to add binding relationships and create binding table rules for tables with sharding table rules
Syntax CreateBindingTableRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;BINDING&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULES&amp;#39; bindingTableDefinition (&amp;#39;,&amp;#39; bindingTableDefinition )* bindingTableDefinition ::= &amp;#39;(&amp;#39; tableName (&amp;#39;,&amp;#39; tableName)* &amp;#39;)&amp;#39; tableName ::= identifier Supplement Creating binding relationships rules can only use sharding tables; A sharding table can only have one binding relationships; The sharding table for creating binding relationships needs to use the same resources and the same actual tables.</description>
</item>
<item>
<title>Properties Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/props/</guid>
<description>Background Apache ShardingSphere provides the way of property configuration to configure system level configuration.
Parameters Name Data Type Description Default Value sql-show (?) boolean Whether show SQL or not in log. Print SQL details can help developers debug easier. The log details include: logic SQL, actual SQL and SQL parse result. Enable this property will log into log topic ShardingSphere-SQL, log level is INFO false sql-simple (?</description>
</item>
<item>
<title>Proxy</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/proxy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/proxy/</guid>
<description>DatabaseProtocolFrontendEngine Fully-qualified class name org.apache.shardingsphere.proxy.frontend.spi.DatabaseProtocolFrontendEngine
Definition Protocols for ShardingSphere-Proxy to parse and adapt for accessing databases.
Implementation classes Configuration Type Description Fully-qualified class name MySQL Protocol implementation for MySQL org.apache.shardingsphere.proxy.frontend.mysql.MySQLFrontendEngine PostgreSQL Protocol implementation for PostgreSQL org.apache.shardingsphere.proxy.frontend.postgresql.PostgreSQLFrontendEngine openGauss Protocol implementation for openGauss org.apache.shardingsphere.proxy.frontend.opengauss.OpenGaussFrontendEngine AuthorityProvideAlgorithm Fully-qualified class name org.apache.shardingsphere.authority.spi.AuthorityProviderAlgorithm
Definition Loading logic for user permission.
Implementation classes Configuration Type Description Fully-qualified class name ALL_PERMITTED Grant all permissions by default (no forensics) org.</description>
</item>
<item>
<title>Shadow</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/rule-definition/shadow/</guid>
<description>Syntax CREATE SHADOW RULE shadowRuleDefinition [, shadowRuleDefinition] ... ALTER SHADOW RULE shadowRuleDefinition [, shadowRuleDefinition] ... CREATE SHADOW ALGORITHM shadowAlgorithm [, shadowAlgorithm] ... ALTER SHADOW ALGORITHM shadowAlgorithm [, shadowAlgorithm] ... DROP SHADOW RULE ruleName [, ruleName] ... DROP SHADOW ALGORITHM algorithmName [, algorithmName] ... CREATE DEFAULT SHADOW ALGORITHM NAME = algorithmName shadowRuleDefinition: ruleName(resourceMapping, shadowTableRule [, shadowTableRule] ...) resourceMapping: SOURCE=resourceName, SHADOW=resourceName shadowTableRule: tableName(shadowAlgorithm [, shadowAlgorithm] ...) shadowAlgorithm: ([algorithmName, ] TYPE(NAME=shadowAlgorithmType, PROPERTIES([algorithmProperties] ...))) algorithmProperties: algorithmProperty [, algorithmProperty] .</description>
</item>
<item>
<title>Shadow</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/</guid>
<description>Syntax SHOW SHADOW shadowRule | RULES [FROM databaseName] SHOW SHADOW TABLE RULES [FROM databaseName] SHOW SHADOW ALGORITHMS [FROM databaseName] shadowRule: RULE ruleName Support querying all shadow rules and specified table query Support querying all shadow table rules Support querying all shadow algorithms Return Value Description Shadow Rule Column Description rule_name Rule name source_name Source database shadow_name Shadow database shadow_table Shadow table Shadow Table Rule Column Description shadow_table Shadow table shadow_algorithm_name Shadow algorithm name Shadow Algorithms Column Description shadow_algorithm_name Shadow algorithm name type Shadow algorithm type props Shadow algorithm properties is_default Default Shadow Rule status Column Description status Enable Example SHOW SHADOW RULES</description>
</item>
<item>
<title>Shadow Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/shadow/</guid>
<description>Background The shadow DB feature carries out shadow measurement to SQL statements executed. Shadow measurement supports two types of algorithms, and users can choose one or a combination of them based on actual business needs.
Parameters Column-based shadow algorithm Column value matching shadow algorithm Type:VALUE_MATCH
Attribute Name Data Type Description column String shadow column operation String SQL operation type (INSERT, UPDATE, DELETE, SELECT) value String value matched by shadow column Column-based Regex matching algorithm Type:REGEX_MATCH</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/</guid>
<description>Background In the distributed application architecture based on microservices, businesses require multiple services to be completed through a series of services and middleware, so the stress test of a single service can no longer meet the needs of real scenarios. If we reconstruct a stress test environment similar to the production environment, it is too expensive and often fails to simulate the complexity and traffic of the online environment. For this reason, the industry often chooses the full link stress test, which is performed in the production environment, so that the test results can accurately reflect the true capacity and performance of the system.</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/</guid>
<description>Background Please refer to the following configuration in order to use the ShardingSphere shadow DB feature in ShardingSphere-Proxy.
Parameters Configuration entry rules: - !SHADOW Configurable attributes Name Description Default dataSources shadow DB logical data source mapping the configuration list none tables shadow table configuration list none defaultShadowAlgorithmName name of default shadow algorithm none, option shadowAlgorithms shadow algorithm configuration list none Shadow data source configuration Name Description Default dataSourceName shadow DB logical data source name 无 sourceDataSourceName production data source name 无 shadowDataSourceName shadow data source name 无 Shadow table configuration Name Description Default dataSourceNames shadow table associates shadow DB logical data source name list 无 shadowAlgorithmNames shadow table associates shadow algorithm name list 无 Shadow algorithm configuration Name Description Default type shadow algorithm type none props shadow algorithm configuration none Please refer to Built-in shadow algorithm list for more details.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sql-parser/</guid>
<description>Background The configuration method of Spring Boot Starter is applicable to business scenarios using SpringBoot. In this way, the SpringBoot configuration initialization and bean management capabilities can be used to the greatest extent, so as to simplify code development.
Parameters spring.shardingsphere.rules.sql-parser.sql-comment-parse-enabled= # Whether to parse SQL comments spring.shardingsphere.rules.sql-parser.sql-statement-cache.initial-capacity= # Initial capacity of SQL statement local cache spring.shardingsphere.rules.sql-parser.sql-statement-cache.maximum-size= # Maximum capacity of SQL statement local cache spring.shardingsphere.rules.sql-parser.parse-tree-cache.initial-capacity= # Initial capacity of parse tree local cache spring.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sql-parser/</guid>
<description>Background Spring namespace&amp;rsquo;s SQL parser configuration applies to traditional Spring projects. SQL parsing rules and attributes can be configured through the XML configuration files of the namespace.
Parameters Namespace:http://shardingsphere.apache.org/schema/shardingsphere/sql-parser/sql-parser-5.1.2.xsd
&amp;lt;sql-parser:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id sql-comment-parse-enable Attribute Whether to parse SQL comments parse-tree-cache-ref Attribute Parse tree local cache name sql-statement-cache-ref Attribute SQL statement local cache name &amp;lt;sql-parser:cache-option /&amp;gt;</description>
</item>
<item>
<title>CREATE SHARDING BROADCAST TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-broadcast-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-broadcast-table-rule/</guid>
<description>Description The CREATE SHARDING BROADCAST TABLE RULE syntax is used to create broadcast table rules for tables that need to be broadcast (broadcast tables)
Syntax CreateBroadcastTableRule ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;BROADCAST&amp;#39; &amp;#39;TABLE&amp;#39; &amp;#39;RULES&amp;#39; &amp;#39;(&amp;#39; tableName (&amp;#39;,&amp;#39; tableName)* &amp;#39;)&amp;#39; tableName ::= identifier Supplement tableName can use an existing table or a table that will be created; Only one broadcast rule can exist, but can contain multiple broadcast tables, so can not execute CREATE SHARDING BROADCAST TABLE RULE more than one time.</description>
</item>
<item>
<title>Data Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sharding/</guid>
<description>ShardingAlgorithm Fully-qualified class name org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
Definition Sharding Algorithm definition
Implementation classes Configuration Type Auto Create Tables Description Fully-qualified class name MOD Y Modulo sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.mod.ModShardingAlgorithm HASH_MOD Y Hash modulo sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.mod.HashModShardingAlgorithm BOUNDARY_RANGE Y Boundary based range sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.range.BoundaryBasedRangeShardingAlgorithm VOLUME_RANGE Y Volume based range sharding algorithm org.apache.shardingsphere.sharding.algorithm.sharding.range.VolumeBasedRangeShardingAlgorithm AUTO_INTERVAL Y Mutable interval sharding algorithm org.</description>
</item>
<item>
<title>Seata Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/special-api/transaction/seata/</guid>
<description>Background Apache ShardingSphere provides BASE transactions that integrate the Seata implementation.
Procedure Start Seata Server Create the log table Add the Seata configuration Sample Start Seata Server Refer to seata-work-shop to download and start the Seata server.
Create undo_log table Create the undo_log table in each shard database instance (take MySQL as an example).
CREATE TABLE IF NOT EXISTS `undo_log` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT &amp;#39;increment id&amp;#39;, `branch_id` BIGINT(20) NOT NULL COMMENT &amp;#39;branch transaction id&amp;#39;, `xid` VARCHAR(100) NOT NULL COMMENT &amp;#39;global transaction id&amp;#39;, `context` VARCHAR(128) NOT NULL COMMENT &amp;#39;undo_log context,such as serialization&amp;#39;, `rollback_info` LONGBLOB NOT NULL COMMENT &amp;#39;rollback info&amp;#39;, `log_status` INT(11) NOT NULL COMMENT &amp;#39;0:normal status,1:defense status&amp;#39;, `log_created` DATETIME NOT NULL COMMENT &amp;#39;create datetime&amp;#39;, `log_modified` DATETIME NOT NULL COMMENT &amp;#39;modify datetime&amp;#39;, PRIMARY KEY (`id`), UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COMMENT =&amp;#39;AT transaction mode undo table&amp;#39;; Modify configuration Add the seata.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/</guid>
<description>Background SQL is the standard language for users to communicate with databases. The SQL parsing engine is responsible for parsing the SQL string into an abstract syntax tree for Apache ShardingSphere to understand and implement its incremental function. Currently, MySQL, PostgreSQL, SQLServer, Oracle, openGauss and SQL dialects conforming to SQL92 specifications are supported. Due to the complexity of SQL syntax, there are still a few unsupported SQLs. By using SQL parsing in the form of Java API, you can easily integrate into various systems and flexibly customize user requirements.</description>
</item>
<item>
<title>SQL Translator</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sql-translator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sql-translator/</guid>
<description>Native SQL translator Type: NATIVE
Attributes:
None
Default SQL translator, does not implement yet.
JooQ SQL translator Type: JOOQ
Attributes:
None
Because of it need JooQ dependency, ShardingSphere does not include the module, please use below XML to import it by Maven.
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-sql-translator-jooq-provider&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; </description>
</item>
<item>
<title>SQL-parser</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/</guid>
<description>Background The SQL parser YAML configuration is readable and easy to use. The YAML files allow you to separate the code from the configuration, and easily modify the configuration file as needed.
Parameters rules: - !SQL_PARSER sqlCommentParseEnabled: # Whether to parse SQL comments sqlStatementCache: # SQL statement local cache initialCapacity: # Initial capacity of local cache maximumSize: # Maximum capacity of local cache parseTreeCache: # Parse tree local cache initialCapacity: # Initial capacity of local cache maximumSize: # Maximum capacity of local cache Procedure Set local cache configuration.</description>
</item>
<item>
<title>CREATE SHARDING KEY GENERATOR</title>
<link>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/reference/distsql/syntax/rdl/rule-definition/sharding/create-sharding-key-generator/</guid>
<description>Description The CREATE SHARDING KEY GENERATOR syntax is used to add a distributed primary key generator for the currently selected logic database
Syntax CreateShardingAlgorithm ::= &amp;#39;CREATE&amp;#39; &amp;#39;SHARDING&amp;#39; &amp;#39;KEY&amp;#39; &amp;#39;GENERATOR&amp;#39; keyGeneratorName &amp;#39;(&amp;#39; algorithmDefinition &amp;#39;)&amp;#39; algorithmDefinition ::= &amp;#39;TYPE&amp;#39; &amp;#39;(&amp;#39; &amp;#39;NAME&amp;#39; &amp;#39;=&amp;#39; algorithmType ( &amp;#39;,&amp;#39; &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; propertyDefinition &amp;#39;)&amp;#39; )?&amp;#39;)&amp;#39; propertyDefinition ::= ( key &amp;#39;=&amp;#39; value ) ( &amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value )* keyGeneratorName ::= identifier algorithmType ::= identifier Supplement algorithmType is the key generate algorithm type.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/mix/</guid>
<description>Configuration Item Explanation # data source configuration spring.shardingsphere.datasource.names= write-ds0,write-ds1,write-ds0-read0,write-ds1-read0 spring.shardingsphere.datasource.write-ds0.jdbc-url= # Database URL connection spring.shardingsphere.datasource.write-ds0.type= # Database connection pool type name spring.shardingsphere.datasource.write-ds0.driver-class-name= # Database driver class name spring.shardingsphere.datasource.write-ds0.username= # Database username spring.shardingsphere.datasource.write-ds0.password= # Database password spring.shardingsphere.datasource.write-ds0.xxx= # Other properties of database connection pool spring.shardingsphere.datasource.write-ds1.url= # Database URL connection # ...Omit specific configuration. spring.shardingsphere.datasource.write-ds0-read0.url= # Database URL connection # ...Omit specific configuration. spring.shardingsphere.datasource.write-ds1-read0.url= # Database URL connection # ...Omit specific configuration. # Sharding rules configuration # Databases sharding strategy spring.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/mix/</guid>
<description>Configuration Item Explanation &amp;lt;beans xmlns=&amp;#34;http://www.springframework.org/schema/beans&amp;#34; xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34; xmlns:shardingsphere=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/datasource&amp;#34; xmlns:readwrite-splitting=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting&amp;#34; xmlns:encrypt=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/encrypt&amp;#34; xsi:schemaLocation=&amp;#34;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://shardingsphere.apache.org/schema/shardingsphere/datasource http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting/readwrite-splitting.xsd http://shardingsphere.apache.org/schema/shardingsphere/encrypt http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt.xsd &amp;#34;&amp;gt; &amp;lt;bean id=&amp;#34;write_ds0&amp;#34; class=&amp;#34; com.zaxxer.hikari.HikariDataSource&amp;#34; init-method=&amp;#34;init&amp;#34; destroy-method=&amp;#34;close&amp;#34;&amp;gt; &amp;lt;property name=&amp;#34;driverClassName&amp;#34; value=&amp;#34;com.mysql.jdbc.Driver&amp;#34; /&amp;gt; &amp;lt;property name=&amp;#34;jdbcUrl&amp;#34; value=&amp;#34;jdbc:mysql://localhost:3306/write_ds?useSSL=false&amp;amp;amp;useUnicode=true&amp;amp;amp;characterEncoding=UTF-8&amp;#34; /&amp;gt; &amp;lt;property name=&amp;#34;username&amp;#34; value=&amp;#34;root&amp;#34; /&amp;gt; &amp;lt;property name=&amp;#34;password&amp;#34; value=&amp;#34;&amp;#34; /&amp;gt; &amp;lt;/bean&amp;gt; &amp;lt;bean id=&amp;#34;read_ds0_0&amp;#34; class=&amp;#34; com.zaxxer.hikari.HikariDataSource&amp;#34; init-method=&amp;#34;init&amp;#34; destroy-method=&amp;#34;close&amp;#34;&amp;gt; &amp;lt;!-- ...Omit specific configuration. --&amp;gt; &amp;lt;/bean&amp;gt; &amp;lt;bean id=&amp;#34;read_ds0_1&amp;#34; class=&amp;#34; com.zaxxer.hikari.HikariDataSource&amp;#34; init-method=&amp;#34;init&amp;#34; destroy-method=&amp;#34;close&amp;#34;&amp;gt; &amp;lt;!-- ...Omit specific configuration. --&amp;gt; &amp;lt;/bean&amp;gt; &amp;lt;bean id=&amp;#34;write_ds1&amp;#34; class=&amp;#34; com.zaxxer.hikari.HikariDataSource&amp;#34; init-method=&amp;#34;init&amp;#34; destroy-method=&amp;#34;close&amp;#34;&amp;gt; &amp;lt;!</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/readwrite-splitting/</guid>
<description>ReadQueryLoadBalanceAlgorithm Fully-qualified class name org.apache.shardingsphere.readwritesplitting.spi.ReadQueryLoadBalanceAlgorithm
Definition Read query load balance algorithm&amp;rsquo;s definition
Implementation classes Configuration Type Description Fully-qualified class name ROUND_ROBIN the read database load balancer algorithm based on polling org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RoundRobinReadQueryLoadBalanceAlgorithm RANDOM the read database load balancer algorithm based on random org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.RandomReadQueryLoadBalanceAlgorithm WEIGHT the read database load balancer algorithm based on weight org.apache.shardingsphere.readwritesplitting.algorithm.loadbalance.WeightReadQueryLoadBalanceAlgorithm TRANSACTION_RANDOM Whether in a transaction or not, read requests are routed to multiple replicas using a random strategy org.</description>
</item>
<item>
<title>SQL Translator</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-translator/</guid>
<description>Root Configuration Class: org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration
Attributes:
name DataType Description type String SQL translator type useOriginalSQLWhenTranslatingFailed (?) boolean Whether use original SQL when translating failed </description>
</item>
<item>
<title>SQL Translator</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-translator/</guid>
<description>Configuration Item Explanation rules: - !SQL_TRANSLATOR type: # SQL translator type useOriginalSQLWhenTranslatingFailed: # Whether use original SQL when translating failed </description>
</item>
<item>
<title>HA</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/ha/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/ha/</guid>
<description>DatabaseDiscoveryProviderAlgorithm Fully-qualified class name org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryProviderAlgorithm
Definition Database discovery provider algorithm&amp;rsquo;s definition
Implementation classes Configuration Type Description Fully-qualified class name MySQL.MGR MySQL MGR-based database discovery provider algorithm org.apache.shardingsphere.dbdiscovery.mysql.type.MGRMySQLDatabaseDiscoveryProviderAlgorithm MySQL.NORMAL_REPLICATION Database discovery provider algorithm of MySQL’s replication org.apache.shardingsphere.dbdiscovery.mysql.type.MySQLNormalReplicationDatabaseDiscoveryProviderAlgorithm openGauss.NORMAL_REPLICATION Database discovery provider algorithm of openGauss’s replication org.apache.shardingsphere.dbdiscovery.opengauss.OpenGaussNormalReplicationDatabaseDiscoveryProviderAlgorithm </description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/java-api/rules/mix/</guid>
<description>Configuration Item Explanation /* Data source configuration */ HikariDataSource writeDataSource0 = new HikariDataSource(); writeDataSource0.setDriverClassName(&amp;#34;com.mysql.jdbc.Driver&amp;#34;); writeDataSource0.setJdbcUrl(&amp;#34;jdbc:mysql://localhost:3306/db0?serverTimezone=UTC&amp;amp;useSSL=false&amp;amp;useUnicode=true&amp;amp;characterEncoding=UTF-8&amp;#34;); writeDataSource0.setUsername(&amp;#34;root&amp;#34;); writeDataSource0.setPassword(&amp;#34;&amp;#34;); HikariDataSource writeDataSource1 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read0OfwriteDataSource0 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read1OfwriteDataSource0 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read0OfwriteDataSource1 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read1OfwriteDataSource1 = new HikariDataSource(); // ...Omit specific configuration. Map&amp;lt;String, DataSource&amp;gt; datasourceMaps = new HashMap&amp;lt;&amp;gt;(6); datasourceMaps.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/yaml-config/rules/mix/</guid>
<description>The overlay between rule items in a mixed configuration is associated by the data source name and the table name.
If the previous rule is aggregation-oriented, the next rule needs to use the aggregated logical data source name configured by the previous rule when configuring the data source. Similarly, if the previous rule is table aggregation-oriented, the next rule needs to use the aggregated logical table name configured by the previous rule when configuring the table.</description>
</item>
<item>
<title>Unsupported Items</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/unsupported/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/unsupported/</guid>
<description>DataSource Interface Do not support timeout related operations Connection Interface Do not support operations of stored procedure, function and cursor Do not support native SQL Do not support savepoint related operations Do not support Schema/Catalog operation Do not support self-defined type mapping Statement and PreparedStatement Interface Do not support statements that return multiple result sets (stored procedures, multiple pieces of non-SELECT data) Do not support the operation of international characters ResultSet Interface Do not support getting result set pointer position Do not support changing result pointer position through none-next method Do not support revising the content of result set Do not support acquiring international characters Do not support getting Array JDBC 4.</description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/transaction/</guid>
<description>ShardingSphereTransactionManager Fully-qualified class name org.apache.shardingsphere.transaction.spi.ShardingSphereTransactionManager
Definition ShardingSphere transaction manager service definition
Implementation classes Configuration Type Description Fully-qualified class name XA XA distributed transaction manager org.apache.shardingsphere.transaction.xa.XAShardingSphereTransactionManager BASE Seata distributed transaction manager org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager XATransactionManagerProvider Fully-qualified class name org.apache.shardingsphere.transaction.xa.spi.XATransactionManagerProvider
Definition XA transaction manager provider definition
Implementation classes Configuration Type Description Fully-qualified class name Atomikos XA distributed transaction manager based on Atomikos org.</description>
</item>
<item>
<title>SQL Checker</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-check/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-check/</guid>
<description>SQLChecker Fully-qualified class name org.apache.shardingsphere.infra.executor.check.SQLChecker
Definition SQL checker class definition
Implementation classes Configuration Type Description Fully-qualified class name AuthorityRule.class Authority checker org.apache.shardingsphere.authority.checker.AuthorityChecker ShardingRule.class Sharding audit checker org.apache.shardingsphere.sharding.checker.audit.ShardingAuditChecker </description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/encrypt/</guid>
<description>EncryptAlgorithm Fully-qualified class name org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm
Definition Data encrypt algorithm definition
Implementation classes Configuration Type Description Fully-qualified class name MD5 MD5 data encrypt algorithm org.apache.shardingsphere.encryption.algorithm.MD5Encrypt AES AES data encrypt algorithm org.apache.shardingsphere.encryption.algorithm.AESEncrypt RC4 RC4 data encrypt algorithm org.apache.shardingsphere.encryption.algorithm.RC4Encrypt SM3 SM3 data encrypt algorithm org.apache.shardingsphere.encryption.algorithm.SM3Encrypt SM4 SM4 data encrypt algorithm org.apache.shardingsphere.encryption.algorithm.SM4Encrypt </description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/shadow/</guid>
<description>ShadowAlgorithm Fully-qualified class name org.apache.shardingsphere.shadow.spi.ShadowAlgorithm
Definition Shadow algorithm&amp;rsquo;s definition
Implementation classes Configuration Type Description Fully-qualified class name VALUE_MATCH Match shadow algorithms based on field values org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnValueMatchShadowAlgorithm REGEX_MATCH Regular matching shadow algorithm based on field value org.apache.shardingsphere.shadow.algorithm.shadow.column.ColumnRegexMatchShadowAlgorithm SIMPLE_HINT Simple match shadow algorithm based on Hint org.apache.shardingsphere.shadow.algorithm.shadow.hint.SimpleHintShadowAlgorithm </description>
</item>
<item>
<title>Observability</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/agent/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/agent/</guid>
<description>PluginBootService Fully-qualified class name org.apache.shardingsphere.agent.spi.boot.PluginBootService
Definition Plugin startup service definition
Implementation classes Configuration Type Description Fully-qualified class name Prometheus Prometheus plugin startup class org.apache.shardingsphere.agent.metrics.prometheus.service.PrometheusPluginBootService Logging Logging plugin startup class org.apache.shardingsphere.agent.plugin.logging.base.service.BaseLoggingPluginBootService Jaeger Jaeger plugin startup class org.apache.shardingsphere.agent.plugin.tracing.jaeger.service.JaegerTracingPluginBootService OpenTelemetry OpenTelemetryTracing plugin startup class org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.service.OpenTelemetryTracingPluginBootService OpenTracing OpenTracing plugin startup class org.apache.shardingsphere.agent.plugin.tracing.opentracing.service.OpenTracingPluginBootService Zipkin Zipkin plugin startup class org.</description>
</item>
</channel>
</rss>