Shardingsphere Versions Save

Distributed SQL transaction & query engine for data sharding, scaling, encryption, and more - on any database.

5.0.0

2 years ago

New feature

  1. Support parsing SQL comment
  2. New DistSQL syntax: shadow rule management
  3. New DistSQL syntax: scaling job management
  4. New DistSQL syntax: disable proxy instance
  5. New DistSQL syntax: disable readwrite-splitting read data source
  6. New DistSQL syntax: DROP SHARDING ALGORITHM
  7. New DistSQL syntax: ALTER RESOURCE
  8. New DistSQL syntax: CREATE SHARDING ALGORITHM
  9. New DistSQL syntax: CREATE DEFAULT SHARDING [TABLE | DATABASE] STRATEGY
  10. New DistSQL syntax: SHOW ALL VARIABLE
  11. New DistSQL syntax:SHOW VARIABLE variableName;
  12. Support 3 modes, including Memory, Standalone and Cluster mode
  13. Proxy supports for openGauss
  14. Scaling: Add basic support for openGauss
  15. Scaling: Add incremental task completion detect algorithm SPI interface
  16. Scaling: Add data consistency check algorithm SPI interface
  17. Scaling: Basic support of create table on target automatically for MySQL and openGauss
  18. Scaling: Support auto switch cluster configuration when job finished
  19. Scaling: Add more DistSQL support such as data consistency check, etc

API Change

  1. Add schema name configuration for ShardingSphere-JDBC
  2. Add default sharding column configuration
  3. Change the default authority provider from NATIVE to ALL_PRIVILEGES_PERMITTED
  4. SCTL syntax adjustment, merged with DistSQL RAL syntax
  5. SHOW RESOURCES DistSQL is adjusted to SHOW SCHEMA RESOURCES
  6. Remove shadow logical field, support shadow algorithm

Enhancement

  1. Support parsing MySQL union/union all statement
  2. Support PostgreSQL ABORT statement
  3. Refactor and improve metadata loading process
  4. Support PostgreSQL CREATE INDEX statement to generate index automatically when no index is specified
  5. Support SQL statement execution with logical schema
  6. Support binding tables configuration with different sharding columns
  7. Optimize kernel performance
  8. Proxy supports queries to part of information_schema tables to optimize client connection experience
  9. DistSQL supports using quotation marks to use keywords as parameter names
  10. The password in the ADD RESOURCE statement supports special characters
  11. ADD RESOURCE supports custom JDBC parameters and connection pool properties
  12. DROP RESOURCE supports optional parameter ignore single tables, used to ignore single table rule restrictions
  13. Support the use of DistSQL to create sharding table rule based on readwrite-splitting rules
  14. SHOW DATABASES statement supports like syntax
  15. CREATE SHARDING TABLE RULE supports the use of inline expressions to specify resources
  16. CREATE SHARDING TABLE RULE supports configuration using dataNodes
  17. CREATE SHARDING TABLE RULE supports reuse of existing algorithms
  18. SET VARIABLE, support to modify proxy configuration
  19. PostgreSQL's protocol enhancements (Such as supports Portal, unspecified type)
  20. Using Netty executor to optimize Proxy performance in specified scenarios
  21. Make memory strictly fetch size configurable in Proxy
  22. Scaling: Improve support for PostgreSQL
  23. Scaling: Support concurrent data consistency check of source and target side

Refactor

  1. Refactor the SingleTable feature to support Encrypt multiple data sources
  2. Adjust the persistent data structure of the registry center state node
  3. Remove the SQL rewrite of DML for Shadow
  4. Support the SQL routing of DDL for Shadow
  5. Scaling: Refactor default implementation of incremental task completion detect algorithm
  6. Scaling: Refactor default implementation of data consistency check algorithm
  7. Scaling: Remove HTTP API and binary distribution

Bug Fix

  1. Fix sharding interval algorithm
  2. Fix SHOW INDEX FROM TABLE FROM TABLE statement rewrite exception
  3. Fix Encrypt multi tables join query rewrite exception
  4. Fix subquery index out of range exception
  5. Fix wrong result of Oracle paging query
  6. Fix the rewrite exception when KeyGenerateStrategy is not configured in the Sharding feature
  7. Fix federation executor engine exception caused by Oracle dialect case
  8. Fix Sharding and Encrypt integration usage rewrite exception
  9. Fix Oracle metadata loading exception
  10. Fix the issue that SHOW RESOURCES statement cannot display custom attributes
  11. Fix the issue that SQL execution exception is not thrown
  12. Fix Etcd can not send node added event
  13. Fix PostgreSQL rows contains null value may be missing in query result
  14. Fix PostgreSQL metadata columns are out-of-order
  15. Fix client character set may be incorrect in Proxy

Change Log

  1. MILESTONE

5.0.0-beta

2 years ago

New feature

  1. New DistSQL to load and show all the ShardingSphere configuration rules
  2. Support join SQL from different database instances
  3. Support multiple backend database types for new feature of database gateway
  4. Support creating and updating the authentication online
  5. Add a new automated agent module

API Change

  1. QueryReplica configuration item is replaced by read-write-splitting
  2. Authentication configuration item of ShardingProxy is replaced by AUTHORITY
  3. Optimize the dataSource configuration for ShardingJDBC with dataSourceClassName
  4. New API for automated sharding table configuration to provide standard and automated sharding tables
  5. Remove configuration item acceptor-size from ShardingProxy
  6. Create a built-in sharding algorithm SPI which allows users to directly configure the class name as in 4.x

Enhancement

  1. Improve metadata loading process distinctly
  2. Greatly enhance the SQL parsing for Oracle, SQLServer and PostgreSQL
  3. Support loading privileges from MySQL/PostgreSQL/SQLServer/Oracle
  4. Support DDL statement for encryption feature
  5. Support rewrite owner table name of projection if using sharding and encrypt together
  6. When using SELECT * from encrypted SQL, add quote char for the rewritten column to avoid conflict with keyword
  7. Support PostgreSQL JSON/JSONB/pattern matching operator parse
  8. Support MySQL/PostgreSQL CREATE/ALTER/DROP TABLESPACE statement
  9. Support PostgreSQL PREPARE, EXECUTE, DEALLOCATE statement
  10. Support PostgreSQL EXPLAIN statement
  11. Support PostgreSQL START/END TRANSACTION statement
  12. Support PostgreSQL ALTER/DROP INDEX statement
  13. Support CREATE TABLESPACE of PostgreSQL
  14. Support MySQL CREATE LOADABLE FUNCTION statement
  15. Support MySQL/PostgreSQL ALTER TABLE RENAME statement
  16. Support PostgreSQL Close command

Refactor

  1. New schema structure in registry center
  2. Remove Nacos and Apollo config center support
  3. ShardingScaling leverages elasticJob as its job distribution
  4. Refactor the metadata content and its update process

Bug Fix

  1. Bugfix for cannot use SELECT * wildcard when readwrite-splitting only
  2. Fix instance error when the custom sharding algorithm does not match the configuration type.
  3. Fix NoSuchTableException when executing drop table if exists statement
  4. Fix the wrong table rewrite in UPDATE ... SET ... statement
  5. Fix wrong table rewrite in CREATE/ALTER TABLE statement foreign key reference table
  6. Fix projection owner check exception when existing subquery temporary table
  7. Fix Oracle/SQL92 SELECT ... WHERE ... LIKE statement class cast exception
  8. Fix MySQL SELECT EXISTS ... FROM ... statement parse error
  9. Fix the wrong result of SHOW INDEX statement
  10. Fix SELECT ... GROUP BY ... statement rewrite and merge result error
  11. Fix CREATE TABLE statement rewrite error for encrypt
  12. Fix exception occurs in PostgreSQL Proxy when reading text format parameter values
  13. Enhance the support of array object for PostgreSQL Proxy
  14. Fix the bug of Datatype casting for ShardingProxy
  15. PostgreSQL Proxy supports using numeric type
  16. Fix PostgreSQL Proxy transaction command complete packet's tag incorrect
  17. Fix PostgreSQL Proxy may return packet which is not expected by the client

Change Log

  1. MILESTONE

5.0.0-alpha

3 years ago

5.0.0-alpha

New Feature

  1. The pluggable architecture is available and support function extension through the SPI.
  2. Independent SQL parsing engine is available to get SQL parsed AST for the different database dialects.
  3. New RDL feature for ShardingSphere Proxy supports creating sharding rules and sharding tables.
  4. ShardingSphere-Scaling supports resuming data migration from break-point.
  5. ShardingSphere-Scaling supports using ShardingSphere JDBC to migrate data to new cluster.
  6. ShardingSphere shadow database is available.

API Changes

  1. New sharding/encryption/shadow/queryReplica API.
  2. New sharding algorithm and strategy API.
  3. New API for ShardingSphere Scaling to create task.
  4. Remove DefaultDataSourceName setting item.
  5. The separator of the parameter configuration item is changed from - the dot ‘.’ to minus sign ‘-’.
  6. Change parameter allow.range.query.with.inline.sharding from global parameter to sharding algorithm parameter.

Refactor

  1. Refactor the architecture of SQL parsing module base on the database dialects.
  2. Use SPI mechanism to reconstruct online metadata change processing.
  3. Rename Orchestration module to Governance module.
  4. Rename MasterSlave module to QueryReplica module.
  5. Refactor the metadata structure in the governance registration center.
  6. Refactor GovernmentShardingSphereDataSource.
  7. ShardingSphere UI merges configuration center and registration center display layout.

Enhancement

  1. Upgrade the minimum supported version of JDK to Java8.
  2. Update Zookeeper curator to version 5.1.0.
  3. Update Google Guava to version 29.0-jre.
  4. The enhancement for MySQL SQL syntax definition and parsing process.
  5. The enhancement for PostgreSQL syntax definition and parsing process.
  6. The enhancement for sub-queries in different database dialects.
  7. Support MySQL view operations for non-sharding tables
  8. Support MySQL stored functions and procedure operations for non-sharding tables.
  9. Support SQLServer Top syntax.
  10. Optimize the metadata loading to improve the startup speed.
  11. Optimize batch insert performance.
  12. Supports the use of Oracle RAC JDBC URL.
  13. XA transaction manager adds support for Oracle database.
  14. ShardingSphere Proxy supports the use of p6sy driver.
  15. Add help information to the ShardingSphere Proxy startup script.

Bug fixes

  1. Fix alias rewriting error when processing OrderBy condition.
  2. Fix SQL rewriting error when MYSQL Insert statement contains expression.
  3. Fix parameter calculation error in update on duplicate SQL.
  4. Fix generatedKeys gets wrong when batch inserting.
  5. Fix the abnormal issue of multi-table verification in DML statement update operation.
  6. Fix the NPE problem caused by executing SQL when the table does not exist.
  7. Fix the exception when using the Show table command for an unconfigured table.
  8. Fix metadata loading error when Oracle database has multiple qualified users.
  9. Fix the issue that replica node cannot be enabled online.
  10. Fix the problem that ShardingSphere-JDBC does not support PostgreSQL array type.
  11. Fix the problem that ShardingSphere-Proxy does not respond when querying long blob data.

shardingsphere-ui-4.1.1

3 years ago

4.1.1

Enhancement

  1. Add Sharding-UI dockerfile
  2. Enhancement for Sharding-UI docker build

Bug Fixes

  1. Fix faild to disable slave database through ui

4.1.1

3 years ago

4.1.1

Enhancement

  1. Add Sharding-Scaling & Sharding-UI dockerfile
  2. update MySQL & PostgreSQL version for proxy

Bug Fixes

  1. Fix parser syntax rule of SUBSTRING and CONVERT
  2. Fix parser ColumnSegment ClassCastException
  3. Fix TableMetaData load error when use Sharding-JDBC with oracle
  4. Fix getSchema NPE when use Sharding-JDBC with oracle
  5. Fix Sharding-JDBC parse sql NPE in PostgreSQL
  6. Fix Sharding-Proxy receive error response for PostgreSQL JDBC client
  7. Fix Sharding-Proxy response number of update is 0 for PostgreSQL JDBC client
  8. Fix Sharding-Proxy receive null for PostgreSQL column meta data
  9. Fix Sharding-Scaling NPE in MySQL incremental task

Change Logs

  1. MILESTONE

4.1.0

3 years ago

4.1.0

New Features

  1. Support scaling for ShardingSphere (alpha version)
  2. Move etcd registry center from experiment repo to apache repo
  3. Upgrade to Java 8

Enhancement

  1. Optimization for Sharing Parser with ANTLR Visitor improving the parsing performance of long SQL by 100%~1000%
  2. Use multiple threads to load metadata for different data sources
  3. Support allow.range.query.with.inline.sharding option
  4. The docker of Sharding-Proxy supports loading external lib packages
  5. Support integration with Spring using @ShardingTransactionType
  6. Enhance ShardingDataSource to compatiable with Seata in micro-sevice distribution transaction

Refactor

  1. Remove leaf key generator

Bug Fixes

  1. Fix an exception caused by using a CHAR/VARCHAR type column as a order by item
  2. Refine DataTypeName syntax rules of all database dialects
  3. Fix an exception caused by executing BEGIN using prepared statement of MySQL C API
  4. Fix the problem that ALTER TABLE fails to execute when the field type of the table contains Integer/Double/BigDecimal
  5. Fix the problem of the stop index dislocation of segment with alias
  6. Fix the problem that overwriting SQL SELECT * FROM tbl WHERE encrypt_col = ? AND (sharding_key = ? OR sharding_key = ?) when using sharding + encrypt would throw StringIndexOutOfBoundsException
  7. Fix the problem of incorrect decoding after AES encoding when using Sharding-Proxy in Spring Boot
  8. Fix a long-time problem of adding schema dynamically in Sharding-UI

Change Logs

  1. MILESTONE

shardingsphere-ui-4.1.0

4 years ago

4.1.0

New Features

  1. Add a start.bat to launch for shardingsphere-ui distribution module in Windows
  2. The work flow and roadmap of sharding-scaling

Enhancements

  1. sharding-ui-frontend config file problem
  2. The enhancement for the first version sharding-scaling-ui
  3. Fix link of build status
  4. Fix ui login Chinese text
  5. Add sharding scaling API document

Bug Fixes

  1. Fix request error page interactive presentation problem
  2. Fix ui module for new center api
  3. Fix spelling error
  4. UI details modification
  5. Fixes ui errors when loading datasources config

4.0.1

4 years ago

4.0.1

Bug Fixes

  1. Using guava cache to fix parsing deadlock.
  2. Oracle insert SQL could not work in encrypt mode.
  3. Proxy for PostgreSQL decode parameters error in all types except String.
  4. COM_STM_EXECUTE of proxy for MySQL could not support sysbench.
  5. None sharding strategy could not config in spring-boot.
  6. Plain column could not get from resultSet in sharding-encrypt mode.
  7. WasNull field was wrong in GroupByStreamMergeResult.
  8. Metadata.getColumns could not work in JDBC.
  9. IN operator contains space and \n \t \r could not supported by parser.

Enhancement

  1. Optimize antlr performance using two-stage parsing strategy.
  2. Add class filter constructor to restrict the illegal class from YAML.

Change Logs

  1. MILESTONE

4.0.0

4 years ago

4.0.0

API Changes

  1. Change package and maven groupId form io.shardingsphere to org.apache.shardingsphere.
  2. Adjust Sharding-JDBC configuration API.
  3. Adjust persist structure for registry center.

New Features

  1. SQL92 Syntax available.
  2. Sharding-Proxy for PostgreSQL protocol available.
  3. SQL 100% compatible if route to single data node.
  4. Less-than(<), greater-than(>) and Less-than-equal(<=), greater-than-equal(>=) for sharding key operator available.
  5. DISTINCT SQL syntax available.
  6. Broadcast table available.
  7. LEAF key generator available.
  8. XA Transaction available, Atomikos, Narayana and Bitronix integrated.
  9. BASE Transaction available, Seata integrated.
  10. Data encrypt available.
  11. Skywalking plugin available.
  12. Sharding-UI available, an orchestration management platform.

Enhancement

  1. MariaDB supported.
  2. Improve the compatibility of SQL parsing.
  3. SELECT FOR UPDATE route to master data source only.
  4. Hint in Sharding-Proxy available.
  5. Make configuration of orchestration consistent between Sharding-JDBC and Sharding-Proxy.
  6. Renew modified data sources only, not renew all the data sources.
  7. Vibrate configurable for Snowflake key generator.

Bug Fixes

  1. Improve the compatibility of JDBC Driver URL.
  2. Delete statement with alias available.
  3. Check and disable updating sharding column.
  4. Fix wrong type of TINYINT and SMALLINT as INTEGER.

Change Logs

  1. MILESTONE #3
  2. MILESTONE #4
  3. MILESTONE #5
  4. MILESTONE #6
  5. MILESTONE #7
  6. MILESTONE #8
  7. MILESTONE #9

4.0.0-RC3

4 years ago

4.0.0-RC3

New Features

  1. Sharding-UI, an orchestration management platform for ShardingSphere comes online.
  2. Not only SQLs from MySQL, PostgreSQL, SQLServer, Oracle, but any SQL92 Syntax can be parsed correctly and used in ShardingSphere.

Enhancement

  1. Support using less-than character(<) and greater-than character(>) for sharding data.
  2. When master and slave dataSources exist, support executing SELECT FOR UPDATE on master dataSource.
  3. Support hint in Sharding-Proxy.
  4. Finish parsing DAL syntax for MySQL.
  5. Make configuration of orchestration compatible between Sharding-JDBC and Sharding-Proxy.

Bug Fixes

  1. Through Bug fix, the feature of encryption becomes much stable and applicable.
  2. Support delete statement with alias.
  3. Check and disable updating sharding column.
  4. Fix wrong type of TINYINT and SMALLINT as INTEGER.

Refactor

  1. Rename optimized module to preprocessor module.
  2. Decouple rewrite core module for sharding/encrypt features.

Change Logs

  1. MILESTONE