Releases: arana-db/arana
Release of v0.2.0
New Feature
Arana is positioned as a cloud-native database proxy that can be deployed as a sidecar in database service mesh. Its github url is https://github.com/arana-db/arana. Arana provides transparent data access capabilities, allowing users to use it just like a standalone MySQL database without having to worry about the details of database "sharding".
In this crisp autumn season, after more than a year of effort from 47 contributors in the community, the Arana community is delighted to announce the official release of version 0.2.0. This version not only includes numerous optimizations and bug fixes but also introduces several new features. These new features include support for the watch mechanism in the configuration center to dynamically listen to configuration changes, a visual admin configuration management interface, enhanced sharding capabilities for database tables, support for richer DDL statements, and the introduction of shadow table features, facilitating database stress testing. These capabilities aim to provide users with a more stable and efficient user experience.
1. New Features
-
Support for the watch mechanism in the configuration center: This enables real-time pushing of modified configuration information to Arana, ensuring that updated configurations take effect promptly. PR 347 by chuntaojun.
-
Support for the Nacos middleware in the configuration center: PR 659 by Mulavar.
-
Visual admin configuration management interface: PR arana-ui/1 by GavinLam164.
-
Enhancements to existing sharding features: Enhanced support for sequence mode in sharding, PR 400 by Mulavar, and support for multi-column shard keys, PR 681 by jjeffcaii.
-
Optimization of the SQL function executor: Conversion of JavaScript function execution schemes to native Go language implementations, improving the maintainability of function code. Issue 454 by Charlie17Li, gongna-au, mengchuang123, baerwang, raspberry-hu, JasonZhang95, csynineyang, PangXing, and others.
-
Support for richer DDL statements: Including create/drop table statements PR 653 by csynineyang, alter table statements PR 184 by PangXing, and create/drop index statements PR 254 by cjphaha.
- Support
create table
grammar; - Support
drop table
grammar; - Support
alter table
grammar; - Support
truncate table
grammar; - Support
rename table
grammar; - Support
create index
grammar; - Support
drop table
grammar;
- Support
-
Introduction of shadow table features: Facilitating database stress testing, PR 412 by csynineyang, PR 433 by PangXing, PR 405 by csynineyang, PR 363 by Lvnszn, PR 303 by Lvnszn.
2. Bug Fixes
-
Fix for application crash when table does not exist in a select statement: PR 693 by gongna-au.
-
Fix for database connection leaks during concurrent data updates: PR 669 by jjeffcaii.
-
Fix for returning empty query results according to MySQL specifications: PR 654 by jjeffcaii.
-
Fix for too large lease TTL error when using etcd as the configuration center: PR 651 by PangXing.
-
Fix for Unknown database error in use statements: PR 618 by jjeffcaii.
3. Future Plans
With the release of version 0.2.0, the Arana community has outlined the planned features for version 0.3.0. In this upcoming version, the following significant features are planned:
-
Implementation of Cross-Database Instance JOIN Capability: Enhancing the ability to perform connection queries between different database tables.
-
Implementation of Distributed Transactions Based on XA: Introducing capabilities for distributed transactions based on the XA protocol.
-
Introduction of Shardingless Capability: Shielding upper-layer users from the intricacies of database sharding, reducing the learning curve associated with partitioning databases and tables.
These are the new features planned for version 0.3.0. Stay tuned for more updates.
This discussion was created from the release v0.2.0.
Release of v0.1.0-rc1
New Feature
- Support MySQL protocol,
arana
can be used as a MySQL proxy. - Support as a MySQL proxy for single Database and sharding Database.
- Support MySQL read write split according to weight config.
- Support
insert
,update
,delete
,show
etc SQL statement. - Support simple query SQL statement, for
limit x,y
, simpleorder by
&group by
, aggregate function. - Support
etcd
as dynamic configuration center. - Support
snowflake
as distributed primary key. - Support single Database transaction.
- Support
MySQL
SQL parsing and generate abstract syntax tree. - Support multiple sharding algorithms, such as
mod
,hashMd5
,hashCrc32
,hashBKDR
. - Support JavaScript expression and function expression for sharding algorithms.