What‘s new in Arana v0.2.0

2023-10-21 16:12
文章标签 new arana v0.2

本文主要是介绍What‘s new in Arana v0.2.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Arana 定位于云原生数据库代理,它可以以 sidecar 模式部署为数据库服务网格,项目地址是 https://github.com/arana-db/arana 。Arana 提供透明的数据访问能力,当用户在使用时,可以不用关心数据库的 “分片” 细节,像使用单机 MySQL 数据库一样使用 Arana

在这个秋高气爽的季节,Arana 社区很高兴的宣布,经过社区 47 位贡献者一年多的努力,我们正式发布了 0.2.0 版本。该版本不仅做了很多优化工作,修复了一些 bug,还引入了多项新功能。这些新功能包括 配置中心支持 watch 机制动态监听配置变更,支持可视化的 admin 配置管理后台,对数据库表的 sharding 能力进一步增强,支持更丰富的 DDL 语句,同时支持影子表特性,方便进行数据库压测工作,这些能力将会为用户提供更为稳定和高效的使用体验。

1. 新特性

  1. 支持配置中心 watch 机制,可以将修改的配置信息实时推送到 Arana,确保更新配置及时生效 PR 347 作者:chuntaojun;

  2. 配置中心支持使用 Nacos 中间件 PR 659 作者:Mulavar;

  3. 支持可视化 admin 配置管理后台 PR arana-ui/1 作者:GavinLam164;

  4. 对已有数据库表 sharding 特性进行增强,sequence 支持段模式 PR 400 作者:Mulavar、多字段片键支持 PR 681 作者:jjeffcaii;

  5. 优化 SQL 函数执行器,将 javascript 函数执行方案转换成 Go 语言原生实现方案,提升函数代码实现可维护性 Issue 454 作者:Charlie17Li、gongna-au、mengchuang123、baerwang、raspberry-hu、JasonZhang95、csynineyang、PangXing 等等;

  6. 支持更丰富的 DDL 语句操作,包括:create/drop table PR 653 作者:csynineyang、alter table PR 184 作者:PangXing、create/drop index PR 254 作者:cjphaha;

  7. 主持影子表特性,方便进行数据库压测工作 PR 412 作者:csynineyang、PR 433 作者:PangXing、PR 405 作者:csynineyang、PR 363 作者:Lvnszn、PR 303 作者:Lvnszn;

  8. 支持 MySQL 8.0 版本 PR 450 作者:jjeffcaii;

2. Bug 修复

  1. 修复 select 语句中当 table 不存在时导致的应用崩溃 PR 693 作者:gongna-au;

  2. 修复并发更新数据时导致的数据库连接泄露 PR 669 作者:jjeffcaii;

  3. 修复空查询结果返回值,参照 MySQL 规范 PR 654 作者:jjeffcaii;

  4. 修复 etcd 作为配置中心是出现的 too large lease TTL 错误 PR 651 作者:PangXing;

  5. 修复 use 语句执行结果出现 Unknown database 错误 PR 618 作者:jjeffcaii;

  6. 修复配置中心 watch event 机制导致的启动异常 PR 589 作者:PangXing;

  7. 修复使用 jdbc 连接 arana 时出现 Unknown system variable 'query_cache_size' 错误 PR 357 作者:csynineyang;

  8. 修复 index 不存在时,show index 语句返回信息异常 PR 372 作者:jjeffcaii;

3. 未来规划

随着 0.2.0 版本的发布,Arana 社区 0.3.0 版本的功能特性进行了规划,在 0.3.0 版本中我们规划如下几个重大特性功能:

  1. 实现跨数据库实例的 join 能力,完善不同数据库表之间的连接查询能力;
  2. 实现基于 XA 的分布式事务能力;
  3. 实现 shardingless 能力,向上层用户屏蔽分库分表细节,降低用户学习使用成本。

以上就是在 0.3.0 中规划的新特性,大家敬请期待。

如果你对 arana 产品或者这个开源项目感兴趣,欢迎微信搜索 PikiwiDB 加为好友,并备注 “加入 Arana”,它会拉你加入 Arana 微信交流群。

这篇关于What‘s new in Arana v0.2.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/255506

相关文章

Python中的魔术方法__new__详解

《Python中的魔术方法__new__详解》:本文主要介绍Python中的魔术方法__new__的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、核心意义与机制1.1 构造过程原理1.2 与 __init__ 对比二、核心功能解析2.1 核心能力2.2

Python中__new__()方法适应及注意事项详解

《Python中__new__()方法适应及注意事项详解》:本文主要介绍Python中__new__()方法适应及注意事项的相关资料,new()方法是Python中的一个特殊构造方法,用于在创建对... 目录前言基本用法返回值单例模式自定义对象创建注意事项总结前言new() 方法在 python 中是一个

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

string字符会调用new分配堆内存吗

gcc的string默认大小是32个字节,字符串小于等于15直接保存在栈上,超过之后才会使用new分配。

List list = new ArrayList();和ArrayList list=new ArrayList();的区别?

List是一个接口,而ArrayList 是一个类。 ArrayList 继承并实现了List。 List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。而ArrayList list=new ArrayList();创建一对象则保留了A

vue原理分析(六)--研究new Vue()

今天我们来分析使用new Vue() 之前研究时,只是说是在创建一个实例。并没有深入进行研究 在vue的源码中找下Vue的构造函数 function Vue(options) {if (!(this instanceof Vue)) {warn$2('Vue is a constructor and should be called with the `new` keyword');}thi

GTK中创建线程函数g_thread_new和g_thread_create的区别

使用GThread函数,需要引用glib.h头文件。 这两个接口的核心区别就是  g_thread_create 是旧的接口,现在已经不使用了,而g_thread_new是新的接口,建议使用。 g_thread_create: g_thread_create has been deprecated since version 2.32 and should not be used in n

New的VC编译器实现

当我们调用 new 的时候,例如 int *p = new int; 时,编译器到底作了什么工作呢?跟进断点看一看。   (在 vc debug模式下 ) double *p1 = new double ; 00411A6E  push        8    00411A70  call        operator new (4111B8h) 00411A75  add

Python方法:__init__,__new__,__class__的使用详解

转自:https://blog.csdn.net/qq_26442553/article/details/82464682 因为python中所有类默认继承object类。而object类提供了了很多原始的内建属性和方法,所以用户自定义的类在Python中也会继承这些内建属性。可以使用dir()函数可以查看,虽然python提供了很多内建属性但实际开发中常用的不多。而很多系统提供的内建属性实际