You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/07/23 04:13:52 UTC

[shardingsphere] branch master updated: Update sharding.en.md (#19482)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new f3019245661 Update sharding.en.md (#19482)
f3019245661 is described below

commit f3019245661c74cca3df6125aeff0ed670ba9d30
Author: Swastika Gupta <64...@users.noreply.github.com>
AuthorDate: Sat Jul 23 09:43:46 2022 +0530

    Update sharding.en.md (#19482)
---
 docs/document/content/dev-manual/sharding.en.md | 141 ++++++++++++++----------
 1 file changed, 80 insertions(+), 61 deletions(-)

diff --git a/docs/document/content/dev-manual/sharding.en.md b/docs/document/content/dev-manual/sharding.en.md
index b1bc8e98085..875d46feb98 100644
--- a/docs/document/content/dev-manual/sharding.en.md
+++ b/docs/document/content/dev-manual/sharding.en.md
@@ -5,64 +5,83 @@ weight = 7
 chapter = true
 +++
 
-## SPI Interface
-
-| SPI Name                | Description                              |
-|-------------------------|------------------------------------------|
-| ShardingAlgorithm       | Sharding Algorithm                       |
-| KeyGenerateAlgorithm    | Distributed Key Generating Algorithm     |
-| ShardingAuditAlgorithm  | Sharding audit algorithm                 |
-| DatetimeService         | Obtain the current date for routing      |
-| DatabaseSQLEntry        | Obtain database dialects of current date |
-
-## Sample
-
-### ShardingAlgorithm
-
-| *Implementation Class*                  | *Description*                                                           |
-|-----------------------------------------|-------------------------------------------------------------------------|
-| BoundaryBasedRangeShardingAlgorithm     | Boundary based range sharding algorithm                                 |
-| VolumeBasedRangeShardingAlgorithm       | Volume based range sharding algorithm                                   |
-| ComplexInlineShardingAlgorithm          | Complex inline sharding algorithm                                       |
-| AutoIntervalShardingAlgorithm           | Mutable interval sharding algorithm                                     |
-| ClassBasedShardingAlgorithm             | Class based sharding algorithm                                          |
-| HintInlineShardingAlgorithm             | Hint inline sharding algorithm                                          |
-| IntervalShardingAlgorithm               | Fixed interval sharding algorithm                                       |
-| HashModShardingAlgorithm                | Hash modulo sharding algorithm                                          |
-| InlineShardingAlgorithm                 | Inline sharding algorithm                                               |
-| ModShardingAlgorithm                    | Modulo sharding algorithm                                               |
-| CosIdModShardingAlgorithm               | Modulo sharding algorithm provided by CosId                             |
-| CosIdIntervalShardingAlgorithm          | Fixed interval sharding algorithm provided by CosId                     |
-| CosIdSnowflakeIntervalShardingAlgorithm | Snowflake key-based fixed interval sharding algorithm provided by CosId |
-
-### KeyGenerateAlgorithm
-
-| *Implementation Class*             | *Description*                                      |
-|----------------------------------- |--------------------------------------------------- |
-| SnowflakeKeyGenerateAlgorithm      | Snowflake key generate algorithm                   |
-| UUIDKeyGenerateAlgorithm           | UUID key generate algorithm                        |
-| CosIdKeyGenerateAlgorithm          | CosId key generate algorithm                       |
-| CosIdSnowflakeKeyGenerateAlgorithm | Snowflake key generate algorithm provided by CosId |
-| NanoIdKeyGenerateAlgorithm         | NanoId key generate algorithm                      |
-
-### ShardingAuditAlgorithm
-
-| *Implementation Class*                           | *Description*                                                 |
-|------------------------------------------------- |-------------------------------------------------------------- |
-| DMLShardingConditionsShardingAuditAlgorithm      | Prohibit DML auditing algorithm without sharding conditions   |
-
-### DatetimeService
-
-| *Implementation Class*          | *Description*                                                |
-| ------------------------------- | ------------------------------------------------------------ |
-| DatabaseDatetimeServiceDelegate | Get the current time from the database for routing           |
-| SystemDatetimeService           | Get the current time from the application system for routing |
-
-### DatabaseSQLEntry
-
-| *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  |
+## ShardingAlgorithm
+
+### Fully-qualified class name
+
+[`org.apache.shardingsphere.sharding.spi.ShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAlgorithm.java)
+
+### Definition
+
+Sharding Algorithm definition
+
+### Implementation classes
+
+| *Configuration Type* | *Description*                             | *Fully-qualified class name* |
+| -------------------- | ----------------------------------------- | ---------------------------- |
+| BoundaryBasedRangeShardingAlgorithm     | Boundary based range sharding algorithm                                 | [`org.apache.shardingsphere.sharding.algorithm.sharding.range.BoundaryBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java) |
+| VolumeBasedRangeShardingAlgorithm       | Volume based range sharding algorithm                                   | [`org.apache.shardingsphere.sharding.algorithm.sharding.range.VolumeBasedRangeShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java) |
+| ComplexInlineShardingAlgorithm          | Complex inline sharding algorithm                                       | [`org.apache.shardingsphere.sharding.algorithm.sharding.complex.ComplexInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/complex/ComplexInlineShardingAlgorithm.java) |
+| AutoIntervalShardingAlgorithm           | Mutable interval sharding algorithm                                     | [`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.AutoIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java) |
+| ClassBasedShardingAlgorithm             | Class based sharding algorithm                                          | [`org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/classbased/ClassBasedShardingAlgorithm.java) |
+| HintInlineShardingAlgorithm             | Hint inline sharding algorithm                                          | [`org.apache.shardingsphere.sharding.algorithm.sharding.hint.HintInlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/hint/HintInlineShardingAlgorithm.java) |
+| IntervalShardingAlgorithm               | Fixed interval sharding algorithm                                       | [`org.apache.shardingsphere.sharding.algorithm.sharding.datetime.IntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithm.java) |
+| HashModShardingAlgorithm                | Hash modulo sharding algorithm                                          | [`org.apache.shardingsphere.sharding.algorithm.sharding.mod.HashModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/HashModShardingAlgorithm.java) |
+| InlineShardingAlgorithm                 | Inline sharding algorithm                                               | [`org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/inline/InlineShardingAlgorithm.java) |
+| ModShardingAlgorithm                    | Modulo sharding algorithm                                               | [`org.apache.shardingsphere.sharding.algorithm.sharding.mod.ModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java) |
+| CosIdModShardingAlgorithm               | Modulo sharding algorithm provided by CosId                             | [`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.mod.CosIdModShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/mod/CosIdModShardingAlgorithm.java) |
+| CosIdIntervalShardingAlgorithm          | Fixed interval sharding algorithm provided by CosId                     | [`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdIntervalShardingAlgo [...]
+| CosIdSnowflakeIntervalShardingAlgorithm | Snowflake key-based fixed interval sharding algorithm provided by CosId | [`org.apache.shardingsphere.sharding.cosid.algorithm.sharding.interval.CosIdSnowflakeIntervalShardingAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/sharding/interval/CosIdSnowflakeIn [...]
+
+## KeyGenerateAlgorithm
+
+### Fully-qualified class name
+
+[`org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/spi/KeyGenerateAlgorithm.java)
+
+### Definition
+
+Distributed Key Generating Algorithm definition
+
+### Implementation classes
+
+| *Configuration Type* | *Description*                             | *Fully-qualified class name* |
+| -------------------- | ----------------------------------------- | ---------------------------- |
+| SnowflakeKeyGenerateAlgorithm      | Snowflake key generate algorithm                   | [`org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithm.java) |
+| UUIDKeyGenerateAlgorithm           | UUID key generate algorithm                        | [`org.apache.shardingsphere.sharding.algorithm.keygen.UUIDKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/keygen/UUIDKeyGenerateAlgorithm.java) |
+| CosIdKeyGenerateAlgorithm          | CosId key generate algorithm                       | [`org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdKeyGenerateAlgorithm.java) |
+| CosIdSnowflakeKeyGenerateAlgorithm | Snowflake key generate algorithm provided by CosId | [`org.apache.shardingsphere.sharding.cosid.algorithm.keygen.CosIdSnowflakeKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-cosid/src/main/java/org/apache/shardingsphere/sharding/cosid/algorithm/keygen/CosIdSnowflakeKeyGenerateAlgorithm.java) |
+| NanoIdKeyGenerateAlgorithm         | NanoId key generate algorithm                      | [`org.apache.shardingsphere.sharding.nanoid.algorithm.keygen.NanoIdKeyGenerateAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-plugin/shardingsphere-sharding-nanoid/src/main/java/org/apache/shardingsphere/sharding/nanoid/algorithm/keygen/NanoIdKeyGenerateAlgorithm.java) |
+
+## ShardingAuditAlgorithm
+
+### Fully-qualified class name
+
+[`org.apache.shardingsphere.sharding.spi.ShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-api/src/main/java/org/apache/shardingsphere/sharding/spi/ShardingAuditAlgorithm.java)
+
+### Definition
+
+Sharding audit algorithm definition
+
+### Implementation classes
+
+| *Configuration Type* | *Description*                             | *Fully-qualified class name* |
+| -------------------- | ----------------------------------------- | ---------------------------- |
+| DMLShardingConditionsShardingAuditAlgorithm      | Prohibit DML auditing algorithm without sharding conditions   | [`org.apache.shardingsphere.sharding.algorithm.audit.DMLShardingConditionsShardingAuditAlgorithm`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java) |
+
+## DatetimeService
+
+### Fully-qualified class name
+
+[`org.apache.shardingsphere.infra.datetime.DatetimeService`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-infra/shardingsphere-infra-datetime/shardingsphere-infra-datetime-spi/src/main/java/org/apache/shardingsphere/infra/datetime/DatetimeService.java)
+
+### Definition
+
+Obtain the current date for routing definition
+
+### Implementation classes
+
+| *Configuration Type* | *Description*                             | *Fully-qualified class name* |
+| -------------------- | ----------------------------------------- | ---------------------------- |
+| DatabaseDatetimeService | Get the current time from the database for routing           | [`org.apache.shardingsphere.agent.metrics.prometheus.service.PrometheusPluginBootService`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-infra/shardingsphere-infra-datetime/shardingsphere-infra-datetime-type/shardingsphere-database-datetime/src/main/java/org/apache/shardingsphere/datetime/database/DatabaseDatetimeService.java) |
+| SystemDatetime          | Get the current time from the application system for routing | [`org.apache.shardingsphere.datetime.system.SystemDatetimeService`](https://github.com/apache/shardingsphere/blob/master/shardingsphere-infra/shardingsphere-infra-datetime/shardingsphere-infra-datetime-type/shardingsphere-system-datetime/src/main/java/org/apache/shardingsphere/datetime/system/SystemDatetimeService.java) |