Sharding-JDBC是一个开源的分布式数据库中间件解决方案
Sharding-JDBC是一个开源的分布式数据库中间件解决方案。它在Java的JDBC层以对业务应用零侵入的方式额外提供数据分片,读写分离,柔性事务和分布式治理能力。 kimmking released this
4.1.1
Enhancement
- Add Sharding-UI dockerfile
- Enhancement for Sharding-UI docker build
Bug Fixes
- Fix faild to disable slave database through ui
Assets
2
kimmking released this
4.1.1
Enhancement
- Add Sharding-Scaling & Sharding-UI dockerfile
- update MySQL & PostgreSQL version for proxy
Bug Fixes
- Fix parser syntax rule of SUBSTRING and CONVERT
- Fix parser ColumnSegment ClassCastException
- Fix TableMetaData load error when use Sharding-JDBC with oracle
- Fix getSchema NPE when use Sharding-JDBC with oracle
- Fix Sharding-JDBC parse sql NPE in PostgreSQL
- Fix Sharding-Proxy receive error response for PostgreSQL JDBC client
- Fix Sharding-Proxy response number of update is 0 for PostgreSQL JDBC client
- Fix Sharding-Proxy receive null for PostgreSQL column meta data
- Fix Sharding-Scaling NPE in MySQL incremental task
Change Logs
Assets
2
tuohai666 released this
4.1.0
New Features
- Add a start.bat to launch for shardingsphere-ui distribution module in Windows
- The work flow and roadmap of sharding-scaling
Enhancements
- sharding-ui-frontend config file problem
- The enhancement for the first version sharding-scaling-ui
- Fix link of build status
- Fix ui login Chinese text
- Add sharding scaling API document
Bug Fixes
- Fix request error page interactive presentation problem
- Fix ui module for new center api
- Fix spelling error
- UI details modification
- Fixes ui errors when loading datasources config
Assets
2
tuohai666 released this
4.1.0
New Features
- Support scaling for ShardingSphere (alpha version)
- Move etcd registry center from experiment repo to apache repo
- Upgrade to Java 8
Enhancement
- Optimization for Sharing Parser with ANTLR Visitor improving the parsing performance of long SQL by 100%~1000%
- Use multiple threads to load metadata for different data sources
- Support
allow.range.query.with.inline.sharding
option - The docker of Sharding-Proxy supports loading external lib packages
- Support integration with Spring using @ShardingTransactionType
- Enhance ShardingDataSource to compatiable with Seata in micro-sevice distribution transaction
Refactor
- Remove leaf key generator
Bug Fixes
- Fix an exception caused by using a CHAR/VARCHAR type column as a order by item
- Refine
DataTypeName
syntax rules of all database dialects - Fix an exception caused by executing
BEGIN
using prepared statement of MySQL C API - Fix the problem that
ALTER TABLE
fails to execute when the field type of the table contains Integer/Double/BigDecimal - Fix the problem of the stop index dislocation of segment with alias
- 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 - Fix the problem of incorrect decoding after AES encoding when using Sharding-Proxy in Spring Boot
- Fix a long-time problem of adding schema dynamically in Sharding-UI
Change Logs
Assets
2
cherrylzhao released this
4.0.1
Bug Fixes
- Using guava cache to fix parsing deadlock.
- Oracle insert SQL could not work in encrypt mode.
- Proxy for PostgreSQL decode parameters error in all types except String.
- COM_STM_EXECUTE of proxy for MySQL could not support sysbench.
- None sharding strategy could not config in spring-boot.
- Plain column could not get from resultSet in sharding-encrypt mode.
- WasNull field was wrong in GroupByStreamMergeResult.
- Metadata.getColumns could not work in JDBC.
- IN operator contains space and
\n
\t
\r
could not supported by parser.
Enhancement
- Optimize antlr performance using two-stage parsing strategy.
- Add class filter constructor to restrict the illegal class from YAML.
Change Logs
Assets
2
terrymanu released this
4.0.0
API Changes
- Change package and maven groupId form
io.shardingsphere
toorg.apache.shardingsphere
. - Adjust Sharding-JDBC configuration API.
- Adjust persist structure for registry center.
New Features
- SQL92 Syntax available.
- Sharding-Proxy for PostgreSQL protocol available.
- SQL 100% compatible if route to single data node.
- Less-than(<), greater-than(>) and Less-than-equal(<=), greater-than-equal(>=) for sharding key operator available.
- DISTINCT SQL syntax available.
- Broadcast table available.
- LEAF key generator available.
- XA Transaction available, Atomikos, Narayana and Bitronix integrated.
- BASE Transaction available, Seata integrated.
- Data encrypt available.
- Skywalking plugin available.
- Sharding-UI available, an orchestration management platform.
Enhancement
- MariaDB supported.
- Improve the compatibility of SQL parsing.
SELECT FOR UPDATE
route to master data source only.- Hint in Sharding-Proxy available.
- Make configuration of orchestration consistent between Sharding-JDBC and Sharding-Proxy.
- Renew modified data sources only, not renew all the data sources.
- Vibrate configurable for Snowflake key generator.
Bug Fixes
- Improve the compatibility of JDBC Driver URL.
- Delete statement with alias available.
- Check and disable updating sharding column.
- Fix wrong type of TINYINT and SMALLINT as INTEGER.
Change Logs
Assets
2
tristaZero released this
4.0.0-RC3
New Features
- Sharding-UI, an orchestration management platform for ShardingSphere comes online.
- Not only SQLs from MySQL, PostgreSQL, SQLServer, Oracle, but any SQL92 Syntax can be parsed correctly and used in ShardingSphere.
Enhancement
- Support using less-than character(<) and greater-than character(>) for sharding data.
- When master and slave dataSources exist, support executing
SELECT FOR UPDATE
on master dataSource. - Support hint in Sharding-Proxy.
- Finish parsing DAL syntax for MySQL.
- Make configuration of orchestration compatible between Sharding-JDBC and Sharding-Proxy.
Bug Fixes
- Through Bug fix, the feature of encryption becomes much stable and applicable.
- Support delete statement with alias.
- Check and disable updating sharding column.
- Fix wrong type of TINYINT and SMALLINT as INTEGER.
Refactor
- Rename optimized module to preprocessor module.
- Decouple rewrite core module for sharding/encrypt features.
Change Logs
Assets
2
tuohai666 released this
4.0.0.RC2
API Changes
- Optimize and delete API and configuration item of sharding logic index.
- Update the API of encryption to support the encrypted and plain data coexistence.
New Features
- Integration of Seata for distributed transaction.
- User can do data encryption by using ShardingProxy.
- User can use Leaf-segment generator to get distributed ID.
- Support Skywalking plugin for application performance management.
Enhancement
- Renew modified dataSources, not all the datasources to improve performance for configuration orchestration.
- Improve the compatibility of SQL parsing.
Refactor
- Remove DatabaseType enum, use dynamic SPI to load data source type.
- The parse engine upgrade from the 2nd generation to 3rd.
- The Refactoring of SQL rewriting module.
Change Logs
Assets
2
terrymanu released this
Merge all change logs of version 3.1.0.M1, 3.1.0, 3.1.0.1 and 4.0.0.M1. First apache release.
API Changes
- Adjust persist structure for orchestration's registry center.
- Adjust Sharding-JDBC configuration API.
- Change package and maven groupId form
io.shardingsphere
toorg.apache.shardingsphere
. - Adjust spring-boot-starter.
New Features
- XA Transaction available.
- Data encrypt available.
- Use PostgreSQL protocol access Sharding-Proxy available.
- DISTINCT SQL syntax available.
- Broadcast table.
- All SQL 100% compatible if route to single data node (MySQL Only).
Change Logs
Assets
2
terrymanu released this
Assets
2
Milestones
- Sharding-Proxy launch. Support the use of Sharding-Sphere in the form of database to support for MySQL CLI and GUI client
New Features
Core
- ISSUE #290 Support batch INSERT
- ISSUE #501 Support OR
- ISSUE #980 Support DCL
- ISSUE #1111 Support MySQL DAL
Sharding-Proxy
- ISSUE #902 Support XA transaction
- ISSUE #916 Support authorization
- ISSUE #936 Support registry center
- ISSUE #1046 Support multiple logic databases
Enhancements
Core
- ISSUE #373 Support
order by ?
- ISSUE #610 Route unicast for DQL without table
- ISSUE #701 Caching parsed results to improve performance
- ISSUE #773 Support sharding and autoincrement key of INSERT without column names
- ISSUE #935 Use
YAML
instead ofJSON
to store configurations in registry center - ISSUE #1004 Properties can configure for Sharding and Master-slave independent
- ISSUE #1205 Execute engine enhancement
Sharding-JDBC
- ISSUE #652 Support
Spring Boot Starter
2.X - ISSUE #702 Support
$->{..}
for inline expression - ISSUE #719 Support inject key generator objects by spring namespace
- ISSUE #720 Support inject sharding algorithm objects by spring namespace
Sharding-Opentracing
- ISSUE #1172 Opentracing enhancement
API changes
- ISSUE #1153 Adjust the maven artifactId for Orchestration module
- ISSUE #1203 Adjust Spring namespace xsd for Sharding and Master-slave
- ISSUE #1289 Adjust Hint API
- ISSUE #1302 Refine package structure
- ISSUE #1305 Deprecated and remove sharding-jdbc-transaction-parent module
- ISSUE #1382 Remove type configuration in Orchestration module
Bug Fixes
Core
- ISSUE #569 Failed to parse SQL for Oracle when ROWNUM is not at end
- ISSUE #628 Support data type jsonb for PostgreSQL
- ISSUE #646 When aliases in
SELECT ITEMS
correspond to the real column names ofGROUP BY
orORDER BY
, there is no need to generate derived columns - ISSUE #806
NOT IN
parse exception - ISSUE #827 Endless loop for bad SQL like
SELECT * FROM table WHERE id IN ()
- ISSUE #919 Inline expression with groovy may cause memory leak
- ISSUE #993 Fail to parsing PostgreSQL due to the quotation
- ISSUE #1015 Support SQL like
SELECT id, COUNT(*) FROM table GROUP BY 1,2
- ISSUE #1120 Derived columns of
GROUP BY / ORDER BY
appear in query result - ISSUE #1186 Dead lock may occur on MEMORY_STRICTLY mode when get connection on concurrency environment
- ISSUE #1265 RoundRobinMasterSlaveLoadBalanceAlgorithm throw an ArrayIndexOutOfBoundsException when AtomicInteger overflow
Sharding-JDBC
- ISSUE #372 Reuse PreparedStatement cause cache of route result do not clean
- ISSUE #629 Support transaction isolation on JDBC
- ISSUE #735 Unexpected slave datasource routing result when using
Round-robin
load-balance algorithm in Mybatis - ISSUE #1011 Can't resolve placeholder in
Spring Boot YAML
configuration
Assets
2
API Changes
- Adjust persist structure for orchestration's registry center.
- Adjust Sharding-JDBC configuration API.
New Features
- XA Transaction available.
- All SQL 100% compatible if route to single data node (MySQL Only).
- DISTINCT SQL syntax available.
- Broadcast table available.
- Solve data lean problem when using DefaultKeyGenerator with low TPS.
Change Logs
Assets
2
API changes
- Adjust persist structure for orchestration's registry center.
- Adjust Sharding-JDBC configuration API.
New Features
- XA Transaction available.
- All SQL 100% compatible if route to single data node (MySQL Only).
- DISTINCT SQL syntax available.
- Broadcast table available.
- Solve data lean problem when using DefaultKeyGenerator with low TPS.
Assets
2
Milestones
- Sharding-Proxy launch. Support the use of Sharding-Sphere in the form of database to support for MySQL CLI and GUI client
New Features
Core
- ISSUE #290 Support batch INSERT
- ISSUE #501 Support OR
- ISSUE #980 Support DCL
- ISSUE #1111 Support MySQL DAL
Sharding-Proxy
- ISSUE #902 Support XA transaction
- ISSUE #916 Support authorization
- ISSUE #936 Support registry center
- ISSUE #1046 Support multiple logic databases
Enhancements
Core
- ISSUE #373 Support
order by ?
- ISSUE #610 Route unicast for DQL without table
- ISSUE #701 Caching parsed results to improve performance
- ISSUE #773 Support sharding and autoincrement key of INSERT without column names
- ISSUE #935 Use
YAML
instead ofJSON
to store configurations in registry center - ISSUE #1004 Properties can configure for Sharding and Master-slave independent
- ISSUE #1205 Execute engine enhancement
Sharding-JDBC
- ISSUE #652 Support
Spring Boot Starter
2.X - ISSUE #702 Support
$->{..}
for inline expression - ISSUE #719 Support inject key generator objects by spring namespace
- ISSUE #720 Support inject sharding algorithm objects by spring namespace
Sharding-Opentracing
- ISSUE #1172 Opentracing enhancement
API changes
- ISSUE #1153 Adjust the maven artifactId for Orchestration module
- ISSUE #1203 Adjust Spring namespace xsd for Sharding and Master-slave
- ISSUE #1289 Adjust Hint API
- ISSUE #1302 Refine package structure
- ISSUE #1305 Deprecated and remove sharding-jdbc-transaction-parent module
- ISSUE #1382 Remove type configuration in Orchestration module
Bug Fixes
Core
- ISSUE #569 Failed to parse SQL for Oracle when ROWNUM is not at end
- ISSUE #628 Support data type jsonb for PostgreSQL
- ISSUE #646 When aliases in
SELECT ITEMS
correspond to the real column names ofGROUP BY
orORDER BY
, there is no need to generate derived columns - ISSUE #806
NOT IN
parse exception - ISSUE #827 Endless loop for bad SQL like
SELECT * FROM table WHERE id IN ()
- ISSUE #919 Inline expression with groovy may cause memory leak
- ISSUE #993 Fail to parsing PostgreSQL due to the quotation
- ISSUE #1015 Support SQL like
SELECT id, COUNT(*) FROM table GROUP BY 1,2
- ISSUE #1120 Derived columns of
GROUP BY / ORDER BY
appear in query result - ISSUE #1186 Dead lock may occur on MEMORY_STRICTLY mode when get connection on concurrency environment
- ISSUE #1265 RoundRobinMasterSlaveLoadBalanceAlgorithm throw an ArrayIndexOutOfBoundsException when AtomicInteger overflow
Sharding-JDBC
- ISSUE #372 Reuse PreparedStatement cause cache of route result do not clean
- ISSUE #629 Support transaction isolation on JDBC
- ISSUE #735 Unexpected slave datasource routing result when using
Round-robin
load-balance algorithm in Mybatis - ISSUE #1011 Can't resolve placeholder in
Spring Boot YAML
configuration
3.0.0.M2
terrymanu released this
New Features
Core
- ISSUE #980 Support DCL
Sharding-Proxy
- ISSUE #916 Support authorization
- ISSUE #936 Support registry center
Enhancements
Core
- ISSUE #935 Use
YAML
instead ofJSON
to store configurations in registry center - ISSUE #1004 Properties can configure for Sharding and Master-slave independent
Bug Fixes
Core
- ISSUE #919 Inline expression with groovy may cause memory leak
- ISSUE #1015 Support SQL like
SELECT id, COUNT(*) FROM table GROUP BY 1,2
Sharding-JDBC
- ISSUE #372 Reuse PreparedStatement cause cache of route result do not clean
- ISSUE #993 Fail to parsing PostgreSQL due to the quotation
- ISSUE #1011 Can't resolve placeholder in
Spring Boot YAML
configuration
Milestones
- Sharding-Proxy launch. Support the use of Sharding-Sphere in the form of database to support for MySQL CLI and GUI client
New Features
- ISSUE #290 Support batch INSERT statements
- ISSUE #501 Support OR statement
Enhancements
- ISSUE #608 Support the USE statement of MySQL
- ISSUE #609 Support the SHOW statement of MySQL
- ISSUE #610 Optimize the DQL that does not contain a table name
- ISSUE #611 Support the DESC statement of MySQL
- ISSUE #652 Support Spring Boot Starter 2.x
- ISSUE #701 Support caching parsing results of SQL to improve performance
- ISSUE #702 Support $->{..} as mark for inline expression
- ISSUE #719 Support Spring bean namespace to inject key generator objects
- ISSUE #720 Support Spring bean namespace to inject sharding algorithm objects
- ISSUE #773 Support sharding and autoincrement primary key of INSERT statements without column names
Bug Fixes
- ISSUE #628 Support data type jsonb for PostgreSQL
- ISSUE #629 Support transaction isolation on JDBC
- ISSUE #646 When aliases in SELECT ITEMS correspond to the real column names of GROUP BY or ORDER BY, there is no need to add columns
- ISSUE #735 Unexpected slave datasource routing result when using Round-robin load-balance algorithm in Mybatis
- ISSUE #806 SQL parse error with
NOT IN
- ISSUE #827 Fix endless loop for bad SQL like
SELECT * FROM table WHERE id IN ()
2.0.3
terrymanu released this
功能提升
- ISSUE #600 支持TCL
缺陷修正
- ISSUE #522 读写分离Slave库不需要执行DDL语句
- ISSUE #540 梳理并支持别名为关键字SQL
- ISSUE #577 支持YAML配置换行
Watchers:988 |
Star:13246 |
Fork:4457 |
创建时间: 2016-01-18 20:49:26 |
最后Commits: 4天前 |
许可协议:Apache-2.0 |
5dc690c
Compare
5.0.0-alpha
New Feature
API Changes
Refactor
Enhancement
Bug fixes