博客 > SequoiaDB v5.0.1 GA 正式发布!

SequoiaDB v5.0.1 GA 正式发布!

 2020-10-22  SequoiaDB

SequoiaDB v5.0.1 GA 也正式和大家见面啦!

除了三大“黑科技”: 跨引擎事务一致性,原生分布式金融级容灾,多云多平台支持

image.png

我们也将看到SequoiaDB v5.0.1 版本的完整面貌:


新特性


  • SQL引擎

- 支持无事务模式,能够实现批量非事务的高性能操作;

- 完善表、列、主键和索引的修改操作;

- 支持多实例元数据实时同步,提供高可用能力;

- Update/Delete/Count/Autocommit 下推优化,提升性能;

- 支持 Insert ... on duplicate key update ... 语法;

- 支持 MySQL 5.7.31;

- 支持 geometry 空间数据类型;

- 支持 PARTITION BY 语法;

- 支持配置安全密码;

  • 支持基于多版本的事务并发控制 ( MVCC, Multi Version Concurrency Contral )

  • 完善全局一致性事务,全面支持会话级 RU、RC、RS、RR多种隔离级别;且事务支持跨引擎的一致性;

  • 支持全局逻辑时间 ( STP 逻辑时间协议 ),全局事务ID和事务快照通过本地逻辑时间生成,没有全局事务中心管理节点,全完分布式的全局事务能力,随着集群规模的增涨,全局事务性能呈线性增涨;

  • Insert/Update/Delete 等支持返回记录数和详细错误信息;

  • 插入数据支持重复键替代( insert ... on duplicate replace );

  • 访问计划实现自动过期清理,以及对 $in 操作进行参数化和缓存;

  • 全文索引支持字符串数组,以及 $or 和 $not 操作;

  • 索引支持 not null 约束;

  • 命令位置参数支持 InstanceID ;

  • 大对象存储支持按时间序进行垂直分区,提升对大对象的存取和管理能力,可以快速按时间进行归档和清理;

  • 大对象List操作支持过滤条件和精准匹配;

  • 重选举支持指定节点在线切换,对外部业务完全透明无影响;

  • 复制日志支持开启全量模式和时间字段,可以通过工具进行增量数据抽取;

  • 多唯一索引的集合支持副本节点并发数据同步和重放;

  • 新版实例元数据同步机制,旧版元数据同步使用 meta_sync 脚本工具实现有诸多限制。新版实例元数据同步使用 mysql 插件引擎实现,简化安装部署,解决旧版同步工具限制问题;

  • 分区组内数据节点心跳支持 UDP/TCP 两种协议,并能实现自动探测和切换;

  • 提供基于 SCRAM-SHA-256 认证机制的安全鉴权协议,可防止重放攻击、网络窃听攻击、数据破解、服务端伪造等;

  • 提供分区组容错熔断机制,通过配置开启错误和风险智能检测,并提供“熔断”、“半容错”和“全容错”三种容错级别,实现高可用;

  • 引入读写分离过期机制,实现“读写分离”和“读我所写”的自动切换,既满足数据的一致性,又实现负载分离;

  • 增加 update one / delete one 功能;

  • 更新符支持用一个字段更新另一个字段;

  • 支持 LOB 并发读写;

性能升级


  • 优化事务锁的性能,提高清理事务老版本的性能;

  • 优化节点启动性能;

  • 优化索引匹配,优先选择 $et 匹配操作字段对应的索引;

  • 优化分区命中算法,提升分区路由性能;

  • SQL引擎

    - 支持部分条件下压,优化部分条件不满足下压时的性能表现;

    - direct_count 模式支持带条件语句,优化带条件 select count 语句的性能表现;

    - 支持 order by/limit 下压,优化 order by/limit 语句的性能表现;

  • 对 snapshot transaction 进行性能优化,减少对业务操作的影响;

  • 全文索引 count 以及访问性能优化;同时优化连接为共享连接,减少 ES 引擎内存开销;

  • 实现多层级内存池模型,提升访问性能;并提供在线内存监控和离线分析能力;


工具优化


  • STP 查询工具 stpq,支持查询 单个STP 节点或 STP 集群状态、同步信息等;

  • SDB Shell 支持安全密码、交互密码和密码无痕迹功能; 

  • 导入工具支持空字符串的 Decimal 类型;

  • 导入工具支持将 Decimal 转换为其它类型;

  • 导入工具支持将 null 转换为 Date/Timestamp 类型;

  • 优化 SequoiaFS 启动、停止和参数配置;

  • 支持 TRACE 的结果导出到客户端本地;

  • SAC

    - 提供图形化性能监控工具(SequoiaPerf),简化端到端的慢查询性能分析;

    - 创建集合支持自增字段;

    - 支持创建全文索引和全文索引操作;

    - 支持"数据库实例"配置修改和同步;

  • Shell 的 File 对象增加 truncate 接口;

  • Shell 增加 IniFile 对象;

  • sdbreplay 支持按周期或指定时间将增量数据输出到文件;


接口变更


  • MySQL兼容

    - 配置项 *sequoiadb_use_partition* 更名为 *sequoiadb_auto_partition* ;

    - 废弃配置项*sequoiadb_optimizer_select_count* ;

    - 新增配置项 *sequoiadb_use_transaction*、*sequoiadb_optimizer_options*;

  • SQL引擎

    - 配置项 sequoiadb_optimizer_options 增加 direct_sort/direct_limit 项,以控制 order by/limit 是否下压;

    - 增加参数 sequoiadb_rollback_on_timeout ,开启时当事务锁超时回滚整个事务;

    - sdb_sql_ctl 改名为 sdb_mysql_ctl 和 sdb_pg_ctl;

  • REST 接口支持返回标准JSON格式;

  • 提供标准 S3 兼容的对象访问接口,实现“桶”和“对象”操作以及“多版本控制”;

  • 提供 SQL 化监控视图对数据库进行监控,可以使用SQL的各种能力灵活筛选和组合监控数据,提升监控的易用性;

  • 高度兼容 MongoDB的JSON操作 ;

  • 全文索引支持 Elasticearch 6.8.5 版本;

  • 系统 limit 配置支持 stack size,并统一单位为 byte;


结语


新技术创新带来了新的功能,更拓展了使用场景和方式,期待在 SequoiaDB 5.0时代,我们能持续以客户为中心,与金融客户和其他行业客户一同耕耘数据沃土!

准备开始体验 SequoiaDB 巨杉数据库?