Arana
定位于云原生数据库代理,它可以以 sidecar
模式部署为数据库服务网格,项目地址是 https://github.com/arana-db/arana 。Arana 提供透明的数据访问能力,当用户在使用时,可以不用关心数据库的“分片”细节,像使用单机 MySQL
数据库一样使用 Arana
。
在这个秋高气爽的季节,Arana
社区很高兴的宣布,经过社区 47 位贡献者一年多的努力,我们正式发布了 0.2.0
版本。该版本不仅做了很多优化工作,修复了一些 bug
,还引入了多项新功能。这些新功能包括 配置中心支持 watch
机制动态监听配置变更,支持可视化的 admin
配置管理后台,对数据库表的 sharding
能力进一步增强,支持更丰富的 DDL
语句,同时支持影子表特性,方便进行数据库压测工作,这些能力将会为用户提供更为稳定和高效的使用体验。
1. 新特性
-
支持配置中心
watch
机制,可以将修改的配置信息实时推送到Arana
,确保更新配置及时生效 PR 347 作者:chuntaojun; -
配置中心支持使用
Nacos
中间件 PR 659 作者:Mulavar; -
支持可视化
admin
配置管理后台 PR arana-ui/1 作者:GavinLam164; -
对已有数据库表
sharding
特性进行增强,sequence 支持段模式 PR 400 作者:Mulavar、多字段片键支持 PR 681 作者:jjeffcaii; -
优化
SQL
函数执行器,将javascript
函数执行方案转换成Go
语言原生实现方案,提升函数代码实现可维护性 Issue 454 作者:Charlie17Li、gongna-au、mengchuang123、baerwang、raspberry-hu、JasonZhang95、csynineyang、PangXing 等等; -
支持更丰富的
DDL
语句操作,包括:create/drop table
PR 653 作者:csynineyang、alter table
PR 184 作者:PangXing、create/drop index
PR 254 作者:cjphaha; -
主持影子表特性,方便进行数据库压测工作 PR 412 作者:csynineyang、PR 433 作者:PangXing、PR 405 作者:csynineyang、PR 363 作者:Lvnszn、PR 303 作者:Lvnszn;
-
支持
MySQL 8.0
版本 PR 450 作者:jjeffcaii;
2. Bug 修复
-
修复
select
语句中当table
不存在时导致的应用崩溃 PR 693 作者:gongna-au; -
修复并发更新数据时导致的数据库连接泄露 PR 669 作者:jjeffcaii;
-
修复空查询结果返回值,参照
MySQL
规范 PR 654 作者:jjeffcaii; -
修复
etcd
作为配置中心是出现的too large lease TTL
错误 PR 651 作者:PangXing; -
修复
use
语句执行结果出现Unknown database
错误 PR 618 作者:jjeffcaii; -
修复配置中心
watch event
机制导致的启动异常 PR 589 作者:PangXing; -
修复使用
jdbc
连接arana
时出现Unknown system variable 'query_cache_size'
错误 PR 357 作者:csynineyang; -
修复
index
不存在时,show index
语句返回信息异常 PR 372 作者:jjeffcaii;
3. 未来规划
随着 0.2.0
版本的发布,Arana
社区 0.3.0
版本的功能特性进行了规划,在 0.3.0
版本中我们规划如下几个重大特性功能:
- 实现跨数据库实例的
join
能力,完善不同数据库表之间的连接查询能力; - 实现基于
XA
的分布式事务能力; - 实现 shardingless 能力,向上层用户屏蔽分库分表细节,降低用户学习使用成本。
以上就是在 0.3.0
中规划的新特性,大家敬请期待。
如果你对 arana 产品或者这个开源项目感兴趣,欢迎扫描上面二维码或者微信搜索 PikiwiDB
加为好友,并备注 “加入 Arana”,它会拉你加入 Arana 微信交流群。