blob: f34850935558d32f2e103f7c2ea40b1d3123ccca [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/1.2.0/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/1.2.0/en/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Authority</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/yaml-config/authentication/</guid>
<description>It is used to set up initial user to login compute node, and authority data of storage node.
Configuration Item Explanation rules: - !AUTHORITY users: - # Username, authorized host and password for compute node. Format: &amp;lt;username&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;password&amp;gt;, hostname is % or empty string means do not care about authorized host provider: type: # authority provider for storage node, the default value is ALL_PRIVILEGES_PERMITTED Example ALL_PRIVILEGES_PERMITTED rules: - !AUTHORITY users: - root@localhost:root - my_user@:pwd provider: type: ALL_PRIVILEGES_PERMITTED SCHEMA_PRIVILEGES_PERMITTED rules: - !</description>
</item>
<item>
<title>Build</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-scaling/build/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-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/1.2.0/en/features/encrypt/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/encrypt/concept/</guid>
<description>Logic Column Column name used to encryption, it is the logical column identification in SQL. It includes cipher column(required), query assistant column(optional) and plain column(optional).
Cipher Column Encrypted data column.
Query Assistant Column Column used to assistant for query. For non-idempotent encryption algorithms with higher security level, irreversible idempotent columns provided for query.
Plain Column Column used to persist plain column, for service provided during data encrypting. Should remove them after data clean.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/ha/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/ha/concept/</guid>
<description>high Availability Type Apache ShardingSphere does not provide high availability solution of database, it reuses 3rd party high availability solution and auto-detect switch of primary and replica databases. Specifically, the ability of Apache ShardingSphere provided is database discovery, detect the primary and replica databases automatically, and updates the connection of compute nodes to the databases.
Dynamic Readwrite-Splitting When high availability and readwrite-splitting are used together, there is unnecessary to configure specific primary and replica databases for readwrite-splitting.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/management/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/features/observability/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/observability/concept/</guid>
<description>Agent Based on bytecode enhance and plug-in design to provide tracing, metrics and logging features. Enable the plugin in agent to collect data and send data to the integrated 3rd APM system.
APM APM is the abbreviation for application performance monitoring. It works for performance diagnosis of distributed systems, including chain demonstration, service topology analysis and so on.
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/1.2.0/en/features/readwrite-splitting/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/readwrite-splitting/concept/</guid>
<description>Primary Database It refers to the database used in data insertion, update and deletion. It only supports single primary database for now.
Replica Database It refers to the database used in data query. It supports multiple replica databases.
Primary Replica Replication It refers to the operation to asynchronously replicate data from the primary database to the replica database. Because of the asynchrony of primary-replica synchronization, there may be short-time data inconsistency between them.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/scaling/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/scaling/concept/</guid>
<description>Scaling Job It refers one complete process of scaling data from old rule to new rule.
Inventory Data It refers all existing data stored in data nodes before the scaling job started.
Incremental Data It refers the new data generated by application during scaling job.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/shadow/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/shadow/concept/</guid>
<description>Production Database The database used for production data.
Shadow Database The database for pressure testing data isolation.
Shadow Algorithm The shadow algorithms are closely related to business, there are 2 types of shadow algorithms provided.
Column based shadow algorithm Recognize data from SQL and route to shadow databases. Suitable for test data driven scenario.
Hint based shadow algorithm Recognize comment from SQL and route to shadow databases.</description>
</item>
<item>
<title>CREATE SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/distsql/syntax/rdl/rule-definition/create-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/distsql/syntax/rdl/rule-definition/create-sharding-table-rule/</guid>
<description>Description The CREATE SHARDING TABLE RULE syntax is used to add sharding table rule for the currently selected schema
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>Hint</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/sharding/hint/</guid>
<description>Introduction Apache ShardingSphere uses ThreadLocal to manage sharding key value or hint route. Users can add sharding values to HintManager, and those values only take effect within the current thread.
Apache ShardingSphere is able to add special comments in SQL to hint route too.
Usage of hint:
Sharding columns are not in SQL and table definition, but in external business logic. Some operations forced to do in the primary database.</description>
</item>
<item>
<title>Local Transaction</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/use-norms/local-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/use-norms/local-transaction/</guid>
<description>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. For example, update two databases in transaction with exception thrown, data can rollback in both databases. Unsupported Do not support the cross-database transactions caused by network or hardware crash. For example, when update two databases in transaction, if one database crashes before commit, then only the data of the other database can commit.</description>
</item>
<item>
<title>Metadata Repository</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/builtin-algorithm/metadata-repository/</guid>
<description>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/1.2.0/en/dev-manual/mode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/mode/</guid>
<description>StandalonePersistRepository SPI Name Description StandalonePersistRepository Standalone mode Configuration persistence Implementation Class Description FileRepository File persistence H2Repository H2 persistence ClusterPersistRepository SPI Name Description ClusterPersistRepository Registry center repository Implementation Class Description CuratorZookeeperRepository ZooKeeper registry center repository EtcdRepository Etcd registry center repository GovernanceWatcher SPI Name Description GovernanceWatcher Governance watcher Implementation Class Description ComputeNodeStateChangedWatcher Compute node changed watcher GlobalAckChangedWatcher Global ack changed watcher GlobalLocksChangedWatcher Global locks changed watcher GlobalRuleChangedWatcher Global rule changed watcher MetaDataChangedWatcher Meta data changed watcher PropertiesChangedWatcher Properties changed watcher StorageNodeStateChangedWatcher Storage node changed watcher </description>
</item>
<item>
<title>Mode Configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/mode/</guid>
<description>Root Configuration Class name: org.apache.shardingsphere.infra.config.mode.ModeConfiguration
Attributes:
Name DataType Description Default Value type String Type of mode configuration
Values could be: Memory, Standalone, Cluster Memory repository PersistRepositoryConfiguration Persist repository configuration
Memory type does not need persist, could be null
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 Configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/mode/</guid>
<description>Default is Memory mode.
Configuration Item Explanation spring.shardingsphere.mode.type= # Type of mode configuration. Values could be: Memory, Standalone, Cluster spring.shardingsphere.mode.repository= # Persist repository configuration. Memory type does not need persist spring.shardingsphere.mode.overwrite= # Whether overwrite persistent configuration with local configuration Memory Mode spring.shardingsphere.mode.type=Memory Standalone Mode spring.shardingsphere.mode.type=Standalone spring.shardingsphere.mode.repository.type= # Type of persist repository spring.shardingsphere.mode.repository.props.&amp;lt;key&amp;gt;= # Properties of persist repository spring.shardingsphere.mode.overwrite= # Whether overwrite persistent configuration with local configuration Cluster Mode spring.shardingsphere.mode.type=Cluster spring.shardingsphere.mode.repository.type= # Type of persist repository spring.</description>
</item>
<item>
<title>Mode Configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/mode/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource-5.1.1.xsd
&amp;lt;shardingsphere:mode /&amp;gt;
Name Type Description Default Value type Attribute Type of mode configuration. Values could be: Memory, Standalone, Cluster repository-ref (?) Attribute Persist repository configuration. Memory type does not need persist overwrite (?) Attribute Whether overwrite persistent configuration with local configuration false Memory Mode It is the default value.</description>
</item>
<item>
<title>Mode Configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/mode/</guid>
<description>Configuration Item Explanation mode (?): # Default value is Memory type: # Type of mode configuration. Values could be: Memory, Standalone, Cluster repository (?): # Persist repository configuration. Memory type does not need persist overwrite: # Whether overwrite persistent configuration with local configuration Memory Mode mode: type: Memory 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 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 Please refer to Builtin Persist Repository List for more details about type of repository.</description>
</item>
<item>
<title>MySQL</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/mysql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/mysql/</guid>
<description>The unsupported SQL list for MySQL are as follows:
User &amp;amp; Role SQL CREATE USER &amp;lsquo;finley&amp;rsquo;@&amp;lsquo;localhost&amp;rsquo; IDENTIFIED BY &amp;lsquo;password&amp;rsquo; ALTER USER &amp;lsquo;finley&amp;rsquo;@&amp;lsquo;localhost&amp;rsquo; IDENTIFIED BY &amp;lsquo;new_password&amp;rsquo; DROP USER &amp;lsquo;finley&amp;rsquo;@&amp;lsquo;localhost&amp;rsquo;; CREATE ROLE &amp;lsquo;app_read&amp;rsquo; DROP ROLE &amp;lsquo;app_read&amp;rsquo; SHOW CREATE USER finley SET PASSWORD = &amp;lsquo;auth_string&amp;rsquo; SET ROLE DEFAULT; Authorization SQL GRANT ALL ON db1.</description>
</item>
<item>
<title>MySQL</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/mysql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/mysql/</guid>
<description>The unsupported SQL list for MySQL are as follows:
SQL CLONE LOCAL DATA DIRECTORY = &amp;lsquo;clone_dir&amp;rsquo; INSTALL COMPONENT &amp;lsquo;file://component1&amp;rsquo;, &amp;lsquo;file://component2&amp;rsquo; UNINSTALL COMPONENT &amp;lsquo;file://component1&amp;rsquo;, &amp;lsquo;file://component2&amp;rsquo; REPAIR TABLE t_order OPTIMIZE TABLE t_order CHECKSUM TABLE t_order CHECK TABLE t_order SET RESOURCE GROUP group_name DROP RESOURCE GROUP group_name CREATE RESOURCE GROUP group_name TYPE = SYSTEM ALTER RESOURCE GROUP rg1 VCPU = 0-63 </description>
</item>
<item>
<title>Parse Engine</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/parse/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/parse/</guid>
<description>Compared to other programming languages, SQL is relatively simple, but it is still a complete set of programming language, so there is no essential difference between parsing SQL grammar and parsing other languages (Java, C and Go, etc.).
Abstract Syntax Tree The parsing process can be divided into lexical parsing and syntactic parsing. Lexical parser is used to divide SQL into indivisible atomic signs, i.e., Token. According to the dictionary provided by different database dialect, it is categorized into keyword, expression, literal value and operator.</description>
</item>
<item>
<title>Performance Test</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/performance-test/performance-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/performance-test/performance-test/</guid>
<description>Target The performance of ShardingSphere-JDBC, ShardingSphere-Proxy and MySQL would be compared here. INSERT &amp;amp; UPDATE &amp;amp; DELETE which regarded as a set of associated operation and SELECT which focus on sharding optimization are used to evaluate performance for the basic scenarios (single route, readwrite-splitting &amp;amp; encrypt &amp;amp; sharding, full route). While another set of associated operation, INSERT &amp;amp; SELECT &amp;amp; DELETE, is used to evaluate performance for readwrite-splitting. To achieve the result better, these tests are performed with jmeter which based on a certain amount of data with 20 concurrent threads for 30 minutes, and one MySQL has been deployed on one machine, while the scenario of MySQL used for comparison is deployed on one machine with one instance.</description>
</item>
<item>
<title>Resource Definition</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rdl/resource-definition/</guid>
<description>Syntax ADD RESOURCE dataSource [, dataSource] ... ALTER RESOURCE dataSource [, dataSource] ... DROP RESOURCE dataSourceName [, dataSourceName] ... [ignore single tables] dataSource: simpleSource | urlSource simpleSource: dataSourceName(HOST=hostname,PORT=port,DB=dbName,USER=user [,PASSWORD=password] [,PROPERTIES(poolProperty [,poolProperty] ...)]) urlSource: dataSourceName(URL=url,USER=user [,PASSWORD=password] [,PROPERTIES(poolProperty [,poolProperty]) ...]) poolProperty: &amp;#34;key&amp;#34;= (&amp;#34;value&amp;#34; | value) 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 added resource can be connected normally, otherwise it will not be added successfully Duplicate dataSourceName is not allowed to be added In the definition of a dataSource, the syntax of simpleSource and urlSource cannot be mixed poolProperty is used to customize connection pool properties, key must be the same as the connection pool property name, value supports int and 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/resource-query/</guid>
<description>Syntax SHOW SCHEMA RESOURCES [FROM schemaName] 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 schema resources; +------+-------+-----------+------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | type | host | port | db | attribute | +------+-------+-----------+------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ds_0 | MySQL | 127.</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/rules/sharding/</guid>
<description>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 automatic 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 (?) ShardingStrategyConfiguration Default database sharding strategy Not sharding defaultTableShardingStrategy (?) ShardingStrategyConfiguration Default table sharding strategy Not sharding defaultKeyGenerateStrategy (?</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sharding/</guid>
<description>Configuration Item Explanation 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. Absent means sharding databases only. # Databases sharding strategy, use default databases sharding strategy if absent. sharding strategy below can choose only one. # For single sharding column scenario spring.</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sharding/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding-5.1.1.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 (?) Tag Automatic sharding table rule configuration binding-table-rules (?) Tag Binding table rule configuration broadcast-table-rules (?) Tag Broadcast table rule configuration default-database-strategy-ref (?) Attribute Default database strategy name default-table-strategy-ref (?</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/</guid>
<description>Configuration Item Explanation 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. sharding strategy below can choose only one. standard: # For single sharding column scenario shardingColumn: # Sharding column name shardingAlgorithmName: # Sharding algorithm name complex: # For multiple sharding columns scenario shardingColumns: # Sharding column names, multiple columns separated with comma shardingAlgorithmName: # Sharding algorithm name hint: # Sharding by hint shardingAlgorithmName: # Sharding algorithm name none: # Do not sharding tableStrategy: # Tables sharding strategy, same as database sharding strategy keyGenerateStrategy: # Key generator strategy column: # Column name of key generator keyGeneratorName: # Key generator name autoTables: # Auto Sharding table configuration t_order_auto: # Logic table name actualDataSources (?</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/sharding/</guid>
<description>Syntax Sharding Table Rule SHOW SHARDING TABLE tableRule | RULES [FROM schemaName] SHOW SHARDING ALGORITHMS [FROM schemaName] SHOW UNUSED SHARDING ALGORITHMS [FROM schemaName] SHOW SHARDING KEY GENERATORS [FROM schemaName] SHOW UNUSED SHARDING KEY GENERATORS [FROM schemaName] SHOW SHARDING TABLE RULES USED KEY GENERATOR keyGeneratorName [FROM schemaName] 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 Sharding Binding Table Rule SHOW SHARDING BINDING TABLE RULES [FROM schemaName] Sharding Broadcast Table Rule SHOW SHARDING BROADCAST TABLE RULES [FROM schemaName] Sharding Scaling Rule SHOW SHARDING SCALING RULES [FROM schemaName] 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 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/</guid>
<description>Resource Operation Configure data source information ADD RESOURCE ds_0 ( HOST=127.0.0.1, PORT=3306, DB=ds_1, USER=root, PASSWORD=root ); ADD RESOURCE ds_1 ( HOST=127.0.0.1, PORT=3306, DB=ds_2, USER=root, PASSWORD=root ); 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/1.2.0/en/quick-start/shardingsphere-jdbc-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/quick-start/shardingsphere-jdbc-quick-start/</guid>
<description>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.
Rules Configuration ShardingSphere-JDBC can be configured by four methods, Java, YAML, Spring namespace and Spring boot starter. Developers can choose the suitable method according to different situations. Please refer to User Manual for more details.
3. Create Data Source Use ShardingSphereDataSourceFactory and rule configurations to create ShardingSphereDataSource, which implements DataSource interface of JDBC.</description>
</item>
<item>
<title>SQL</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/use-norms/sql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/use-norms/sql/</guid>
<description>SQL Supporting Status Compatible with all regular SQL when routing to single data node; The SQL routing to multiple data nodes is pretty complex, it divides the scenarios as totally supported, experimental supported and unsupported.
Totally Supported Fully support DML, DDL, DCL, TCL and most regular DAL. Support complex query with pagination, DISTINCT, ORDER BY, GROUP BY, aggregation and table JOIN.
Regular Query SELECT Clause SELECT select_expr [, select_expr .</description>
</item>
<item>
<title>SQL Parser Test</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/module-test/parser-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/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 Test</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/performance-test/sysbench-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/performance-test/sysbench-test/</guid>
<description>At least 5 machines are required:
Jenkins * 1: ${host-jenkins} Sysbench * 1: ${host-sysbench} ShardingSphere-Proxy * 1: ${host-proxy} MySQL Server * 2: ${host-mysql-1}, ${host-mysql-2} The hardware standards of Jenkins and Sysbench machines can appropriately lower.
Software Environment Jenkins: The latest version Sysbench: 1.0.20 ShardingSphere-Proxy: package from master branch MySQL Server: 5.7.28 Test Program According to the above hardware environment, the configuration parameters are as follows, and the parameters should be adjusted according to the changes in the hardware environment.</description>
</item>
<item>
<title>Table</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/table/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/table/</guid>
<description>Table is the core concept of data sharding transparently. There are diversified tables provided for different data sharding requirements by Apache ShardingSphere.
Logic Table The logical name of the horizontal sharding databases (tables) with the same schema, it is the logical table identification in SQL. For instance, the data of order is divided into 10 tables according to the last number of the primary key, and they are from t_order_0 to t_order_9, whose logic name is t_order.</description>
</item>
<item>
<title>Use Agent</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/observability/agent/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/observability/agent/</guid>
<description>Build Local Build &amp;gt; cd shardingsphere/shardingsphere-agent &amp;gt; mvn clean install Download (Not Released Yet) &amp;gt; weget http://xxxxx/shardingsphere-agent.tar.gz &amp;gt; tar -zxvcf shardingsphere-agent.tar.gz Configuration Found agent.yaml file:
applicationName: shardingsphere-agent ignoredPluginNames: # A collection of ignored plugins - Opentracing - Jaeger - Zipkin - Prometheus - OpenTelemetry - Logging plugins: Prometheus: host: &amp;#34;localhost&amp;#34; port: 9090 props: JVM_INFORMATION_COLLECTOR_ENABLED : &amp;#34;true&amp;#34; Jaeger: host: &amp;#34;localhost&amp;#34; port: 5775 props: SERVICE_NAME: &amp;#34;shardingsphere-agent&amp;#34; JAEGER_SAMPLER_TYPE: &amp;#34;const&amp;#34; JAEGER_SAMPLER_PARAM: &amp;#34;1&amp;#34; JAEGER_REPORTER_LOG_SPANS: &amp;#34;true&amp;#34; JAEGER_REPORTER_FLUSH_INTERVAL: &amp;#34;1&amp;#34; Zipkin: host: &amp;#34;localhost&amp;#34; port: 9411 props: SERVICE_NAME: &amp;#34;shardingsphere-agent&amp;#34; URL_VERSION: &amp;#34;/api/v2/spans&amp;#34; Opentracing: props: OPENTRACING_TRACER_CLASS_NAME: &amp;#34;org.</description>
</item>
<item>
<title>Use Binary Tar</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-proxy/startup/bin/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-proxy/startup/bin/</guid>
<description>Startup Steps Get ShardingSphere-Proxy binary package from download page. After the decompression, revise conf/server.yaml and documents begin with config- prefix, conf/config-xxx.yaml for example, to configure sharding rules and readwrite-splitting rules. Please refer to Configuration Manual for the configuration method. Please run bin/start.sh for Linux operating system; run bin/start.bat for Windows operating system to start ShardingSphere-Proxy. To configure start port and document location, please refer to Quick Start. Using database protocol Using PostgreSQL Use any PostgreSQL terminal to connect, such as psql -U root -h 127.</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/transaction/java-api/</guid>
<description>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;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- import if using XA transaction --&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;!-- import if using BASE transaction --&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; Use Distributed Transaction TransactionTypeHolder.set(TransactionType.XA); // Support TransactionType.LOCAL, TransactionType.XA, TransactionType.BASE try (Connection conn = dataSource.getConnection()) { // Use ShardingSphereDataSource conn.setAutoCommit(false); PreparedStatement ps = conn.prepareStatement(&amp;#34;INSERT INTO t_order (user_id, status) VALUES (?, ?)&amp;#34;); ps.setObject(1, 1000); ps.setObject(2, &amp;#34;init&amp;#34;); ps.executeUpdate(); conn.commit(); } </description>
</item>
<item>
<title>XA</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/concept/xa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/concept/xa/</guid>
<description>2PC transaction submit uses the DTP Model defined by X/OPEN, in which created AP (Application Program), TM (Transaction Manager) and RM (Resource Manager) can guarantee a high transaction consistency. TM and RM use XA protocol for bidirectional streaming. Compared with traditional local transactions, XA transactions have a prepared phase, where the database cannot only passively receive commands, but also notify the submitter whether the transaction can be accepted. TM can collect all the prepared results of branch transactions before submitting all of them together, which has guaranteed the distributed consistency.</description>
</item>
<item>
<title>XA Transaction</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/transaction/2pc-xa-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/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>YAML configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/yaml-configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/yaml-configuration/</guid>
<description>5.0.0-alpha Data Sharding Configuration Item Explanation dataSources: # Omit the data source configuration, please refer to the usage 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. sharding strategy below can choose only one. standard: # For single sharding column scenario shardingColumn: # Sharding column name shardingAlgorithmName: # Sharding algorithm name complex: # For multiple sharding columns scenario shardingColumns: # Sharding column names, multiple columns separated with comma shardingAlgorithmName: # Sharding algorithm name hint: # Sharding by hint shardingAlgorithmName: # Sharding algorithm name none: # Do not sharding tableStrategy: # Tables sharding strategy, same as database sharding strategy keyGenerateStrategy: # Key generator strategy column: # Column name of key generator keyGeneratorName: # Key generator name autoTables: # Auto Sharding table configuration t_order_auto: # Logic table name actualDataSources (?</description>
</item>
<item>
<title>ADD RESOURCE</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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 schema.
Syntax AddResource ::= &amp;#39;ADD&amp;#39; &amp;#39;RESOURCE&amp;#39; dataSource (&amp;#39;,&amp;#39; dataSource)* dataSource ::= dataSourceName &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; &amp;#39;PROPERTIES&amp;#39; &amp;#39;(&amp;#39; ( key &amp;#39;=&amp;#39; value ) ( &amp;#39;,&amp;#39; key &amp;#39;=&amp;#39; value )* &amp;#39;)&amp;#39; )?&amp;#39;)&amp;#39; dataSourceName ::= identifier hostname ::= identifier | ip dbName ::= identifier port ::= int password ::= identifier | int | string user ::= identifier url ::= identifier | string Supplement Before adding resources, please confirm that a schema has been created in Proxy, and execute the use command to successfully select a schema Confirm that the added resource can be connected normally, otherwise it will not be added successfully dataSourceName is case-sensitive dataSourceName needs to be unique within the current schema dataSourceName 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; Example Add resource using standard mode ADD RESOURCE ds_0 ( HOST=127.</description>
</item>
<item>
<title>APM Integration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/observability/apm-integration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/observability/apm-integration/</guid>
<description>Usage Use OpenTracing Method 1: inject Tracer provided by APM system through reading system parameters Add startup arguments
-Dorg.apache.shardingsphere.tracing.opentracing.tracer.class=org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer Call initialization method.
ShardingTracer.init(); Method 2: inject Tracer provided by APM through parameter. ShardingTracer.init(new SkywalkingTracer()); Notice: when using SkyWalking OpenTracing agent, the OpenTracing plug-in of Apache ShardingSphere Agent cannot be used at the same time to prevent the two plug-ins from conflicting with each other.
Use SkyWalking&amp;rsquo;s Automatic Agent Please refer to SkyWalking Manual.</description>
</item>
<item>
<title>Configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/configuration/</guid>
<description>RuleBuilder SPI Name Description RuleBuilder Used to convert user configurations to rule objects Implementation Class Description AlgorithmProvidedReadwriteSplittingRuleBuilder Used to convert algorithm-based read-write separation user configuration into read-write separation rule objects AlgorithmProvidedDatabaseDiscoveryRuleBuilder Used to convert algorithm-based database discovery user configuration into database discovery rule objects AlgorithmProvidedShardingRuleBuilder Used to convert algorithm-based sharding user configuration into sharding rule objects AlgorithmProvidedEncryptRuleBuilder Used to convert algorithm-based encryption user configuration into encryption rule objects AlgorithmProvidedShadowRuleBuilder Used to convert algorithm-based shadow database user configuration into shadow database rule objects ReadwriteSplittingRuleBuilder Used to convert read-write separation user configuration into read-write separation rule objects DatabaseDiscoveryRuleBuilder Used to convert database discovery user configuration into database discovery rule objects SingleTableRuleBuilder Used to convert single-table user configuration into a single-table rule objects AuthorityRuleBuilder Used to convert permission user configuration into permission rule objects ShardingRuleBuilder Used to convert sharding user configuration into sharding rule objects EncryptRuleBuilder Used to convert encrypted user configuration into encryption rule objects ShadowRuleBuilder Used to convert shadow database user configuration into shadow database rule objects TransactionRuleBuilder Used to convert transaction user configuration into transaction rule objects SQLParserRuleBuilder Used to convert SQL parser user configuration into SQL parser rule objects YamlRuleConfigurationSwapper SPI Name Description YamlRuleConfigurationSwapper Used to convert YAML configuration to standard user configuration Implementation Class Description ReadwriteSplittingRuleAlgorithmProviderConfigurationYamlSwapper Used to convert algorithm-based read-write separation configuration into read-write separation standard configuration DatabaseDiscoveryRuleAlgorithmProviderConfigurationYamlSwapper Used to convert algorithm-based database discovery configuration into database discovery standard configuration ShardingRuleAlgorithmProviderConfigurationYamlSwapper Used to convert algorithm-based sharding configuration into sharding standard configuration EncryptRuleAlgorithmProviderConfigurationYamlSwapper Used to convert algorithm-based encryption configuration into encryption standard configuration ShadowRuleAlgorithmProviderConfigurationYamlSwapper Used to convert algorithm-based shadow database configuration into shadow database standard configuration ReadwriteSplittingRuleConfigurationYamlSwapper Used to convert the YAML configuration of read-write separation into the standard configuration of read-write separation DatabaseDiscoveryRuleConfigurationYamlSwapper Used to convert the YAML configuration of database discovery into the standard configuration of database discovery AuthorityRuleConfigurationYamlSwapper Used to convert the YAML configuration of permission rules into standard configuration of permission rules ShardingRuleConfigurationYamlSwapper Used to convert the YAML configuration of the shard into the standard configuration of the shard EncryptRuleConfigurationYamlSwapper Used to convert encrypted YAML configuration into encrypted standard configuration ShadowRuleConfigurationYamlSwapper Used to convert the YAML configuration of the shadow database into the standard configuration of the shadow database TransactionRuleConfigurationYamlSwapper Used to convert the YAML configuration of the transaction into the standard configuration of the transaction SingleTableRuleConfigurationYamlSwapper Used to convert the YAML configuration of the single table into the standard configuration of the single table SQLParserRuleConfigurationYamlSwapper Used to convert the YAML configuration of the SQL parser into the standard configuration of the SQL parser ShardingSphereYamlConstruct SPI Name Description ShardingSphereYamlConstruct Used to convert customized objects and YAML to each other Implementation Class Description NoneShardingStrategyConfigurationYamlConstruct Used to convert non sharding strategy and YAML to each other </description>
</item>
<item>
<title>CREATE SHARDING ALGORITHM</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/distsql/syntax/rdl/rule-definition/create-sharding-algorithm/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/distsql/syntax/rdl/rule-definition/create-sharding-algorithm/</guid>
<description>Description The CREATE SHARDING ALGORITHM syntax is used to create a sharding algorithm for the currently selected schema.
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 Example 1.</description>
</item>
<item>
<title>Data Node</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/datanode/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/datanode/</guid>
<description>As the atomic unit of sharding, it consists of data source name and actual table name, e.g. ds_0.t_order_0.
Mapping relationship between logic tables and actual tables and can be divided into two kinds: uniform topology and user-defined topology.
Uniform topology It means that tables are evenly distributed in each data source, for example:
db0 ├── t_order0 └── t_order1 db1 ├── t_order0 └── t_order1 The data node configurations will be as follows:</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/data-source/</guid>
<description>ShardingSphere-JDBC Supports all JDBC drivers and database connection pools.
Example In this example, the database driver is MySQL, and connection pool is HikariCP, which can be replaced with other database drivers and connection pools.
Map&amp;lt;String, DataSource&amp;gt; dataSourceMap = new HashMap&amp;lt;&amp;gt;(); // Configure the 1st data source HikariDataSource dataSource1 = new HikariDataSource(); dataSource1.setDriverClassName(&amp;#34;com.mysql.jdbc.Driver&amp;#34;); dataSource1.setJdbcUrl(&amp;#34;jdbc:mysql://localhost:3306/ds_1&amp;#34;); dataSource1.setUsername(&amp;#34;root&amp;#34;); dataSource1.setPassword(&amp;#34;&amp;#34;); dataSourceMap.put(&amp;#34;ds_1&amp;#34;, dataSource1); // Configure the 2nd data source HikariDataSource dataSource2 = new HikariDataSource(); dataSource2.setDriverClassName(&amp;#34;com.mysql.jdbc.Driver&amp;#34;); dataSource2.setJdbcUrl(&amp;#34;jdbc:mysql://localhost:3306/ds_2&amp;#34;); dataSource2.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/data-source/</guid>
<description>Use Native Data Source Configuration Item Explanation spring.shardingsphere.datasource.names= # Actual data source name, multiple split by `,` # &amp;lt;actual-data-source-name&amp;gt; indicate name of data source name spring.shardingsphere.datasource.&amp;lt;actual-data-source-name&amp;gt;.type= # Full class name of database connection pool spring.shardingsphere.datasource.&amp;lt;actual-data-source-name&amp;gt;.driver-class-name= # Class name of database driver, ref property of connection pool spring.shardingsphere.datasource.&amp;lt;actual-data-source-name&amp;gt;.jdbc-url= # Database URL, ref property of connection pool spring.shardingsphere.datasource.&amp;lt;actual-data-source-name&amp;gt;.username= # Database username, ref property of connection pool spring.shardingsphere.datasource.&amp;lt;actual-data-source-name&amp;gt;.password= # Database password, ref property of connection pool spring.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/data-source/</guid>
<description>Any data source configured as spring bean can be cooperated with spring namespace.
Example In this example, the database driver is MySQL, and connection pool is HikariCP, which can be replaced with other database drivers and connection pools.
&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; 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 &amp;#34;&amp;gt; &amp;lt;bean id=&amp;#34;ds1&amp;#34; class=&amp;#34;com.zaxxer.hikari.HikariDataSource&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/ds1&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;ds2&amp;#34; class=&amp;#34;com.</description>
</item>
<item>
<title>Data Source</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/data-source/</guid>
<description>It is divided into single data source configuration and multi data source configuration. ShardingSphere-JDBC Supports all JDBC drivers and database connection pools.
In this example, the database driver is MySQL, and connection pool is HikariCP, which can be replaced with other database drivers and connection pools.
Configuration Item Explanation dataSources: # Data sources configuration, multiple &amp;lt;data-source-name&amp;gt; available &amp;lt;data-source-name&amp;gt;: # Data source name dataSourceClassName: # Data source class name driverClassName: # Class name of database driver, ref property of connection pool jdbcUrl: # Database URL, ref property of connection pool username: # Database username, ref property of connection pool password: # Database password, ref property of connection pool # .</description>
</item>
<item>
<title>Java API</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/java-api/</guid>
<description>5.0.0-beta Sharding 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 automatic 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 (?) ShardingStrategyConfiguration Default database sharding strategy Not sharding defaultTableShardingStrategy (?) ShardingStrategyConfiguration Default table sharding strategy Not sharding defaultKeyGenerateStrategy (?</description>
</item>
<item>
<title>Manual</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-scaling/usage/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-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) Attention:
If the backend database is in following table, please download JDBC driver jar and put it into ${shardingsphere-proxy}/lib directory.
RDBMS JDBC driver Reference MySQL mysql-connector-java-5.</description>
</item>
<item>
<title>openGauss</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/opengauss/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/opengauss/</guid>
<description>The unsupported SQL list for openGauss are as follows:
SQL CREATE type avg_state AS (total bigint, count bigint); CREATE AGGREGATE my_avg(int4) (stype = avg_state, sfunc = avg_transfn, finalfunc = avg_finalfn) CREATE TABLE agg_data_2k AS SELECT g FROM generate_series(0, 1999) g; CREATE SCHEMA alt_nsp1; ALTER AGGREGATE alt_agg3(int) OWNER TO regress_alter_generic_user2; CREATE CONVERSION alt_conv1 FOR &amp;lsquo;LATIN1&amp;rsquo; TO &amp;lsquo;UTF8&amp;rsquo; FROM iso8859_1_to_utf8; CREATE FOREIGN DATA WRAPPER alt_fdw1 CREATE SERVER alt_fserv1 FOREIGN DATA WRAPPER alt_fdw1 CREATE LANGUAGE alt_lang1 HANDLER plpgsql_call_handler CREATE STATISTICS alt_stat1 ON a, b FROM alt_regress_1 CREATE TEXT SEARCH DICTIONARY alt_ts_dict1 (template=simple) CREATE RULE def_view_test_ins AS ON INSERT TO def_view_test DO INSTEAD INSERT INTO def_test SELECT new.</description>
</item>
<item>
<title>Pagination</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/use-norms/pagination/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/use-norms/pagination/</guid>
<description>Totally support pagination queries of MySQL, PostgreSQL and Oracle; partly support SQLServer pagination query due to its complexity.
Pagination Performance Performance Bottleneck Pagination with query offset too high can lead to a low data accessibility, take MySQL as an example:
SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 This SQL will make MySQL acquire another 10 records after skipping 1,000,000 records when it is not able to use indexes.</description>
</item>
<item>
<title>PostgreSQL</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/postgresql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/postgresql/</guid>
<description>The unsupported SQL list for PostgreSQL are as follows:
TODO</description>
</item>
<item>
<title>PostgreSQL</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/postgresql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/postgresql/</guid>
<description>The unsupported SQL list for PostgreSQL are as follows:
SQL CREATE type avg_state AS (total bigint, count bigint); CREATE AGGREGATE my_avg(int4) (stype = avg_state, sfunc = avg_transfn, finalfunc = avg_finalfn) CREATE TABLE agg_data_2k AS SELECT g FROM generate_series(0, 1999) g; CREATE SCHEMA alt_nsp1; ALTER AGGREGATE alt_agg3(int) OWNER TO regress_alter_generic_user2; CREATE CONVERSION alt_conv1 FOR &amp;lsquo;LATIN1&amp;rsquo; TO &amp;lsquo;UTF8&amp;rsquo; FROM iso8859_1_to_utf8; CREATE FOREIGN DATA WRAPPER alt_fdw1 CREATE SERVER alt_fserv1 FOREIGN DATA WRAPPER alt_fdw1 CREATE LANGUAGE alt_lang1 HANDLER plpgsql_call_handler CREATE STATISTICS alt_stat1 ON a, b FROM alt_regress_1 CREATE TEXT SEARCH DICTIONARY alt_ts_dict1 (template=simple) CREATE RULE def_view_test_ins AS ON INSERT TO def_view_test DO INSTEAD INSERT INTO def_test SELECT new.</description>
</item>
<item>
<title>Properties</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/yaml-config/props/</guid>
<description>Introduction Apache ShardingSphere provides the way of property configuration to configure system level configuration.
Configuration Item Explanation Name Data Type Description Default Value Dynamic Update 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.</description>
</item>
<item>
<title>Readwrite splitting</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/readwrite-splitting/</guid>
<description>Configuration Item Explanation 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;.type= # Readwrite-splitting type, such as: Static, Dynamic spring.shardingsphere.rules.readwrite-splitting.data-sources.&amp;lt;readwrite-splitting-data-source-name&amp;gt;.props.auto-aware-data-source-name= # Auto aware data source name(Use with database discovery) spring.shardingsphere.rules.readwrite-splitting.data-sources.&amp;lt;readwrite-splitting-data-source-name&amp;gt;.props.write-data-source-name= # Write data source name spring.shardingsphere.rules.readwrite-splitting.data-sources.&amp;lt;readwrite-splitting-data-source-name&amp;gt;.props.read-data-source-names= # Read data source names, multiple data source names separated with comma spring.shardingsphere.rules.readwrite-splitting.data-sources.&amp;lt;readwrite-splitting-data-source-name&amp;gt;.load-balancer-name= # Load balance algorithm name # Load balance algorithm configuration spring.shardingsphere.rules.readwrite-splitting.load-balancers.&amp;lt;load-balance-algorithm-name&amp;gt;.type= # Load balance algorithm type spring.shardingsphere.rules.readwrite-splitting.load-balancers.&amp;lt;load-balance-algorithm-name&amp;gt;.props.xxx= # Load balance algorithm properties Please refer to Built-in Load Balance Algorithm List for more details about type of algorithm.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/rules/readwrite-splitting/</guid>
<description>Root Configuration Class name: org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration
Attributes:
Name DataType Description dataSources (+) Collection&amp;lt;ReadwriteSplittingDataSourceRuleConfiguration&amp;gt; Data sources of write and reads loadBalancers (*) Map&amp;lt;String, ShardingSphereAlgorithmConfiguration&amp;gt; Load balance algorithm name and configurations of replica data sources Readwrite-splitting Data Source Configuration Class name: org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration
Attributes:
Name DataType Description Default Value name String Readwrite-splitting data source name - type String Readwrite-splitting type, such as: Static, Dynamic - props Properties Readwrite-splitting required properties.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/readwrite-splitting/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/readwrite-splitting/readwrite-splitting-5.1.1.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;
Name Type Description id Attribute Readwrite-splitting data source rule name type Attribute Readwrite-splitting type, such as: Static, Dynamic props Tag Readwrite-splitting required properties.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/rules/readwrite-splitting/</guid>
<description>Configuration Item Explanation rules: - !READWRITE_SPLITTING dataSources: &amp;lt;data-source-name&amp;gt; (+): # Logic data source name of readwrite-splitting type: # Readwrite-splitting type, such as: Static, Dynamic props: auto-aware-data-source-name: # Auto aware data source name(Use with database discovery) 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/usage/readwirte-splitting-rule/</guid>
<description>Resource Operation ADD RESOURCE write_ds ( HOST=127.0.0.1, PORT=3306, DB=ds_0, USER=root, PASSWORD=root ),read_ds ( HOST=127.0.0.1, PORT=3307, DB=ds_0, USER=root, PASSWORD=root ); 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/1.2.0/en/reference/sharding/route/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/route/</guid>
<description>It refers to the sharding strategy that matches databases and tables according to the parsing context and generates route path. SQL with sharding keys can be divided into single-sharding route (equal mark as the operator of sharding key), multiple-sharding route (IN as the operator of sharding key) and range sharding route (BETWEEN as the operator of sharding key). SQL without sharding key adopts broadcast route.
Sharding strategies can usually be set in the database or by users.</description>
</item>
<item>
<title>Seata BASE transaction</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/transaction/base-transaction-seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/builtin-algorithm/sharding/</guid>
<description>Auto Sharding Algorithm Modulo Sharding Algorithm Type: MOD
Attributes:
Name DataType Description sharding-count int Sharding count Hash Modulo Sharding Algorithm Type: HASH_MOD
Attributes:
Name DataType Description sharding-count int Sharding count Volume Based Range Sharding Algorithm Type: VOLUME_RANGE
Attributes:
Name DataType Description range-lower long Range lower bound, throw exception if lower than bound range-upper long Range upper bound, throw exception if upper than bound sharding-volume long Sharding volume Boundary Based Range Sharding Algorithm Type: BOUNDARY_RANGE</description>
</item>
<item>
<title>ShardingSphere-Proxy</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/quick-start/shardingsphere-proxy-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/quick-start/shardingsphere-proxy-quick-start/</guid>
<description>Get ShardingSphere-Proxy ShardingSphere-Proxy is available at:
Binary Distribution Docker Rule Configuration Edit %SHARDINGSPHERE_PROXY_HOME%/conf/config-xxx.yaml.
Edit %SHARDINGSPHERE_PROXY_HOME%/conf/server.yaml.
%SHARDINGSPHERE_PROXY_HOME% is the shardingsphere proxy extract path. for example: /opt/shardingsphere-proxy-bin/
Please refer to Configuration Manual for more details.
Import Dependencies If the backend database is PostgreSQL, there&amp;rsquo;s no need for additional dependencies.
If the backend database is MySQL, please download mysql-connector-java-5.1.47.jar or mysql-connector-java-8.0.11.jar and put it into %SHARDINGSPHERE_PROXY_HOME%/ext-lib directory.
Start Server Use default configuration to start sh %SHARDINGSPHERE_PROXY_HOME%/bin/start.</description>
</item>
<item>
<title>SHOW RESOURCE</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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 schema.
Syntax ShowResource ::= &amp;#39;SHOW&amp;#39; &amp;#39;SCHEMA&amp;#39; &amp;#39;RESOURCES&amp;#39; (&amp;#39;FROM&amp;#39; schemaName)? schemaName ::= identifier Supplement When schemaName is not specified, the default is the currently used SCHEMA; if SCHEMA 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 schema SHOW SCHEMA 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/1.2.0/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/1.2.0/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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/single-table/</guid>
<description>Syntax SHOW SINGLE TABLE (tableRule | RULES) [FROM schemaName] SHOW SINGLE TABLES tableRule: RULE 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 Example single table rules</description>
</item>
<item>
<title>SQL Rewrite Test</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/module-test/rewrite-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/test/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/1.2.0/en/user-manual/shardingsphere-proxy/startup/docker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-proxy/startup/docker/</guid>
<description>Pull Official Docker Image docker pull apache/shardingsphere-proxy Build Docker Image Manually (Optional) git clone https://github.com/apache/shardingsphere mvn clean install cd shardingsphere-distribution/shardingsphere-proxy-distribution mvn clean package -Prelease,docker Configure ShardingSphere-Proxy Create server.yaml and config-xxx.yaml to configure sharding rules and server rule in /${your_work_dir}/conf/. Please refer to Configuration Manual. Please refer to Example.
Run Docker docker run -d -v /${your_work_dir}/conf:/opt/shardingsphere-proxy/conf -e PORT=3308 -p13308:3308 apache/shardingsphere-proxy:latest Notice
You can define port 3308 and 13308 by yourself. 3308 refers to docker port; 13308 refers to the host port.</description>
</item>
<item>
<title>Use Norms</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/encrypt/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/encrypt/use-norms/</guid>
<description>Supported Encrypt/decrypt one or more columns in the database table; Compatible with all regular SQL. Unsupported Need to process original inventory data before encryption; Encrypted fields cannot support case insensitive queries; The value of encryption columns cannot support comparison, such as: &amp;gt;, &amp;lt;, ORDER BY, BETWEEN, LIKE, etc; The value of encryption columns cannot support calculation, such as AVG, SUM, and calculation expressions. </description>
</item>
<item>
<title>Use Norms</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/ha/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/ha/use-norms/</guid>
<description>Supported MySQL MGR single-primary mode. Unsupported MySQL MGR multi-primary mode. </description>
</item>
<item>
<title>Use Norms</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/observability/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/observability/use-norms/</guid>
<description>Compile source code Download Apache ShardingSphere from GitHub,Then compile.
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 Output directory: shardingsphere-agent/shardingsphere-agent-distribution/target/apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz
Agent configuration Directory structure
Create agent directory, and unzip agent distribution package to the directory.
mkdir agent tar -zxvf apache-shardingsphere-${latest.release.version}-shardingsphere-agent-bin.tar.gz -C agent cd agent tree . ├── conf │ ├── agent.yaml │ └── logback.xml ├── plugins │ ├── shardingsphere-agent-logging-base-${latest.</description>
</item>
<item>
<title>Use Norms</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/readwrite-splitting/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/readwrite-splitting/use-norms/</guid>
<description>Supported Provide the readwrite-splitting configuration of one primary database with multiple replica databases, which can be used alone or with sharding table and database; Primary nodes need to be used for both reading and writing in the transaction; Forcible primary database route based on SQL Hint; Unsupported Data replication between the primary and the replica databases; Data inconsistency caused by replication delay between databases; Double or multiple primary databases to provide write operation; The data for transaction across primary and replica nodes are inconsistent; In the readwrite-splitting model, primary nodes need to be used for both reading and writing in the transaction.</description>
</item>
<item>
<title>Use Norms</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/shadow/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/shadow/use-norms/</guid>
<description>Supported Hint based shadow algorithm support all SQL; Column based shadow algorithm support part of SQL. Unsupported Hint based shadow algorithm None Column based shadow algorithm Does not support DDL; Does not support range, group and subquery, for example: BETWEEN, GROUP BY &amp;hellip; HAVING&amp;hellip;; SQL support list:
INSERT SQL Supported INSERT INTO table (column,&amp;hellip;) VALUES (value,&amp;hellip;) Y INSERT INTO table (column,&amp;hellip;) VALUES (value,&amp;hellip;),(value,&amp;hellip;),&amp;hellip; Y INSERT INTO table (column,&amp;hellip;) SELECT column1 from table1 where column1 = value1 N SELECT/UPDATE/DELETE Condition SQL Supported = SELECT/UPDATE/DELETE &amp;hellip; WHERE column = value Y LIKE/NOT LIKE SELECT/UPDATE/DELETE &amp;hellip; WHERE column LIKE/NOT LIKE value Y IN/NOT IN SELECT/UPDATE/DELETE &amp;hellip; WHERE column IN/NOT IN (value1,value2,&amp;hellip;) Y BETWEEN SELECT/UPDATE/DELETE &amp;hellip; WHERE column BETWEEN value1 AND value2 N GROUP BY &amp;hellip; HAVING&amp;hellip; SELECT/UPDATE/DELETE &amp;hellip; WHERE &amp;hellip; GROUP BY column HAVING column &amp;gt; value N Subquery SELECT/UPDATE/DELETE &amp;hellip; WHERE column = (SELECT column FROM table WHERE column = value) N </description>
</item>
<item>
<title>Use Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-boot-starter/</guid>
<description>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;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;!-- import if using XA transaction --&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;!-- import if using BASE transaction --&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; Configure Transaction Manager @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 Transaction @Transactional @ShardingSphereTransactionType(TransactionType.XA) // Support TransactionType.</description>
</item>
<item>
<title>User Norms</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/scaling/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/scaling/use-norms/</guid>
<description>Supported Migrate data outside into databases which managed by Apache ShardingSphere; Scale out data between data nodes of Apache ShardingSphere. Unsupported Scale table without primary key, primary key can not be composite; Scale table with composite primary key; Do not support scale on in used databases, need to prepare a new database cluster for target. </description>
</item>
<item>
<title>XA</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/use-norms/xa/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/use-norms/xa/</guid>
<description>Supported Support cross-database transactions after sharding; Operation atomicity and high data consistency in 2PC transactions; When service is down and restarted, commit and rollback transactions can be recovered automatically; Support use XA and non-XA connection pool together. Unsupported Recover committing and rolling back in other machines after the service is down. Savepoint. In the transaction block, the SQL execution is abnormal, and run Commit, and data remains consistent.</description>
</item>
<item>
<title>BASE</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/concept/base/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/concept/base/</guid>
<description>A paper published in 2008 first mentioned on BASE transaction, it advocates the use of eventual consistency to instead of consistency when improve concurrency of transaction processing.
TCC and Saga are two regular implementations. They use reverse operation implemented by developers themselves to ensure the eventual consistency when data rollback. SEATA implements SQL reverse operation automatically, so that BASE transaction can be used without the intervention of developers.
Apache ShardingSphere integrates SEATA as solution of BASE transaction.</description>
</item>
<item>
<title>BASE</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/use-norms/base/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/transaction/use-norms/base/</guid>
<description>Supported Support cross-database transactions after sharding; Support RC isolation level; Rollback transaction according to undo log; Support recovery committing transaction automatically after the service is down. Unsupported Do not support other isolation level except RC. To Be Optimized SQL parsed twice by Apache ShardingSphere and SEATA. </description>
</item>
<item>
<title>DROP RESOURCE</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/reference/distsql/syntax/rdl/resource-definition/drop-resource/</guid>
<description>Description The DROP RESOURCE syntax is used to drop resources from the current schema
Syntax DropResource ::= &amp;#39;DROP&amp;#39; &amp;#39;RESOURCE&amp;#39; ( &amp;#39;IF&amp;#39; &amp;#39;EXISTS&amp;#39; )? dataSourceName ( &amp;#39;,&amp;#39; dataSourceName )* ( &amp;#39;IGNORE&amp;#39; &amp;#39;SINGLE&amp;#39; &amp;#39;TABLES&amp;#39; )? 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. will be prompted when removing resources used by rules The resource need to be removed only contains SINGLE TABLE RULE, and when the user confirms that this restriction can be ignored, the IGNORE SINGLE TABLES keyword can be added to remove the resource Example Drop a resource DROP RESOURCE ds_0; Drop multiple resources DROP RESOURCE ds_1, ds_2; Ignore single table rule remove resource DROP RESOURCE ds_1 IGNORE SINGLE TABLES; Drop the resource if it exists DROP RESOURCE IF EXISTS ds_2; Reserved word DROP, RESOURCE, IF, EXISTS, IGNORE, SINGLE, TABLES Related links Reserved word </description>
</item>
<item>
<title>Encrypt</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/usage/encrypt-rule/</guid>
<description>Resource Operation ADD RESOURCE ds_0 ( HOST=127.0.0.1, PORT=3306, DB=ds_0, USER=root, PASSWORD=root ); 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/rules/ha/</guid>
<description>Root Configuration Class name:org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration
Attributes:
Name DataType 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, ShardingSphereAlgorithmConfiguration&amp;gt; Database discovery type configuration Data Source Configuration Class name:org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration
Attributes:
Name DataType Description Default Value 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/ha/</guid>
<description>Configuration Item Explanation spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage spring.shardingsphere.rules.database-discovery.data-sources.&amp;lt;database-discovery-data-source-name&amp;gt;.data-source-names= # Data source names, multiple data source names separated with comma. Such as: ds_0, ds_1 spring.shardingsphere.rules.database-discovery.data-sources.&amp;lt;database-discovery-data-source-name&amp;gt;.discovery-heartbeat-name= # Detect heartbeat name spring.shardingsphere.rules.database-discovery.data-sources.&amp;lt;database-discovery-data-source-name&amp;gt;.discovery-type-name= # Database discovery type name spring.shardingsphere.rules.database-discovery.discovery-heartbeats.&amp;lt;discovery-heartbeat-name&amp;gt;.props.keep-alive-cron= # This is cron expression, such as:&#39;0/5 * * * * ?&#39; spring.shardingsphere.rules.database-discovery.discovery-types.&amp;lt;discovery-type-name&amp;gt;.type= # Database discovery type, such as: MGR, openGauss spring.shardingsphere.rules.database-discovery.discovery-types.&amp;lt;discovery-type-name&amp;gt;.props.group-name= # Required parameters for database discovery types, such as MGR&#39;s group-name </description>
</item>
<item>
<title>HA</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/ha/</guid>
<description>Configuration Item Explanation 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 Attribute Spring Bean Id data-source-rule (+) tag Data source rule configuration discovery-heartbeat (+) tag Detect heartbeat rule configuration &amp;lt;database-discovery:data-source-rule /&amp;gt;
Name Type Description id Attribute Data source rule Id data-source-names Attribute Data source names, multiple data source names separated with comma.</description>
</item>
<item>
<title>HA</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/rules/ha/</guid>
<description>rules: - !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 * * * * ?&amp;#39; # Database Discovery Configuration discoveryTypes: &amp;lt;discovery-type-name&amp;gt; (+): # Database discovery type name type: # Database discovery type, such as: MGR, openGauss props (?</description>
</item>
<item>
<title>Kernel</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/kernel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/kernel/</guid>
<description>SQLRouter SPI Name Description SQLRouter Used to process routing results Implementation Class Description ReadwriteSplittingSQLRouter Used to process read-write separation routing results DatabaseDiscoverySQLRouter Used to process database discovery routing results SingleTableSQLRouter Used to process single-table routing results ShardingSQLRouter Used to process sharding routing results ShadowSQLRouter Used to process shadow database routing results SQLRewriteContextDecorator SPI Name Description SQLRewriteContextDecorator Used to process SQL rewrite results SPI Name Description ShardingSQLRewriteContextDecorator Used to process sharding SQL rewrite results EncryptSQLRewriteContextDecorator Used to process encryption SQL rewrite results SQLExecutionHook SPI Name Description SQLExecutionHook Hook of SQL execution Implementation Class Description TransactionalSQLExecutionHook Transaction hook of SQL execution ResultProcessEngine SPI Name Description ResultProcessEngine Used by merge engine to process result set Implementation Class Description ShardingResultMergerEngine Used by merge engine to process sharding result set EncryptResultDecoratorEngine Used by merge engine to process encryption result set StoragePrivilegeHandler SPI Name Description StoragePrivilegeHandler Use SQL dialect to process privilege metadata Implementation Class Description PostgreSQLPrivilegeHandler Use PostgreSQL dialect to process privilege metadata SQLServerPrivilegeHandler Use SQLServer dialect to process privilege metadata OraclePrivilegeHandler Use Oracle dialect to process privilege metadata MySQLPrivilegeHandler Use MySQL dialect to process privilege metadata </description>
</item>
<item>
<title>Key Generate Algorithm</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/builtin-algorithm/keygen/</guid>
<description>Snowflake Type: SNOWFLAKE
Attributes:
Name DataType Description Default Value max-tolerate-time-difference-milliseconds (?) long The max tolerate time for different server&amp;rsquo;s time difference in milliseconds 10 milliseconds max-vibration-offset (?) int The max upper limit value of vibrate number, range [0, 4096). Notice: To use the generated value of this algorithm as sharding value, it is recommended to configure this property. The algorithm generates key mod 2^n (2^n is usually the sharding amount of tables or databases) in different milliseconds and the result is always 0 or 1.</description>
</item>
<item>
<title>Readwrite-Splitting</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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 loadBanlancerDefinition: TYPE(NAME=loadBanlancerType [, PROPERTIES([algorithmProperties] )] ) algorithmProperties: algorithmProperty [, algorithmProperty] ... algorithmProperty: key=value 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, 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/readwrite-splitting/</guid>
<description>Syntax SHOW READWRITE_SPLITTING RULES [FROM schemaName] 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_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/1.2.0/en/reference/distsql/syntax/reserved-word/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/distsql/syntax/reserved-word/</guid>
<description>Resource definition ADD, RESOURCE, HOST, PORT, DB, USER, PASSWORD, PROPERTIES, URL Supplement The above reserved words are not case-sensitive </description>
</item>
<item>
<title>Rewrite Engine</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/rewrite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/rewrite/</guid>
<description>The SQL written by engineers 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.
Correctness Rewrite In situation with sharding tables, it requires to rewrite logic table names in sharding settings into actual table names acquired after routing. Database sharding does not require to rewrite table names.</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/sharding/</guid>
<description>Sharding Key Column used to determine database (table) sharding. For example, in last number modulo of order ID sharding, order ID is taken as the sharding key. The full route executed when there is no sharding column in SQL has a poor performance. Besides single sharding column, Apache ShardingSphere also supports multiple sharding columns.
Sharding Algorithm Data sharding can be achieved by sharding algorithms through =, &amp;gt;=, &amp;lt;=, &amp;gt;, &amp;lt;, BETWEEN and IN.</description>
</item>
<item>
<title>ShardingSphere-Scaling (Experimental)</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/quick-start/shardingsphere-scaling-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/quick-start/shardingsphere-scaling-quick-start/</guid>
<description>Rule Configuration Edit %SHARDINGSPHERE_PROXY_HOME%/conf/server.yaml.
%SHARDINGSPHERE_PROXY_HOME% is the shardingsphere proxy extract path. for example: /opt/shardingsphere-proxy-bin/
Please refer to Build Manual for more details.
Import Dependencies If the backend database is PostgreSQL, there&amp;rsquo;s no need for additional dependencies.
If the backend database is MySQL, please download mysql-connector-java-5.1.47.jar and put it into %SHARDINGSPHERE_PROXY_HOME%/lib directory.
Start Server sh %SHARDINGSPHERE_PROXY_HOME%/bin/start.sh Create Migration Job Use DistSQL interface to manage the migration jobs.
Please refer to Usage Manual for more details.</description>
</item>
<item>
<title>SHOW SHARDING TABLE RULE</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/distsql/syntax/rql/rule-query/show-sharding-table-rule/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/distsql/syntax/rql/rule-query/show-sharding-table-rule/</guid>
<description>Description The SHOW SHARDING TABLE RULE syntax is used to query the sharding table rule in the specified schema.
Syntax ShowShardingTableRule ::= &#39;SHOW&#39; &#39;SHARDING&#39; &#39;TABLE&#39; (&#39;RULE&#39; tableName | &#39;RULES&#39;) (&#39;FROM&#39; schemaName)? tableName ::= identifier schemaName ::= identifier Supplement When schemaName is not specified, the default is the currently used SCHEMA. If SCHEMA 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 schema 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>Spring namespace configuration change history</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/spring-namespace-configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/spring-namespace-configuration/</guid>
<description>ShardingSphere-5.0.0-beta Sharding Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding-5.0.0.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 (?) Tag Automatic sharding table rule configuration binding-table-rules (?) Tag Binding table rule configuration broadcast-table-rules (?) Tag Broadcast table rule configuration default-database-strategy-ref (?) Attribute Default database strategy name default-table-strategy-ref (?</description>
</item>
<item>
<title>SQLServer</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/sqlserver/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/sqlserver/</guid>
<description>The unsupported SQL list for SQLServer are as follows:
TODO</description>
</item>
<item>
<title>SQLServer</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/sqlserver/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/sqlserver/</guid>
<description>The unsupported SQL list for SQLServer are as follows:
TODO</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/transaction/spring-namespace/</guid>
<description>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-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;!-- import if using XA transaction --&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;!-- import if using BASE transaction --&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; Configure Transaction Manager &amp;lt;!-- ShardingDataSource configuration --&amp;gt; &amp;lt;!-- ... --&amp;gt; &amp;lt;bean id=&amp;#34;transactionManager&amp;#34; class=&amp;#34;org.springframework.jdbc.datasource.DataSourceTransactionManager&amp;#34;&amp;gt; &amp;lt;property name=&amp;#34;dataSource&amp;#34; ref=&amp;#34;shardingDataSource&amp;#34; /&amp;gt; &amp;lt;/bean&amp;gt; &amp;lt;bean id=&amp;#34;jdbcTemplate&amp;#34; class=&amp;#34;org.springframework.jdbc.core.JdbcTemplate&amp;#34;&amp;gt; &amp;lt;property name=&amp;#34;dataSource&amp;#34; ref=&amp;#34;shardingDataSource&amp;#34; /&amp;gt; &amp;lt;/bean&amp;gt; &amp;lt;tx:annotation-driven /&amp;gt; &amp;lt;!-- Enable auto scan @ShardingSphereTransactionType annotation to inject the transaction type before connection created --&amp;gt; &amp;lt;sharding:tx-type-annotation-driven /&amp;gt; Use Distributed Transaction @Transactional @ShardingSphereTransactionType(TransactionType.</description>
</item>
<item>
<title>Atomikos Transaction</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/transaction/atomikos/</guid>
<description>The default XA transaction manager of Apache ShardingSphere is Atomikos.
Data Recovery xa_tx.log generated in the project logs folder is necessary for the recovery when XA crashes. Please keep it.
Update Configuration Developer can add jta.properties in classpath of the application to customize Atomikos configuration. For detailed configuration rules.
Please refer to Atomikos official documentation for more details.</description>
</item>
<item>
<title>DataSource</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/data-source/</guid>
<description>DatabaseType SPI Name Description DatabaseType Supported database type Implementation Class Description SQL92DatabaseType SQL92 database type MySQLDatabaseType MySQL database MariaDBDatabaseType MariaDB database PostgreSQLDatabaseType PostgreSQL database OracleDatabaseType Oracle database SQLServerDatabaseType SQLServer database H2DatabaseType H2 database OpenGaussDatabaseType OpenGauss database DialectTableMetaDataLoader SPI Name Description DialectTableMetaDataLoader Use SQL dialect to load meta data rapidly Implementation Class Description MySQLTableMetaDataLoader Use MySQL dialect to load meta data OracleTableMetaDataLoader Use Oracle dialect to load meta data PostgreSQLTableMetaDataLoader Use PostgreSQL dialect to load meta data SQLServerTableMetaDataLoader Use SQLServer dialect to load meta data H2TableMetaDataLoader Use H2 dialect to load meta data OpenGaussTableMetaDataLoader Use OpenGauss dialect to load meta data DataSourcePoolMetaData SPI Name Description DataSourcePoolMetaData Data source pool meta data Implementation Class Description DBCPDataSourcePoolMetaData DBCP data source pool meta data HikariDataSourcePoolMetaData Hikari data source pool meta data DataSourcePoolActiveDetector SPI Name Description DataSourcePoolActiveDetector Data source pool active detector Implementation Class Description DefaultDataSourcePoolActiveDetector Default data source pool active detector HikariDataSourcePoolActiveDetector Hikari data source pool active detector </description>
</item>
<item>
<title>DB Discovery</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/db-discovery/</guid>
<description>Syntax SHOW DB_DISCOVERY RULES [FROM schemaName] SHOW DB_DISCOVERY TYPES [FROM schemaName] SHOW DB_DISCOVERY HEARTBEATS [FROM schemaName] 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>Encryption</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/rules/encrypt/</guid>
<description>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, ShardingSphereAlgorithmConfiguration&amp;gt; Encrypt algorithm name and configurations queryWithCipherColumn (?) boolean Whether query with cipher column for data encrypt. User you can use plaintext to query if have true Encrypt Table Rule Configuration Class name: org.</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/encrypt/</guid>
<description>Configuration Item Explanation 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.shardingsphere.rules.encrypt.tables.&amp;lt;table-name&amp;gt;.columns.&amp;lt;column-name&amp;gt;.plain-column= # Plain column name spring.shardingsphere.rules.encrypt.tables.&amp;lt;table-name&amp;gt;.columns.&amp;lt;column-name&amp;gt;.encryptor-name= # Encrypt algorithm name # Encrypt algorithm configuration spring.shardingsphere.rules.encrypt.encryptors.&amp;lt;encrypt-algorithm-name&amp;gt;.type= # Encrypt algorithm type spring.shardingsphere.rules.encrypt.encryptors.&amp;lt;encrypt-algorithm-name&amp;gt;.props.xxx= # Encrypt algorithm properties spring.shardingsphere.rules.encrypt.queryWithCipherColumn= # Whether query with cipher column for data encrypt. User you can use plaintext to query if have Please refer to Built-in Encrypt Algorithm List for more details about type of algorithm.</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/encrypt/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt-5.1.1.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. User you can use plaintext to query if have true table (+) Tag Encrypt table configuration &amp;lt;encrypt:table /&amp;gt;
Name Type Description name Attribute Encrypt table name column (+) Tag Encrypt column configuration query-with-cipher-column(?</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/rules/encrypt/</guid>
<description>Configuration Item Explanation 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 (?): # Plain column name encryptorName: # Encrypt algorithm name queryWithCipherColumn(?): # The current table whether query with cipher column for data encrypt. # Encrypt algorithm configuration encryptors: &amp;lt;encrypt-algorithm-name&amp;gt; (+): # Encrypt algorithm name type: # Encrypt algorithm type props: # Encrypt algorithm properties # .</description>
</item>
<item>
<title>Execute Engine</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/execute/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/execute/</guid>
<description>ShardingSphere adopts a set of automatic execution engine, responsible for sending the true SQL, which has been routed and rewritten, to execute in the underlying data source safely and effectively. It does not simply send the SQL through JDBC to directly execute in the underlying data source, or put execution requests directly to the thread pool to concurrently execute, but focuses more on the creation of a balanced data source connection, the consumption generated by the memory usage, the maximum utilization of the concurrency and other problems.</description>
</item>
<item>
<title>Inline Expression</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/inline-expression/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/inline-expression/</guid>
<description>Motivation Configuration simplicity and unity are two main problems that inline expression intends to solve.
In complex sharding rules, with more data nodes, a large number of configuration repetitions make configurations difficult to maintain. Inline expressions can simplify data node configuration work.
Java codes are not helpful in the unified management of common configurations. Writing sharding algorithms with inline expressions, users can store rules together, making them easier to be browsed and stored.</description>
</item>
<item>
<title>Load Balance Algorithm</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/builtin-algorithm/load-balance/</guid>
<description>Round Robin Algorithm Type: ROUND_ROBIN
Attributes: None
Random Algorithm Type: RANDOM
Attributes: None
Weight Algorithm Type: WEIGHT
Attributes:
All read data in use must be configured with weights
Name DataType Description - &amp;lt;read-data_source-name&amp;gt; (+) double The attribute name uses the read database name, and the parameter fills in the weight value corresponding to the read database.The minimum value of the weight parameter range&amp;gt;0,the total &amp;lt;=Double.</description>
</item>
<item>
<title>Oracle</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/oracle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/oracle/</guid>
<description>The unsupported SQL list for Oracle are as follows:
TODO</description>
</item>
<item>
<title>Oracle</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/oracle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/oracle/</guid>
<description>The unsupported SQL list for Oracle are as follows:
TODO</description>
</item>
<item>
<title>Spring Boot Starter Configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/api-change-history/shardingsphere-jdbc/spring-boot-starter/</guid>
<description>5.0.0-beta Sharding Configuration Item Explanation 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. Absent means sharding databases only. # Databases sharding strategy, use default databases sharding strategy if absent. sharding strategy below can choose only one. # For single sharding column scenario spring.</description>
</item>
<item>
<title>Bitronix Transaction</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/transaction/bitronix/</guid>
<description>Import 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;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; Customize Configuration Items Please refer to Bitronix official documentation for more details.
Configure XA Transaction Manager Type Yaml:
- !TRANSACTION defaultType: XA providerType: Bitronix SpringBoot:
spring: shardingsphere: props: xa-transaction-manager-type: Bitronix 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;Bitronix&amp;lt;/prop&amp;gt; &amp;lt;/props&amp;gt; &amp;lt;/shardingsphere:data-source&amp;gt; </description>
</item>
<item>
<title>DB Discovery</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/usage/db-discovery/</guid>
<description>Resource Operation ADD RESOURCE ds_0 ( HOST=127.0.0.1, PORT=3306, DB=ds_0, USER=root, PASSWORD=root ),RESOURCE ds_1 ( HOST=127.0.0.1, PORT=3306, DB=ds_1, USER=root, PASSWORD=root ),RESOURCE ds_2 ( HOST=127.0.0.1, PORT=3306, DB=ds_2, USER=root, PASSWORD=root ); Rule Operation Create DB discovery rule CREATE DB_DISCOVERY RULE db_discovery_group_0 ( RESOURCES(ds_0, ds_1), TYPE(NAME=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=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 * * * * ?</description>
</item>
<item>
<title>Distributed Primary Key</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/key-generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/key-generator/</guid>
<description>Motivation In the development of traditional database software, the automatic sequence generation technology is a basic requirement. All kinds of databases have provided corresponding support for this requirement, such as MySQL auto-increment key, Oracle auto-increment sequence and so on. It is a tricky problem that there is only one sequence generated by different data nodes after sharding. Auto-increment keys in different physical tables in the same logic table can not perceive each other and thereby generate repeated sequences.</description>
</item>
<item>
<title>Encrypt</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/encrypt/</guid>
<description>Syntax SHOW ENCRYPT RULES [FROM schemaName] SHOW ENCRYPT TABLE RULE tableName [from schemaName] 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 Algorithm</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/builtin-algorithm/encrypt/</guid>
<description>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
Attributes:
Name DataType Description sm3-salt String SM3 SALT (should be blank or 8 bytes long) SM4 Encrypt Algorithm Type: SM4</description>
</item>
<item>
<title>Merger Engine</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/merge/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/reference/sharding/merge/</guid>
<description>Result merger refers to merging multi-data result set acquired from all the data nodes as one result set and returning it to the request end rightly.
In function, the result merger supported by ShardingSphere can be divided into five kinds, iteration, order-by, group-by, pagination and aggregation, which are in composition relation rather than clash relation. In structure, it can be divided into stream merger, memory merger and decorator merger, among which, stream merger and memory merger clash with each other; 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/transaction/narayana/</guid>
<description>Import Maven Dependency &amp;lt;properties&amp;gt; &amp;lt;narayana.version&amp;gt;5.9.1.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;!-- Import if using XA transaction --&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; Customize Configuration Items Add jbossts-properties.xml in classpath of the application to customize Narayana configuration.
Please refer to Narayana official documentation for more details.</description>
</item>
<item>
<title>Properties Configuration</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-jdbc/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-jdbc/props/</guid>
<description>Apache ShardingSphere provides the way of property configuration to configure system level configuration.
Configuration Item Explanation 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>Shadow</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/usage/shadow-rule/</guid>
<description>Resource Operation ADD RESOURCE ds_0 ( HOST=127.0.0.1, PORT=3306, DB=ds_0, USER=root, PASSWORD=root ),ds_1 ( HOST=127.0.0.1, PORT=3306, DB=ds_1, USER=root, PASSWORD=root ),ds_2 ( HOST=127.0.0.1, PORT=3306, DB=ds_2, USER=root, PASSWORD=root ); 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/rules/shadow/</guid>
<description>Root Configuration Class name: org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration
Attributes:
Name DataType Description Default Value dataSources Map&amp;lt;String, ShadowDataSourceConfiguration&amp;gt; Shadow data source mapping name and configuration tables Map&amp;lt;String, ShadowTableConfiguration&amp;gt; Shadow table name and configuration defaultShadowAlgorithmName String Default shadow algorithm name shadowAlgorithms Map&amp;lt;String, ShardingSphereAlgorithmConfiguration&amp;gt; Shadow algorithm name and configuration Shadow Data Source Configuration Class name: org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/shadow/</guid>
<description>Configuration Item Explanation spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage spring.shardingsphere.rules.shadow.data-sources.shadow-data-source.source-data-source-name= # Production data source name spring.shardingsphere.rules.shadow.data-sources.shadow-data-source.shadow-data-source-name= # Shadow data source name spring.shardingsphere.rules.shadow.tables.&amp;lt;table-name&amp;gt;.data-source-names= # Shadow table location shadow data source names (multiple values are separated by &amp;quot;,&amp;quot;) spring.shardingsphere.rules.shadow.tables.&amp;lt;table-name&amp;gt;.shadow-algorithm-names= # Shadow table location shadow algorithm names (multiple values are separated by &amp;quot;,&amp;quot;) spring.shardingsphere.rules.shadow.defaultShadowAlgorithmName= # Default shadow algorithm name, optional item. spring.shardingsphere.rules.shadow.shadow-algorithms.&amp;lt;shadow-algorithm-name&amp;gt;.type= # Shadow algorithm type spring.shardingsphere.rules.shadow.shadow-algorithms.&amp;lt;shadow-algorithm-name&amp;gt;.props.xxx= # Shadow algorithm property configuration </description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/shadow/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/shadow/shadow-5.1.1.xsd
&amp;lt;shadow:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id data-source(?) Tag Shadow data source configuration default-shadow-algorithm-name(?) Tag Default shadow algorithm configuration shadow-table(?) Tag Shadow table configuration &amp;lt;shadow:data-source /&amp;gt;
Name Type Description id Attribute Spring Bean Id source-data-source-name Attribute Production data source name shadow-data-source-name Attribute Shadow data source name &amp;lt;shadow:default-shadow-algorithm-name /&amp;gt;</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/rules/shadow/</guid>
<description>Configuration Item Explanation rules: - !SHADOW dataSources: shadowDataSource: sourceDataSourceName: # Production data source name shadowDataSourceName: # Shadow data source name tables: &amp;lt;table-name&amp;gt;: dataSourceNames: # Shadow table location shadow data source names - &amp;lt;shadow-data-source&amp;gt; shadowAlgorithmNames: # Shadow table location shadow algorithm names - &amp;lt;shadow-algorithm-name&amp;gt; defaultShadowAlgorithmName: # Default shadow algorithm name shadowAlgorithms: &amp;lt;shadow-algorithm-name&amp;gt; (+): # Shadow algorithm name type: # Shadow algorithm type props: # Shadow algorithm property configuration # ... </description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/sql-parser/</guid>
<description>DatabaseTypedSQLParserFacade SPI Name Description DatabaseTypedSQLParserFacade SQL parser facade for lexer and parser Implementation Class Description MySQLParserFacade SQL parser facade for MySQL PostgreSQLParserFacade SQL parser facade for PostgreSQL SQLServerParserFacade SQL parser facade for SQLServer OracleParserFacade SQL parser facade for Oracle SQL92ParserFacade SQL parser facade for SQL92 OpenGaussParserFacade SQL parser facade for openGauss SQLVisitorFacade SPI Name Description SQLVisitorFacade SQL AST visitor facade Implementation Class Description MySQLStatementSQLVisitorFacade SQL visitor of statement extracted facade for MySQL PostgreSQLStatementSQLVisitorFacade SQL visitor of statement extracted facade for PostgreSQL SQLServerStatementSQLVisitorFacade SQL visitor of statement extracted facade for SQLServer OracleStatementSQLVisitorFacade SQL visitor of statement extracted facade for Oracle SQL92StatementSQLVisitorFacade SQL visitor of statement extracted facade for SQL92 </description>
</item>
<item>
<title>SQL92</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/sql92/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/feature-support/sql92/</guid>
<description>The unsupported SQL list for SQL92 are as follows:
TODO</description>
</item>
<item>
<title>SQL92</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/sql92/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/db-compatibility/sql-parser/sql92/</guid>
<description>The unsupported SQL list for SQL92 are as follows:
TODO</description>
</item>
<item>
<title>Hint Sharding Route</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/features/sharding/concept/hint/</guid>
<description>Motivation Apache ShardingSphere can be compatible with SQL in way of parsing SQL statements and extracting columns and values to shard. If SQL does not have sharding conditions, it is impossible to shard without full data node route.
In some applications, sharding conditions are not in SQL but in external business logic. So it requires to designate sharding result externally, which is referred to as Hint in ShardingSphere.
Mechanism Apache ShardingSphere uses ThreadLocal to manage sharding key values.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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/1.2.0/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/1.2.0/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>Proxy</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/proxy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/proxy/</guid>
<description>DatabaseProtocolFrontendEngine SPI Name Description DatabaseProtocolFrontendEngine Regulate parse and adapter protocol of database access for ShardingSphere-Proxy Implementation Class Description MySQLFrontendEngine Base on MySQL database protocol PostgreSQLFrontendEngine Base on PostgreSQL database protocol OpenGaussFrontendEngine Base on openGauss database protocol AuthorityProvideAlgorithm SPI Name Description AuthorityProvideAlgorithm User authority loading logic Implementation Class Type Description NativeAuthorityProviderAlgorithm (Deprecated) NATIVE Persist user authority defined in server.</description>
</item>
<item>
<title>Shadow</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-proxy/distsql/syntax/rql/rule-query/shadow/</guid>
<description>Syntax SHOW SHADOW shadowRule | RULES [FROM schemaName] SHOW SHADOW TABLE RULES [FROM schemaName] SHOW SHADOW ALGORITHMS [FROM schemaName] 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/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/builtin-algorithm/shadow/</guid>
<description>Column Shadow Algorithm Column Value Match Shadow Algorithm Type:VALUE_MATCH
Attributes:
Name DataType Description column String Shadow column operation String SQL operation type (INSERT, UPDATE, DELETE, SELECT) value String Shadow column matching value Column Regex Match Shadow Algorithm Type: REGEX_MATCH
Attributes:
Name DataType Description column String Shadow column operation String SQL operation type (insert, update, delete, select) regex String Shadow column matching regular expression Hint Shadow Algorithm Simple Hint Shadow Algorithm Type: SIMPLE_HINT</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/java-api/rules/sql-parser/</guid>
<description>Root Configuration Class:org.apache.shardingsphere.parser.config.SQLParserRuleConfiguration
Attributes:
name DataType Description sqlCommentParseEnabled (?) boolean Whether to parse SQL comments parseTreeCache (?) CacheOption Parse syntax tree local cache configuration sqlStatementCache (?) CacheOption sql statement local cache configuration Cache option Configuration Class:org.apache.shardingsphere.sql.parser.api.CacheOption
Attributes:
name DataType Description Default Value initialCapacity int Initial capacity of local cache parser syntax tree local cache default value 128, SQL statement cache default value 2000 maximumSize(?</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-boot-starter/rules/sql-parser/</guid>
<description>Configuration Item Explanation 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.sql-statement-cache.concurrency-level= # SQL statement local cache concurrency level, the maximum number of concurrent updates allowed by threads spring.shardingsphere.rules.sql-parser.parse-tree-cache.initial-capacity= # Initial capacity of parse tree local cache spring.shardingsphere.rules.sql-parser.parse-tree-cache.maximum-size= # Maximum local cache capacity of parse tree spring.shardingsphere.rules.sql-parser.parse-tree-cache.concurrency-level= # The local cache concurrency level of the parse tree.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/spring-namespace/rules/sql-parser/</guid>
<description>Configuration Item Explanation Namespace:http://shardingsphere.apache.org/schema/shardingsphere/sql-parser/sql-parser-5.1.1.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;
Name Type Description id Attribute Local cache configuration item name initial-capacity Attribute Initial capacity of local cache maximum-size Attribute Maximum capacity of local cache concurrency-level Attribute Local cache concurrency level, the maximum number of concurrent updates allowed by threads </description>
</item>
<item>
<title>SQL-parser</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/yaml-config/rules/sql-parser/</guid>
<description>Configuration Item Explanation 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 concurrencyLevel: # Local cache concurrency level, the maximum number of concurrent updates allowed by threads parseTreeCache: # Parse tree local cache initialCapacity: # Initial capacity of local cache maximumSize: # Maximum capacity of local cache concurrencyLevel: # Local cache concurrency level, the maximum number of concurrent updates allowed by threads </description>
</item>
<item>
<title>Data Sharding</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/sharding/</guid>
<description>ShardingAlgorithm SPI Name Description ShardingAlgorithm Sharding algorithm Implementation Class Description BoundaryBasedRangeShardingAlgorithm Boundary based range sharding algorithm VolumeBasedRangeShardingAlgorithm Volume based range sharding algorithm ComplexInlineShardingAlgorithm Complex inline sharding algorithm AutoIntervalShardingAlgorithm Mutable interval sharding algorithm ClassBasedShardingAlgorithm Class based sharding algorithm HintInlineShardingAlgorithm Hint inline sharding algorithm IntervalShardingAlgorithm Fixed interval sharding algorithm HashModShardingAlgorithm Hash modulo sharding algorithm InlineShardingAlgorithm Inline sharding algorithm ModShardingAlgorithm Modulo sharding algorithm KeyGenerateAlgorithm SPI Name Description KeyGenerateAlgorithm Key generate algorithm Implementation Class Description SnowflakeKeyGenerateAlgorithm Snowflake key generate algorithm UUIDKeyGenerateAlgorithm UUID key generate algorithm DatetimeService SPI Name Description DatetimeService Use current time for routing Implementation Class Description DatabaseDatetimeServiceDelegate Get the current time from the database for routing SystemDatetimeService Get the current time from the application system for routing DatabaseSQLEntry SPI Name Description DatabaseSQLEntry Database dialect for get current time Implementation Class Description MySQLDatabaseSQLEntry MySQL dialect for get current time PostgreSQLDatabaseSQLEntry PostgreSQL dialect for get current time OracleDatabaseSQLEntry Oracle dialect for get current time SQLServerDatabaseSQLEntry SQLServer dialect for get current time </description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/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/1.2.0/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/1.2.0/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>Seata Transaction</title>
<link>https://shardingsphere.apache.org/document/1.2.0/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/1.2.0/en/user-manual/shardingsphere-jdbc/special-api/transaction/seata/</guid>
<description>Startup Seata Server Download seata server according to seata-work-shop.
Create Undo Log Table Create undo_log table in each physical database (sample for MySQL).
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;; Update Configuration Configure seata.</description>
</item>
<item>
<title>Readwrite-splitting</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/readwrite-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/readwrite-splitting/</guid>
<description>ReadwriteSplittingType SPI 名称 详细说明 ReadwriteSplittingType Readwrite-splitting type 已知实现类 详细说明 StaticReadwriteSplittingType Static readwrite-splitting type DynamicReadwriteSplittingType Dynamic readwrite-splitting type ReplicaLoadBalanceAlgorithm SPI Name Description ReplicaLoadBalanceAlgorithm Load balance algorithm of replica databases Implementation Class Description RoundRobinReplicaLoadBalanceAlgorithm Round robin load balance algorithm of replica databases RandomReplicaLoadBalanceAlgorithm Random load balance algorithm of replica databases WeightReplicaLoadBalanceAlgorithm Weight load balance algorithm of replica databases </description>
</item>
<item>
<title>Unsupported Items</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/user-manual/shardingsphere-jdbc/unsupported/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/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>HA</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/ha/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/ha/</guid>
<description>DatabaseDiscoveryType SPI Name Description DatabaseDiscoveryType Database discovery type Implementation Class Description MGRDatabaseDiscoveryType Database discovery of MySQL&amp;rsquo;s MGR ShowSlaveStatusDatabaseDiscoveryType Database discovery of MySQL&amp;rsquo;s master-slave delay OpenGaussDatabaseDiscoveryType Database discovery of openGauss </description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/transaction/</guid>
<description>ShardingSphereTransactionManager SPI Name Description ShardingSphereTransactionManager Distributed transaction manager Implementation Class Description XAShardingSphereTransactionManager XA distributed transaction manager SeataATShardingSphereTransactionManager Seata distributed transaction manager XATransactionManagerProvider SPI Name Description XATransactionManagerProvider XA distributed transaction manager Implementation Class Description AtomikosTransactionManagerProvider XA distributed transaction manager based on Atomikos NarayanaXATransactionManagerProvider XA distributed transaction manager based on Narayana BitronixXATransactionManagerProvider XA distributed transaction manager based on Bitronix XADataSourceDefinition SPI Name Description XADataSourceDefinition Auto convert Non XA data source to XA data source Implementation Class Description MySQLXADataSourceDefinition Auto convert Non XA MySQL data source to XA MySQL data source MariaDBXADataSourceDefinition Auto convert Non XA MariaDB data source to XA MariaDB data source PostgreSQLXADataSourceDefinition Auto convert Non XA PostgreSQL data source to XA PostgreSQL data source OracleXADataSourceDefinition Auto convert Non XA Oracle data source to XA Oracle data source SQLServerXADataSourceDefinition Auto convert Non XA SQLServer data source to XA SQLServer data source H2XADataSourceDefinition Auto convert Non XA H2 data source to XA H2 data source DataSourcePropertyProvider SPI Name Description DataSourcePropertyProvider Used to get standard properties of data source pool Implementation Class Description HikariCPPropertyProvider Used to get standard properties of HikariCP </description>
</item>
<item>
<title>Scaling</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/scaling/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/scaling/</guid>
<description>ScalingEntry SPI Name Description ScalingEntry Entry of scaling Implementation Class Description MySQLScalingEntry MySQL entry of scaling PostgreSQLScalingEntry PostgreSQL entry of scaling OpenGaussScalingEntry openGauss entry of scaling JobCompletionDetectAlgorithm SPI Name Description JobCompletionDetectAlgorithm Job completion check algorithm Implementation Class Description IdleRuleAlteredJobCompletionDetectAlgorithm Incremental task idle time based algorithm DataConsistencyCalculateAlgorithm SPI Name Description DataConsistencyCalculateAlgorithm Check data consistency algorithm Implementation Class Description DataMatchDataConsistencyCalculateAlgorithm Check data consistency with every recodes one by one CRC32MatchDataConsistencyCalculateAlgorithm Use CRC32 to check data consistency </description>
</item>
<item>
<title>SQL Checker</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/sql-check/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/sql-check/</guid>
<description>SQLChecker SPI Name Description SQLChecker SQL checker Implementation Class Description AuthorityChecker Authority checker </description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/encryption/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/encryption/</guid>
<description>EncryptAlgorithm SPI Name Description EncryptAlgorithm Data encrypt algorithm Implementation Class Description MD5EncryptAlgorithm MD5 data encrypt algorithm AESEncryptAlgorithm AES data encrypt algorithm RC4EncryptAlgorithm RC4 data encrypt algorithm SM3EncryptAlgorithm SM3 data encrypt algorithm SM4EncryptAlgorithm SM4 data encrypt algorithm QueryAssistedEncryptAlgorithm SPI Name Description QueryAssistedEncryptAlgorithm Data encrypt algorithm which include query assisted column Implementation Class Description None </description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/shadow/</guid>
<description>ShadowAlgorithm SPI Name Description ShadowAlgorithm shadow routing algorithm Implementation Class Description ColumnValueMatchShadowAlgorithm Column value match shadow algorithm ColumnRegexMatchShadowAlgorithm Column regex match shadow algorithm SimpleHintShadowAlgorithm Simple hint shadow algorithm </description>
</item>
<item>
<title>Observability</title>
<link>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/agent/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/1.2.0/en/dev-manual/agent/</guid>
<description>PluginDefinitionService SPI Name Description PluginDefinitionService Agent plugin definition Implementation Class Description PrometheusPluginDefinitionService Prometheus plugin BaseLoggingPluginDefinitionService Logging plugin JaegerPluginDefinitionService Jaeger plugin OpenTelemetryTracingPluginDefinitionService OpenTelemetryTracing plugin OpenTracingPluginDefinitionService OpenTracing plugin ZipkinPluginDefinitionService Zipkin plugin PluginBootService SPI Name Description PluginBootService Plugin startup service definition Implementation Class Description PrometheusPluginBootService Prometheus plugin startup class BaseLoggingPluginBootService Logging plugin startup class JaegerTracingPluginBootService Jaeger plugin startup class OpenTelemetryTracingPluginBootService OpenTelemetryTracing plugin startup class OpenTracingPluginBootService OpenTracing plugin startup class ZipkinTracingPluginBootService Zipkin plugin startup class </description>
</item>
</channel>
</rss>