blob: caf241bbbf4e5d071d72132217bfde6934752f88 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ShardingSphere</title>
<link>https://shardingsphere.apache.org/document/current/en/</link>
<description>Recent content on ShardingSphere</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<atom:link href="https://shardingsphere.apache.org/document/current/en/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>APM Integration</title>
<link>https://shardingsphere.apache.org/document/current/en/features/governance/observability/apm-integration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/governance/observability/apm-integration/</guid>
<description>Background APM is the abbreviation for application performance monitoring. Currently, main APM functions lie in the performance diagnosis of distributed systems, including chain demonstration, application topology analysis and so on.
Apache ShardingSphere is not responsible for gathering, storing and demonstrating APM data, but sends the core information of SQL parsing and enforcement to APM to process. In other words, Apache ShardingSphere is only responsible for generating valuable data and submitting it to relevant systems through standard protocol.</description>
</item>
<item>
<title>Build</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-scaling/build/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-scaling/build/</guid>
<description>Build&amp;amp;Deployment Execute the following command to compile and generate the ShardingSphere-Scaling binary package: git clone https://github.com/apache/shardingsphere.git; cd shardingsphere; mvn clean install -Prelease; The binary package&amp;rsquo;s directory is:/shardingsphere-distribution/shardingsphere-scaling-distribution/target/apache-shardingsphere-${latest.release.version}-shardingsphere-scaling-bin.tar.gz。
Unzip the distribution package, modify the configuration file conf/server.yaml, we should ensure the port does not conflict with others, and modify the resume from break-point(optional) server lists: port: 8888 blockQueueSize: 10000 workerThread: 30 resumeBreakPoint: name: scalingJob registryCenter: type: ZooKeeper serverLists: localhost:2181 props: retryIntervalMilliseconds: 10000 Start up ShardingSphere-Scaling: sh bin/start.</description>
</item>
<item>
<title>Build</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/build/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/build/</guid>
<description>Binary Run git clone https://github.com/apache/shardingsphere-ui.git; Run mvn clean install -Prelease; Get the package in /shardingsphere-ui/shardingsphere-ui-distribution/target/apache-shardingsphere-${latest.release.version}-shardingsphere-ui-bin.tar.gz; After the decompression, run bin/start.sh; visit http://localhost:8088/. Source Code Debug ShardingSphere-UI use frontend and backend separately mode.
backend Main class is org.apache.shardingsphere.ui.Bootstrap; visit http://localhost:8088/. frontend cd shardingsphere-ui-frontend/; run npm install; run npm run dev; visit http://localhost:8080/. Configuration Configuration file of ShardingSphere-UI is conf/application.properties in distribution package. It is constituted by two parts.</description>
</item>
<item>
<title>Config Center</title>
<link>https://shardingsphere.apache.org/document/current/en/features/governance/management/config-center/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/governance/management/config-center/</guid>
<description>Motivation Centralized configuration: more and more running examples have made it hard to manage separate configurations and asynchronized configurations can cause serious problems. Concentrating them in the configuration center can make the management more effective.
Dynamic configuration: distribution after configuration modification is another important capability of configuration center. It can support dynamic switch between data sources and rule configurations.
Structure in Configuration Center Under defined namespace, configuration center stores data sources, rule configurations, authentication configuration, and properties in YAML.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/concept/</guid>
<description>TODO</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/read-write-splitting/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/read-write-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 replica query asynchronization, there may be short-time data inconsistency between them.</description>
</item>
<item>
<title>Core Concept</title>
<link>https://shardingsphere.apache.org/document/current/en/features/scaling/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/scaling/concept/</guid>
<description>Scaling Job It refers one complete process of scaling data from old sharding rules to new sharding rule.
Data Node Same as the Data Node in sharding/SQL.
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/current/en/features/shadow/concept/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/shadow/concept/</guid>
<description>TODO</description>
</item>
<item>
<title>Data Source Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/data-source/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/data-source/</guid>
<description>Configuration Item Explanation schemaName: # Logic schema name dataSources: # Data sources configuration, multiple &amp;lt;data-source-name&amp;gt; available &amp;lt;data-source-name&amp;gt;: # Different from ShardingSphere-JDBC configuration, it does not need to be configured with database connection pool url: # Database URL username: # Database username password: # Database password connectionTimeoutMilliseconds: #Connection timeout milliseconds idleTimeoutMilliseconds: #Idle timeout milliseconds maxLifetimeMilliseconds: #Maximum life milliseconds maxPoolSize: 50 #Maximum connection count in the pool minPoolSize: 1 #Minimum connection count in the pool rules: # Keep consist with ShardingSphere-JDBC configuration # .</description>
</item>
<item>
<title>Integration Test</title>
<link>https://shardingsphere.apache.org/document/current/en/features/test-engine/integration-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/test-engine/integration-test/</guid>
<description>The SQL parsing unit test covers both SQL placeholder and literal dimension. Integration test can be further divided into two dimensions of strategy and JDBC; the former one includes strategies as Sharding, table Sharding, database Sharding, and replica query while the latter one includes Statement and PreparedStatement.
Therefore, one SQL can drive 5 kinds of database parsing * 2 kinds of parameter transmission modes + 5 kinds of databases * 5 kinds of Sharding strategies * 2 kinds of JDBC operation modes = 60 test cases, to enable ShardingSphere to achieve the pursuit of high quality.</description>
</item>
<item>
<title>Local Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/use-norms/local-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/use-norms/local-transaction/</guid>
<description>Supported Items Fully support none-cross-database transactions, for example, sharding table or sharding database with its route result in one database; Fully support cross-database transactions caused by logic exceptions, for example, the update of two databases in one transaction, after which, databases will throw null cursor and the content in both databases can be rolled back. Unsupported Items Do not support the cross-database transactions caused by network or hardware exceptions.</description>
</item>
<item>
<title>Parse Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/parse/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/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>Proxy Startup</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/usage/startup/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/usage/startup/</guid>
<description>Startup Steps Download the latest version of ShardingSphere-Proxy. If users use docker, they can implement docker pull shardingsphere/shardingsphere-proxy to get the clone. Please refer to Docker Clone for more details. After the decompression, revise conf/server.yaml and documents begin with config- prefix, conf/config-xxx.yaml for example, to configure sharding rules and replica query rules. Please refer to Configuration Manual for the configuration method. Please run bin/start.sh for Linux operating system; run bin/start.</description>
</item>
<item>
<title>RDL</title>
<link>https://shardingsphere.apache.org/document/current/en/features/dist-sql/rdl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/dist-sql/rdl/</guid>
<description>Definition RDL(Resource &amp;amp; Rule Definition Language)is used to define data resources and rules.
At present, there are the following RDLs,
Create DATASOURCES to add database resources to ShardingSphere // SQL CREATE DATASOURCES ( ds_key=host_name:host_port:db_name:user_name:pwd [, ds_key=host_name:host_port:db_name:user_name:pwd, ...] ) // Example CREATE datasources ( ds0=127.0.0.1:3306:demo_ds_0:root:pwd, ds1=127.0.0.1:3306:demo_ds_1:root:pwd) CREATE SHARDING RULE to create sharding rule made by table rules // SQL CREATE SHARDING RULE ( sharding_table_name=sharding_algorithm(algorithm_property[, algothrim_property]) [, sharding_table_name=sharding_algorithm_type(algorithm_property[, algothrim_property]), .</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/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/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/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/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/sharding/</guid>
<description>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>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/sharding/</guid>
<description>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>Sharding Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-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-JDBC</title>
<link>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-jdbc-quick-start/</guid>
<description>1. Import Maven Dependency &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shardingsphere&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shardingsphere-jdbc-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${latest.release.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Notice: Please change ${latest.release.version} to the actual version.
2. 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 Configuration 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/current/en/features/sharding/concept/sql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/sql/</guid>
<description>Logic Table It refers collectively to horizontal sharding databases (tables) with the same logic and data structure. For instance, the order data 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.
Actual Table The physical table that really exists in the sharding database, i.e., t_order_0 to t_order_9 in the instance above.
Data Node As the smallest unit of sharding, it consists of data source name and table name, e.</description>
</item>
<item>
<title>SQL</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/use-norms/sql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/use-norms/sql/</guid>
<description>Since the SQL syntax is flexible and complex and distributed databases and stand-alone databases do not have identical query scenarios, SQLs incompatible with stand-alone databases are hard to avoid.
This document has listed identified supported SQL types and unsupported SQL types, trying to avoid traps for users.
It is inevitably to have some unlisted SQLs, welcome to supplement for that. We will also try to support those unavailable SQLs in future versions.</description>
</item>
<item>
<title>SQL Parser</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-parser/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-parser/</guid>
<description>SQLParserFacade SPI Name Description SQLParserFacade 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 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>Use Java API</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/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-governance&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 ZooKeeper --&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-governance-repository-zookeeper-curator&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 Etcd --&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-governance-repository-etcd&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Configure Rule Using ZooKeeper as config center and registry center for example.
// Omit configure data sources and rule configurations // ... // Configure registry center GovernanceCenterConfiguration configuration = new GovernanceCenterConfiguration(&amp;#34;Zookeeper&amp;#34;, &amp;#34;localhost:2181&amp;#34;, new Properties()); // Configure governance Map&amp;lt;String, CenterConfiguration&amp;gt; configurationMap = new HashMap&amp;lt;String, CenterConfiguration&amp;gt;(); configurationMap.</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/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; Configure Rule ShardingSphere-JDBC Java API consists of data sources, rules and properties configuration. The following example is the configuration of 2 databases and 2 tables, whose databases take module and split according to order_id, tables take module and split according to order_id .
Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.</description>
</item>
<item>
<title>Use Java API</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/java-api/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/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 Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/2pc-xa-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/2pc-xa-transaction/</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>Agent Integration</title>
<link>https://shardingsphere.apache.org/document/current/en/features/governance/observability/agnet/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/governance/observability/agnet/</guid>
<description>Background ShardingSphere-Agent is an independent and independently designed project based on ByteBuddy bytecode increase. Based on plugin design, it can integrate seamlessly with ShardingSphere. There are currently Log, metrics, APM and other observability capabilities available.
Usage Local build &amp;gt; cd shardingsphere/shardingsphere-agent &amp;gt; mvn clean install Remote download(No release) &amp;gt; weget http://xxxxx/shardingsphere-agent.tar.gz &amp;gt; tar -zxvcf shardingsphere-agent.tar.gz Add startup arguments
-javaagent:\absolute path\shardingsphere-agent.jar Agent Configuration It is found under the local package directory and unzip directory : agent.</description>
</item>
<item>
<title>Authentication</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/authentication/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/authentication/</guid>
<description>It is used to verify the authentication to log in ShardingSphere-Proxy, which must use correct user name and password after the configuration of them.
authentication: users: root: # Self-defined username password: root # Self-defined password sharding: # Self-defined username password: sharding # Self-defined password hostname: &amp;#39;%&amp;#39; # Which host can be allowed to access the Sharding Proxy. </description>
</item>
<item>
<title>Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/configuration/</guid>
<description>ShardingSphereRuleBuilder SPI Name Description ShardingSphereRuleBuilder Used to convert user configurations to rule objects Implementation Class Description ShardingRuleBuilder Used to convert user sharding configurations to sharding rule objects ReplicaQueryRuleBuilder Used to convert user replica query configurations to replica query rule objects EncryptRuleBuilder Used to convert user encryption configurations to encryption rule objects ShadowRuleBuilder Used to convert user shadow database configurations to shadow database rule objects YamlRuleConfigurationSwapper SPI Name Description YamlRuleConfigurationSwapper Used to convert YAML configuration to standard user configuration Implementation Class Description ShardingRuleConfigurationYamlSwapper Used to convert YAML sharding configuration to standard sharding configuration ReplicaQueryRuleConfigurationYamlSwapper Used to convert YAML replica query configuration to standard replica query configuration EncryptRuleConfigurationYamlSwapper Used to convert YAML encryption configuration to standard encryption configuration ShadowRuleConfigurationYamlSwapper Used to convert YAML shadow database configuration to standard shadow database configuration ShardingSphereYamlConstruct 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>Governance</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/usage/governance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/usage/governance/</guid>
<description>ShardingSphere-Proxy use SPI to support Governance, realize the unified management of configurations and metadata, as well as instance disabling and replica disabling.
Zookeeper ShardingSphere-Proxy has provided the solution of Zookeeper in default, which implements the functions of config center, registry center. Configuration Rules consistent with ShardingSphere-JDBC YAML.
Other Third Party Components Refer to Supported Third Party Components for details.
Use SPI methods in logic coding and put the generated jar package to the lib folder of ShardingSphere-Proxy.</description>
</item>
<item>
<title>Key Generate Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/keygen/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/keygen/</guid>
<description>Snowflake Type: SNOWFLAKE
Attributes:
Name DataType Description Default Value worker-id (?) long The unique ID for working machine 0 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.</description>
</item>
<item>
<title>Manual</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-scaling/usage/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-scaling/usage/</guid>
<description>Manual Environment JAVA,JDK 1.8+.
The migration scene we support:
Source Target Support MySQL(5.1.15 ~ 5.7.x) ShardingSphere-Proxy Yes PostgreSQL(9.4 ~ ) ShardingSphere-Proxy Yes Attention:
If the backend database is MySQL, please download mysql-connector-java-5.1.47.jar and put it into ${shardingsphere-scaling}\lib directory.
Privileges MySQL need to open binlog, and binlog format should be Row model. Privileges of users scaling used should include Replication privileges.</description>
</item>
<item>
<title>Pagination</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/use-norms/pagination/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/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>Principle</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/principle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/principle/</guid>
<description>Process Details Apache ShardingSphere can encrypt the plaintext by parsing and rewriting SQL according to the encryption rule, and store the plaintext (optional) and ciphertext data to the database at the same time. Queries data only extracts the ciphertext data from database and decrypts it, and finally returns the plaintext to user. Apache ShardingSphere transparently process of data encryption, so that users do not need to know to the implementation details of it, use encrypted data just like as regular data.</description>
</item>
<item>
<title>Principle</title>
<link>https://shardingsphere.apache.org/document/current/en/features/scaling/principle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/scaling/principle/</guid>
<description>Principle Description Consider about these challenges of ShardingSphere-Scaling, the solution is: Use two database clusters temporarily, and switch after the scaling is completed.
Advantages:
No effect for origin data during scaling. No risk for scaling failure. No limited by sharding strategies. Disadvantages:
Redundant servers during scaling. All data needs to be moved. ShardingSphere-Scaling will analyze the sharding rules and extract information like datasource and data nodes. According the sharding rules, ShardingSphere-Scaling create a scaling job with 4 main phases.</description>
</item>
<item>
<title>Principle</title>
<link>https://shardingsphere.apache.org/document/current/en/features/shadow/principle/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/shadow/principle/</guid>
<description>TODO</description>
</item>
<item>
<title>Read write splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/read-write-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/read-write-splitting/</guid>
<description>Root Configuration Class name: 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 Read write splitting Data Source Configuration Class name: ReadWriteSplittingDataSourceRuleConfiguration
Attributes:
Name DataType Description Default Value name String Read write splitting data source name - writeDataSourceName String Write sources source name - readDataSourceNames (+) Collection&amp;lt;String&amp;gt; Read sources source name list - loadBalancerName (?</description>
</item>
<item>
<title>Read write splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/read-write-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/read-write-splitting/</guid>
<description>Configuration Item Explanation spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage spring.shardingsphere.rules.read-write-splitting.data-sources.&amp;lt;read-write-splitting-data-source-name&amp;gt;.primary-data-source-name= # Write data source name spring.shardingsphere.rules.read-write-splitting.data-sources.&amp;lt;read-write-splitting-data-source-name&amp;gt;.replica-data-source-names= # Read data source names, multiple data source names separated with comma spring.shardingsphere.rules.read-write-splitting.data-sources.&amp;lt;read-write-splitting-data-source-name&amp;gt;.load-balancer-name= # Load balance algorithm name # Load balance algorithm configuration spring.shardingsphere.rules.read-write-splitting.load-balancers.&amp;lt;load-balance-algorithm-name&amp;gt;.type= # Load balance algorithm type spring.shardingsphere.rules.read-write-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>Read write splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/read-write-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/read-write-splitting/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/read-write-splitting/read-write-splitting-5.0.0.xsd
&amp;lt;read-write-splitting:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id data-source-rule (+) Tag Read write splitting data source rule configuration &amp;lt;read-write-splitting:data-source-rule /&amp;gt;
Name Type Description id Attribute Read write splitting data source rule name write-data-source-name Attribute Write data source name read-data-source-names Attribute Read data source names, multiple data source names separated with comma load-balance-algorithm-ref Attribute Load balance algorithm name &amp;lt;read-write-splitting:load-balance-algorithm /&amp;gt;</description>
</item>
<item>
<title>Read write splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/read-write-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/read-write-splitting/</guid>
<description>Configuration Item Explanation dataSource: # Omit the data source configuration, please refer to the usage rules: - !READ_WRITE_SPLITTING dataSources: &amp;lt;data-source-name&amp;gt; (+): # Logic data source name of read write splitting writeDataSourceName: # Write data source name readDataSourceNames: - &amp;lt;read-data-source-name&amp;gt; (+) # Read data source name 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>Registry Center</title>
<link>https://shardingsphere.apache.org/document/current/en/features/governance/management/registry-center/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/governance/management/registry-center/</guid>
<description>Motivation As config center manage configuration data, registry center hold all ephemeral status data dynamically generated in runtime(such as available proxy instances, disabled datasource instances etc).
Registry center can disable the access to replica database and the access of application. Governance still has many functions(such as flow control) to be developed.
Data Structure in Registry Center The registry center can create running node of database access object under states in defined namespace, to distinguish different database access instances, including proxynodes and datanodes nodes.</description>
</item>
<item>
<title>Registry Center</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/registry-center/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/registry-center/</guid>
<description>Registry Center Configuration The registry center needs to be added and activated first. Multiple registries can be added, but only one is active, and the following runtime status operate on the currently active registry. Zookeeper and etcd support is provided now, and the support for other registries will be added later.
Click the + button to add a new registry center.
Use additional config center to manage configuration with other config centers.</description>
</item>
<item>
<title>Route Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/route/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/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>RQL</title>
<link>https://shardingsphere.apache.org/document/current/en/features/dist-sql/rql/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/dist-sql/rql/</guid>
<description>Definition RDL(Resource &amp;amp; Rule Query Language)is used to query existed data sources and rules.
TODO</description>
</item>
<item>
<title>Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/sharding/</guid>
<description>Sharding Key The database field used in sharding refers to the key field in horizontal sharding of the database (table). 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 field 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-Proxy</title>
<link>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/</guid>
<description>1. Rule Configuration Edit %SHARDINGSPHERE_PROXY_HOME%/conf/config-xxx.yaml. Please refer to Configuration Manual for more details.
Edit %SHARDINGSPHERE_PROXY_HOME%/conf/server.yaml. Please refer to Configuration Manual for more details.
2. 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.
3. Start Server Use default configuration to start sh %SHARDINGSPHERE_PROXY_HOME%/bin/start.sh Default port is 3307, default profile directory is %SHARDINGSPHERE_PROXY_HOME%/conf/ .</description>
</item>
<item>
<title>SQL Parser Test</title>
<link>https://shardingsphere.apache.org/document/current/en/features/test-engine/parser-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/test-engine/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>Use Norms</title>
<link>https://shardingsphere.apache.org/document/current/en/features/read-write-splitting/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/read-write-splitting/use-norms/</guid>
<description>Supported Items Provide the replica query configuration of one primary database with multiple replica databases, which can be used alone or with sharding table and database; Support SQL pass-through in independent use of replica query; If there is write operation in the same thread and database connection, all the following read operations are from the primary database to ensure data consistency; Forcible primary database route based on SQL Hint; Unsupported Items 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.</description>
</item>
<item>
<title>Use Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/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 @ShardingTransactionType(TransactionType.XA) // Support TransactionType.</description>
</item>
<item>
<title>Use YAML</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/yaml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/yaml/</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-governance&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 ZooKeeper --&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-governance-repository-zookeeper-curator&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 Etcd --&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-governance-repository-etcd&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Configure Rule Using ZooKeeper as config center and registry center for example.
governance: name: governance_ds registryCenter: type: Zookeeper serverLists: localhost:2181 overwrite: true // Create GovernanceShardingSphereDataSource DataSource dataSource = YamlGovernanceShardingSphereDataSourceFactory.createDataSource(yamlFile); Use GovernanceShardingSphereDataSource The GovernanceShardingSphereDataSource created by YamlGovernanceShardingSphereDataSourceFactory implements the standard JDBC DataSource interface.</description>
</item>
<item>
<title>Use YAML</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/yaml/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/yaml/</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; Configure Rule ShardingSphere-JDBC YAML file consists of data sources, rules and properties configuration. The following example is the configuration of 2 databases and 2 tables, whose databases take module and split according to order_id, tables take module and split according to order_id.
Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.</description>
</item>
<item>
<title>XA Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/principle/2pc-xa-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/principle/2pc-xa-transaction/</guid>
<description>XAShardingTransactionManager is XA transaction manager of Apache ShardingSphere. Its main responsibly 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, XAShardingTransactionManager will use XA transaction managers to start overall XA transactions, which is marked by XID.
Execute actual sharding SQL After XAShardingTransactionManager register the corresponding XAResource to the current XA transaction, transaction manager will send XAResource.</description>
</item>
<item>
<title>XA transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/use-norms/2pc-xa-transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/use-norms/2pc-xa-transaction/</guid>
<description>Supported Items 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 Items Recover committing and rolling back in other machines after the service is down. </description>
</item>
<item>
<title>Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/configuration/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/configuration/</guid>
<description>Sharding Rule The main entrance for Sharding rules includes the configurations of data source, tables, binding tables and replica query.
Data Sources Configuration Real data sources list.
Tables Configuration Configurations of logic table names, data node and table sharding rules.
Data Node Configuration It is used in the configurations of the mapping relationship between logic tables and actual tables and can be divided into two kinds: uniform distribution and user-defined distribution.</description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/usage/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/usage/transaction/</guid>
<description>ShardingSphere-Proxy supports LOCAL, XA, BASE transactions, LOCAL transaction is default value, it is original transaction of relational database.
XA transaction Default XA transaction manager of ShardingSphere is Atomikos. Users can customize Atomikos configuration items through adding jta.properties in conf catalog of ShardingSphere-Proxy. Please refer to Official Documents of Atomikos for detailed configurations.
Use Narayana XA Transaction Manager。 Copy the jar file required by Narayana to conf/lib. The reference package is as follows: &amp;lt;propeties&amp;gt; &amp;lt;narayana.</description>
</item>
<item>
<title>Docker Clone</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/docker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/docker/</guid>
<description>Pull Official Docker Clone docker pull apache/shardingsphere-proxy Build Docker Clone 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>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/encrypt/</guid>
<description>Root Configuration Class name: org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration
Attributes:
Name DataType Description tables (+) Collection&amp;lt;EncryptTableRuleConfiguration&amp;gt; Encrypt table rule configurations encryptors (+) Map&amp;lt;String, ShardingSphereAlgorithmConfiguration&amp;gt; Encrypt algorithm name and configurations Encrypt Table Rule Configuration Class name: org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration
Attributes:
Name DataType Description name String Table name columns (+) Collection&amp;lt;EncryptColumnRuleConfiguration&amp;gt; Encrypt column rule configurations Encrypt Column Rule Configuration Class name: org.</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/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;.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 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/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/encrypt/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt-5.0.0.xsd
&amp;lt;encrypt:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id table (+) Tag Encrypt table configuration &amp;lt;encrypt:table /&amp;gt;
Name Type Description name Attribute Encrypt table name column (+) Tag Encrypt column configuration &amp;lt;encrypt:column /&amp;gt;
Name Type Description logic-column Attribute Column logic name cipher-column Attribute Cipher column name assisted-query-column (?</description>
</item>
<item>
<title>Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/encrypt/</guid>
<description>Configuration Item Explanation dataSource: # Omit the data source configuration, please refer to the usage 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 # 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>Kernel</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/kernel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/kernel/</guid>
<description>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 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 SQLRouter SPI Name Description SQLRouter Used to process routing results Implementation Class Description ShardingSQLRouter Used to process sharding routing results ReplicaQuerySQLRouter Used to process replica query routing results ShadowRouteSQLRouter 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 ShadowSQLRewriteContextDecorator Used to process shadow SQL rewrite results SQLExecutionHook SPI Name Description SQLExecutionHook Hook of SQL execution Implementation Class Description TransactionalSQLExecutionHook Transaction hook of SQL execution OpenTracingSQLExecutionHook Open tracing 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 </description>
</item>
<item>
<title>Load Balance Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/load-balance/</guid>
<description>Round Robin Algorithm Type: ROUND_ROBIN
Attributes: None
Random Algorithm Type: RANDOM
Attributes: None</description>
</item>
<item>
<title>Properties Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/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 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>Rewrite Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/rewrite/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/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>Rule Config</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/rule-config/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/rule-config/</guid>
<description>Rule Config After added and activated a registry center, the configuration of all data sources in the current active registry center can be obtained, including data sharding, replica query, properties, and so on.
The configuration can be modified by the YAML format.
Click the + button to add a new data source and sharding rule.
</description>
</item>
<item>
<title>SCTL</title>
<link>https://shardingsphere.apache.org/document/current/en/features/dist-sql/sctl/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/dist-sql/sctl/</guid>
<description>Definition SCTL(ShardingSphere Control Language)responsible for the added-on feature of hint, transaction type switch, sharding execute planning and so on.
Usage Statement Function Example sctl:set transaction_type=XX Modify transaction_type of the current connection, supports LOCAL, XA, BASE sctl:set transaction_type=XA sctl:show transaction_type Query the transaction type of the current connection sctl:show transaction_type sctl:show cached_connections Query the number of cached physical database connections in the current connection sctl:show cached_connections sctl:explain SQL View the execution plan for logical SQL.</description>
</item>
<item>
<title>Seata BASE transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/base-transaction-seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/concept/base-transaction-seata/</guid>
<description>Seata is a distributed transaction framework developed by Alibaba Group and Ant Finance. The goal of AT transaction is to provide incremental transaction ACID semantics under the micro-service architecture, so that developers can use distributed transactions as they use local transactions. The core idea of AT transaction is the same as Apache ShardingSphere.
Seata AT transaction model includes TM (Transaction Manager), RM (Resource Manager) and TC (Transaction Coordinator). TC is an independent service that needs to be deployed separately.</description>
</item>
<item>
<title>Seata BASE transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/principle/base-transaction-seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/principle/base-transaction-seata/</guid>
<description>When integrating Seata AT transaction, we need to integrate TM, RM and TC component into Apache Sharding 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 in to Apache ShardingSphere sharding ecosystem.
Init Seata Engine When an application containing ShardingTransactionBaseSeataAT startup, the user-configured DataSource will be wrapped into seata DataSourceProxy through seata.</description>
</item>
<item>
<title>Seata BASE transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/features/transaction/use-norms/base-transaction-seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/transaction/use-norms/base-transaction-seata/</guid>
<description>Supported Items 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 Items Do not support other isolation level except RC. To Be Optimized Items SQL will be parsed twice by Apache ShardingSphere and Seata. </description>
</item>
<item>
<title>ShardingSphere-Scaling(Alpha)</title>
<link>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-scaling-quick-start/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-scaling-quick-start/</guid>
<description>1. Rule Configuration Edit %SHARDINGSPHERE_SCALING_HOME%/conf/server.yaml. Please refer to Configuration Manual for more details.
2. 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_SCALING_HOME%/lib directory.
3. Start Server sh %SHARDINGSPHERE_SCALING_HOME%/bin/start.sh 4. Create Migration Job Use HTTP interface to manage the migration jobs.
Please refer to Configuration Manual for more details.</description>
</item>
<item>
<title>SQL Rewrite Test</title>
<link>https://shardingsphere.apache.org/document/current/en/features/test-engine/rewrite-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/test-engine/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>Unsupported Items</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/unsupported-items/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/unsupported-items/</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>Use Norms</title>
<link>https://shardingsphere.apache.org/document/current/en/features/encrypt/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/encrypt/use-norms/</guid>
<description>Supported Items The back-end databases are MySQL, Oracle, PostgreSQL, and SQLServer; The user needs to encrypt one or more columns in the database table (data encryption &amp;amp; decryption); Compatible with all commonly used SQL. Unsupported Items Users need to deal with the original inventory data and wash numbers in the database; Use encryption function + sub-database sub-table function, some special SQL is not supported, please refer to SQL specification; Encryption fields cannot support comparison operations, such as: greater than less than, ORDER BY, BETWEEN, LIKE, etc; Encryption fields cannot support calculation operations, such as AVG, SUM, and calculation expressions.</description>
</item>
<item>
<title>Use Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/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-governance-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 ZooKeeper --&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-governance-repository-zookeeper-curator&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 Etcd --&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-governance-repository-etcd&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Configure Rule spring.shardingsphere.governance.name=governance-spring-boot-shardingsphere-test spring.shardingsphere.governance.registry-center.type=Zookeeper spring.shardingsphere.governance.registry-center.server-lists=localhost:2181 spring.shardingsphere.governance.overwrite=true Use GovernanceShardingSphereDataSource in Spring GovernanceShardingSphereDataSource can be used directly by injection; or configure GovernanceShardingSphereDataSource in ORM frameworks such as JPA or MyBatis.
@Resource private DataSource dataSource; </description>
</item>
<item>
<title>Use Spring Boot Starter</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/spring-boot-starter/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/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; Configure Rule Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.
# Configure actual data sources spring.shardingsphere.datasource.names=ds0,ds1 # Configure the first data source spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:mysql://localhost:3306/ds0 spring.shardingsphere.datasource.ds0.username=root spring.shardingsphere.datasource.ds0.password= # Configure the second data source spring.shardingsphere.datasource.ds1.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds1.jdbc-url=jdbc:mysql://localhost:3306/ds1 spring.shardingsphere.datasource.ds1.username=root spring.shardingsphere.datasource.ds1.password= # Configure t_order table rule spring.shardingsphere.rules.sharding.tables.t_order.actual-data-nodes=ds$-&amp;gt;{0..1}.t_order$-&amp;gt;{0..1} # Configure database sharding strategy spring.</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/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 @ShardingTransactionType annotation to inject the transaction type before connection created --&amp;gt; &amp;lt;sharding:tx-type-annotation-driven /&amp;gt; Use Distributed Transaction @Transactional @ShardingTransactionType(TransactionType.</description>
</item>
<item>
<title>User Norms</title>
<link>https://shardingsphere.apache.org/document/current/en/features/scaling/use-norms/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/scaling/use-norms/</guid>
<description>Supported Items Migrate out data into databases which managed by Apache ShardingSphere; Scale out data between data nodes of Apache ShardingSphere. Unsupported Items Do not support to scale tables without primary key. </description>
</item>
<item>
<title>Atomikos Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/atomikos/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/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>Data Sharding</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sharding/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sharding/</guid>
<description>ShardingAlgorithm SPI Name Description ShardingAlgorithm Sharding algorithm Implementation Class Description InlineShardingAlgorithm Inline sharding algorithm ModShardingAlgorithm Modulo sharding algorithm HashModShardingAlgorithm Hash modulo sharding algorithm FixedIntervalShardingAlgorithm Fixed interval sharding algorithm MutableIntervalShardingAlgorithm Mutable interval sharding algorithm VolumeBasedRangeShardingAlgorithm Volume based range sharding algorithm BoundaryBasedRangeShardingAlgorithm Boundary based range sharding algorithm ClassBasedShardingAlgorithm Class based sharding algorithm KeyGenerateAlgorithm SPI Name Description KeyGenerateAlgorithm Key generate algorithm Implementation Class Description SnowflakeKeyGenerateAlgorithm Snowflake key generate algorithm UUIDKeyGenerateAlgorithm UUID key generate algorithm TimeService SPI Name Description TimeService Use current time for routing Implementation Class Description DefaultTimeService Get the current time from the application system for routing DatabaseTimeServiceDelegate Get the current time from the database 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>Encryption Algorithm</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-algorithm/encrypt/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/built-in-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 </description>
</item>
<item>
<title>Execute Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/execute/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/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/current/en/features/sharding/concept/inline-expression/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/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 stored rules together, making them easier to be browsed and stored.</description>
</item>
<item>
<title>Performance Test</title>
<link>https://shardingsphere.apache.org/document/current/en/features/test-engine/performance-test/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/test-engine/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, replica query &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 replica query. To achieve the result better, these tests are performed with jmeter which based on a certain amount of data with 20 concurrent threads for 30 minutes, and one MySQL has been deployed on one machine, while the scenario of MySQL used for comparison is deployed on one machine with one instance.</description>
</item>
<item>
<title>Runtime Status</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/runtime-status/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-ui/usage/runtime-status/</guid>
<description>Runtime Status After added and activated a registry center, all running instances of the current registry center will be obtained.
Users can disable or enable the instance by operate button.
Users can disable or enable the access to replica database.
</description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/shadow/</guid>
<description>Root Configuration Class name: org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration
Attributes:
Name DataType Description column String Shadow field name in SQL, SQL with a value of true will be routed to the shadow database for execution sourceDataSourceNames List&amp;lt;String&amp;gt; Source data source names shadowDataSourceNames List&amp;lt;String&amp;gt; Shadow data source names </description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/shadow/</guid>
<description>Configuration Item Explanation spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage spring.shardingsphere.rules.shadow.column= # Shadow column name spring.shardingsphere.rules.shadow.shadow-mappings.&amp;lt;product-data-source-name&amp;gt;= # Shadow data source name </description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/shadow/</guid>
<description>Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/shadow/shadow-5.0.0.xsd
&amp;lt;shadow:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id column Attribute Shadow column name mappings(?) Tag Mapping relationship between production database and shadow database &amp;lt;shadow:mapping /&amp;gt;
Name Type Description product-data-source-name Attribute Production database name shadow-data-source-name Attribute Shadow database name </description>
</item>
<item>
<title>Shadow DB</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/shadow/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/shadow/</guid>
<description>Configuration Item Explanation dataSources: # Omit the data source configuration, please refer to the usage rules: - !SHADOW column: # Shadow column name sourceDataSourceNames: # Source Data Source names # ... shadowDataSourceNames: # Shadow Data Source names # ... props: # ... </description>
</item>
<item>
<title>Third-party Components</title>
<link>https://shardingsphere.apache.org/document/current/en/features/governance/management/dependency/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/governance/management/dependency/</guid>
<description>Apache ShardingSphere uses SPI to load data to the config center and registry center and disable instances and databases. Currently, Apache ShardingSphere supports frequently used registry centers, Zookeeper, Etcd, Apollo and Nacos. In addition, by injecting them to ShardingSphere with SPI, users can use other third-party config and registry centers to enable databases governance.
Driver Version Config Center Registry Center Zookeeper Apache Curator 3.</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/governance/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-governance-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 ZooKeeper --&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-governance-repository-zookeeper-curator&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 Etcd --&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-governance-repository-etcd&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${shardingsphere.version}&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; Configure Rule &amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt; &amp;lt;beans xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34; xmlns:governance=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/governance&amp;#34; xmlns=&amp;#34;http://www.springframework.org/schema/beans&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/governance http://shardingsphere.apache.org/schema/shardingsphere/governance/governance.xsd&amp;#34;&amp;gt; &amp;lt;util:properties id=&amp;#34;instance-properties&amp;#34;&amp;gt; &amp;lt;prop key=&amp;#34;max-retries&amp;#34;&amp;gt;3&amp;lt;/prop&amp;gt; &amp;lt;prop key=&amp;#34;operation-timeout-milliseconds&amp;#34;&amp;gt;3000&amp;lt;/prop&amp;gt; &amp;lt;/util:properties&amp;gt; &amp;lt;governance:reg-center id=&amp;#34;regCenter&amp;#34; type=&amp;#34;Zookeeper&amp;#34; server-lists=&amp;#34;localhost:2181&amp;#34; /&amp;gt; &amp;lt;governance:data-source id=&amp;#34;shardingDatabasesTablesDataSource&amp;#34; data-source-names=&amp;#34;demo_ds_0, demo_ds_1&amp;#34; reg-center-ref=&amp;#34;regCenter&amp;#34; config-center-ref=&amp;#34;configCenter&amp;#34; rule-refs=&amp;#34;shardingRule&amp;#34; overwrite=&amp;#34;true&amp;#34; /&amp;gt; &amp;lt;governance:data-source id=&amp;#34;encryptDataSource&amp;#34; data-source-names=&amp;#34;demo_ds&amp;#34; reg-center-ref=&amp;#34;regCenter&amp;#34; config-center-ref=&amp;#34;configCenter&amp;#34; rule-refs=&amp;#34;encryptRule&amp;#34; overwrite=&amp;#34;true&amp;#34; &amp;gt; &amp;lt;props&amp;gt; &amp;lt;prop key=&amp;#34;query-with-cipher-column&amp;#34;&amp;gt;true&amp;lt;/prop&amp;gt; &amp;lt;/props&amp;gt; &amp;lt;/governance:data-source&amp;gt; &amp;lt;/beans&amp;gt; Use GovernanceShardingSphereDataSource in Spring GovernanceShardingSphereDataSource can be used directly by injection; or configure GovernanceShardingSphereDataSource in ORM frameworks such as JPA or MyBatis.</description>
</item>
<item>
<title>Use Spring Namespace</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/spring-namespace/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/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; Configure Rule Note: The example database connection pool is HikariCP, which can be replaced with other mainstream database connection pools according to business scenarios.
&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt; &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:sharding=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/sharding&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/sharding http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding.xsd &amp;#34;&amp;gt; &amp;lt;!-- Configure actual data sources --&amp;gt; &amp;lt;!-- Configure the first data source --&amp;gt; &amp;lt;bean id=&amp;#34;ds0&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/ds0&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;!</description>
</item>
<item>
<title>YAML Syntax</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/yaml-syntax/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-proxy/configuration/yaml-syntax/</guid>
<description>!! means instantiation of that class
! means self-defined alias
- means one or multiple can be included
[] means array, can substitutable with - each other</description>
</item>
<item>
<title>Bitronix Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/bitronix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/bitronix/</guid>
<description>Import Maven Dependency &amp;lt;propeties&amp;gt; &amp;lt;btm.version&amp;gt;2.1.3&amp;lt;/btm.version&amp;gt; &amp;lt;/propeties&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:
props: xa-transaction-manager-type: 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>Distributed Primary Key</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/key-generator/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/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>Governance</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/governance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/governance/</guid>
<description>Configuration Item Explanation Management Configuration Entrance
Class name: org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration
Attributes:
Name Data Type Description name String Governance instance name registryCenterConfiguration GovernanceCenterConfiguration Config of registry-center The type of registryCenter could be Zookeeper or etcd.
Governance Instance Configuration
Class name: org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
Attributes:
Name Data Type Description type String Governance instance type, such as: Zookeeper, etcd serverLists String The list of servers that connect to governance instance, including IP and port number, use commas to separate, such as: host1:2181,host2:2181 props Properties Properties for center instance config, such as options of zookeeper overwrite boolean Local configurations overwrite config center configurations or not; if they overwrite, each start takes reference of local configurations ZooKeeper Properties Configuration</description>
</item>
<item>
<title>Governance</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/governance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/governance/</guid>
<description>Configuration Item Explanation Management spring.shardingsphere.governance.name= # Governance name spring.shardingsphere.governance.registry-center.type= # Governance instance type. Example:Zookeeper, etcd, Apollo, Nacos spring.shardingsphere.governance.registry-center.server-lists= # The list of servers that connect to governance instance, including IP and port number; use commas to separate spring.shardingsphere.governance.registry-center.props= # Other properties spring.shardingsphere.governance.overwrite= # Whether to overwrite local configurations with config center configurations; if it can, each initialization should refer to local configurations </description>
</item>
<item>
<title>Governance</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/governance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/governance/</guid>
<description>Configuration Item Explanation Management &amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt; &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:governance=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/governance&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/governance http://shardingsphere.apache.org/schema/shardingsphere/governance/governance.xsd &amp;#34;&amp;gt; &amp;lt;governance:reg-center id=&amp;#34;regCenter&amp;#34; type=&amp;#34;ZooKeeper&amp;#34; server-lists=&amp;#34;localhost:2181&amp;#34; /&amp;gt; &amp;lt;governance:data-source id=&amp;#34;shardingDatabasesTablesDataSource&amp;#34; data-source-names=&amp;#34;demo_ds_0, demo_ds_1&amp;#34; reg-center-ref=&amp;#34;regCenter&amp;#34; config-center-ref=&amp;#34;configCenter&amp;#34; rule-refs=&amp;#34;shardingRule&amp;#34; overwrite=&amp;#34;true&amp;#34; /&amp;gt; &amp;lt;/beans&amp;gt; Namespace: http://shardingsphere.apache.org/schema/shardingsphere/governance/governance-5.0.0.xsd
&amp;lt;governance:reg-center /&amp;gt;
Name Type Description id Attribute Registry center name type Attribute Registry center type. Example: ZooKeeper, etcd server-lists Attribute The list of servers that connect to registry center, including IP and port number; use commas to separate props (?</description>
</item>
<item>
<title>Governance</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/governance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/governance/</guid>
<description>Configuration Item Explanation Management governance: name: #Governance name registryCenter: # Registry Center type: #Governance instance type. Example:Zookeeper, etcd serverLists: #The list of servers that connect to governance instance, including IP and port number; use commas to separate overwrite: #Whether to overwrite local configurations with config center configurations; if it can, each initialization should refer to local configurations </description>
</item>
<item>
<title>Hint</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/sharding/hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/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.
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. Usage Sharding with Hint Hint Configuration Hint algorithms require users to implement the interface of org.</description>
</item>
<item>
<title>Merger Engine</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/merge/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/features/sharding/principle/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/current/en/user-manual/shardingsphere-jdbc/usage/transaction/narayana/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/narayana/</guid>
<description>Import Maven Dependency &amp;lt;propeties&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;/propeties&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>Read write splitting</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/read-write-splitting/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/read-write-splitting/</guid>
<description>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 </description>
</item>
<item>
<title>Data Encryption</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/data-encryption/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/data-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 QueryAssistedEncryptAlgorithm SPI Name Description QueryAssistedEncryptAlgorithm Data encrypt algorithm which include query assisted column Implementation Class Description None </description>
</item>
<item>
<title>Hint Sharding Route</title>
<link>https://shardingsphere.apache.org/document/current/en/features/sharding/concept/hint/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/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 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/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/mix/</guid>
<description>Configuration Item Explanation /* Data source configuration */ HikariDataSource writeDataSource0 = new HikariDataSource(); writeDataSource0.setDriverClassName(&amp;#34;com.mysql.jdbc.Driver&amp;#34;); writeDataSource0.setJdbcUrl(&amp;#34;jdbc:mysql://localhost:3306/db0?serverTimezone=UTC&amp;amp;useSSL=false&amp;amp;useUnicode=true&amp;amp;characterEncoding=UTF-8&amp;#34;); writeDataSource0.setUsername(&amp;#34;root&amp;#34;); writeDataSource0.setPassword(&amp;#34;&amp;#34;); HikariDataSource writeDataSource1 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read0OfwriteDataSource0 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read1OfwriteDataSource0 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read0OfwriteDataSource1 = new HikariDataSource(); // ...Omit specific configuration. HikariDataSource read1OfwriteDataSource1 = new HikariDataSource(); // ...Omit specific configuration. Map&amp;lt;String, DataSource&amp;gt; datasourceMaps = new HashMap&amp;lt;&amp;gt;(6); datasourceMaps.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/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.url= # Database URL connection spring.shardingsphere.datasource.write-ds0.type= # Database connection pool type name spring.shardingsphere.datasource.write-ds0.driver-class-name= # Database driver class name spring.shardingsphere.datasource.write-ds0.username= # Database username spring.shardingsphere.datasource.write-ds0.password= # Database password spring.shardingsphere.datasource.write-ds0.xxx= # Other properties of database connection pool spring.shardingsphere.datasource.write-ds1.url= # Database URL connection # ...Omit specific configuration. spring.shardingsphere.datasource.write-ds0-read0.url= # Database URL connection # ...Omit specific configuration. spring.shardingsphere.datasource.write-ds1-read0.url= # Database URL connection # ...Omit specific configuration. # Sharding rules configuration # Databases sharding strategy spring.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/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:context=&amp;#34;http://www.springframework.org/schema/context&amp;#34; xmlns:tx=&amp;#34;http://www.springframework.org/schema/tx&amp;#34; xmlns:shardingsphere=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/datasource&amp;#34; xmlns:read-write-splitting=&amp;#34;http://shardingsphere.apache.org/schema/shardingsphere/read-write-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://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://shardingsphere.apache.org/schema/shardingsphere/datasource http://shardingsphere.apache.org/schema/shardingsphere/datasource/datasource.xsd http://shardingsphere.apache.org/schema/shardingsphere/read-write-splitting http://shardingsphere.apache.org/schema/shardingsphere/read-write-splitting/read-write-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.alibaba.druid.pool.DruidDataSource&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.alibaba.druid.pool.DruidDataSource&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.alibaba.druid.pool.DruidDataSource&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.</description>
</item>
<item>
<title>Mixed Rules</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/mix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/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>Properties Configuration</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/props/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/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 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>Change History</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/change-history/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/java-api/change-history/</guid>
<description>5.0.0-alpha Replica Query Root Configuration Class name: ReplicaQueryRuleConfiguration
Attributes:
Name DataType Description dataSources (+) Collection&amp;lt;ReplicaQueryDataSourceRuleConfiguration&amp;gt; Data sources of primary and replicas loadBalancers (*) Map&amp;lt;String, ShardingSphereAlgorithmConfiguration&amp;gt; Load balance algorithm name and configurations of replica data sources Replica Query Data Source Configuration Class name: ReplicaQueryDataSourceRuleConfiguration
Attributes:
Name DataType Description Default Value name String Replica query data source name - primaryDataSourceName String Primary sources source name - replicaDataSourceNames (+) Collection&amp;lt;String&amp;gt; Replica sources source name list - loadBalancerName (?</description>
</item>
<item>
<title>Change History</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-boot-starter/change-history/</guid>
<description>5.0.0-alpha Replica Query Configuration Item Explanation spring.shardingsphere.datasource.names= # Omit the data source configuration, please refer to the usage spring.shardingsphere.rules.replica-query.data-sources.&amp;lt;replica-query-data-source-name&amp;gt;.primary-data-source-name= # Primary data source name spring.shardingsphere.rules.replica-query.data-sources.&amp;lt;replica-query-data-source-name&amp;gt;.replica-data-source-names= # Replica data source names, multiple data source names separated with comma spring.shardingsphere.rules.replica-query.data-sources.&amp;lt;replica-query-data-source-name&amp;gt;.load-balancer-name= # Load balance algorithm name # Load balance algorithm configuration spring.shardingsphere.rules.replica-query.load-balancers.&amp;lt;load-balance-algorithm-name&amp;gt;.type= # Load balance algorithm type spring.shardingsphere.rules.replica-query.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>Change History</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/change-history/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/spring-namespace/change-history/</guid>
<description>5.0.0-alpha Replica Query Configuration Item Explanation Namespace: http://shardingsphere.apache.org/schema/shardingsphere/replica-query/replica-query-5.0.0.xsd
&amp;lt;replica-query:rule /&amp;gt;
Name Type Description id Attribute Spring Bean Id data-source-rule (+) Tag Replica query data source rule configuration &amp;lt;replica-query:data-source-rule /&amp;gt;
Name Type Description id Attribute Primary-replica data source rule name primary-data-source-name Attribute Primary data source name replica-data-source-names Attribute Replica data source names, multiple data source names separated with comma load-balance-algorithm-ref Attribute Load balance algorithm name &amp;lt;replica-query:load-balance-algorithm /&amp;gt;</description>
</item>
<item>
<title>Change History</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/change-history/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/configuration/yaml/change-history/</guid>
<description>5.0.0-alpha Replica Query Configuration Item Explanation dataSource: # Omit the data source configuration, please refer to the usage rules: - !REPLICA_QUERY dataSources: &amp;lt;data-source-name&amp;gt; (+): # Logic data source name of replica query primaryDataSourceName: # Primary data source name replicaDataSourceNames: - &amp;lt;replica-data-source-name&amp;gt; (+) # Replica data source name 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>Seata Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/transaction/seata/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/user-manual/shardingsphere-jdbc/usage/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>SQL Audit</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-audit/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/sql-audit/</guid>
<description>SQLAuditor SPI Name Description SQLAuditor SQL auditor Implementation Class Description None </description>
</item>
<item>
<title>Distributed Transaction</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/transaction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/transaction/</guid>
<description>ShardingTransactionManager SPI Name Description ShardingTransactionManager Distributed transaction manager Implementation Class Description XAShardingTransactionManager XA distributed transaction manager SeataATShardingTransactionManager Seata distributed transaction manager XATransactionManager SPI Name Description XATransactionManager XA distributed transaction manager Implementation Class Description AtomikosTransactionManager XA distributed transaction manager based on Atomikos NarayanaXATransactionManager XA distributed transaction manager based on Narayana BitronixXATransactionManager 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>Distributed Governance</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/governance/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/governance/</guid>
<description>ConfigurationRepository SPI Name Description ConfigurationRepository Config repository Implementation Class Description CuratorZookeeperRepository ZooKeeper config repository EtcdRepository etcd config repository RegistryRepository SPI Name Description RegistryRepository Registry repository Implementation Class Description CuratorZookeeperRepository ZooKeeper registry repository EtcdRepository etcd registry repository </description>
</item>
<item>
<title>Scaling</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/scaling/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/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 </description>
</item>
<item>
<title>Proxy</title>
<link>https://shardingsphere.apache.org/document/current/en/dev-manual/proxy/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://shardingsphere.apache.org/document/current/en/dev-manual/proxy/</guid>
<description>DatabaseProtocolFrontendEngine 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 JDBCDriverURLRecognizer SPI Name Description JDBCDriverURLRecognizer Use JDBC driver to execute SQL Implementation Class Description MySQLRecognizer Use MySQL JDBC driver to execute SQL PostgreSQLRecognizer Use PostgreSQL JDBC driver to execute SQL OracleRecognizer Use Oracle JDBC driver to execute SQL SQLServerRecognizer Use SQLServer JDBC driver to execute SQL H2Recognizer Use H2 JDBC driver to execute SQL </description>
</item>
</channel>
</rss>