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) |