版本信息
SequoiaDB 巨杉数据库是一款金融级分布式数据库,产品引擎采用原生分布式架构,协议级兼容 MySQL,支持完整的 ACID 和分布式事务。同时 SequoiaDB 还提供多模(multi-model)数据库存储引擎,原生支持多数据中心容灾机制,是新一代分布式数据库的首选。
本文档中心旨在介绍 SequoiaDB 巨杉数据库的基本概念、数据增删改查的基本语法、数据库运维管理的基本策略,以及性能调优和问题诊断的相关思路。
快速使用 SequoiaDB
SequoiaDB version 3.6 版本说明
接口变更:
- 存储引擎
- 事务查询支持 READ FOR SHARE 模式,对已读记录持共享锁
- 支持读写分离模式下,严格指定访问节点的角色
- 驱动支持 INSERT/DELETE/UPDATE 返回操作记录数
- 驱动支持查询集合空间所属域及包含的集合列表
主要特性:
- SQL 引擎
- 新增建表语句选项,支持映射到存储引擎中已存在的集合
- 存储引擎
- 新增上下文清理机制,防止上下文泄露影响系统稳定性
- 新增事务锁升级机制,降低大事务内存使用量
- 索引元数据纳入编目节点统一管理,增强索引一致性
- 提供独立索引能力,支持根据业务需要在特定的节点上创建索引
- 新增回收站能力,支持 DROP CS/DROP CL/TRUNCATE CL 操作时数据的回收和快速恢复
- 新增 Flink 连接器,提供 SequoiaDB 与流式框架对接的能力
- 增强节点运行时对于读写磁盘错误的检测能力,在故障情况下及时触发报错或切换
性能优化:
- SQL 引擎
- SELECT ... LOCK IN SHARE MODE 更新为使用共享锁,提升操作并发性能
- 优化部分场景下 SELECT COUNT 的性能
- 优化多字段 IN 查询以及多字段多范围查询时的性能
- 优化联合索引关联查询时,支持 BKA JOIN 算法以提升对应 JOIN 操作的性能
- 优化提升 OR 条件下 INDEX MERGE 的性能
工具优化:
- SQL 引擎
- 新增实例组用户密码变更工具 ha_inst_group_chpass,支持变更实例组用户密码
- 新增元数据映射初始化工具 sql_enable_mapping,支持创建表以映射到存储引擎中已存在的集合
- 新增元数据映射查看工具 sql_get_mapping,支持查询 SQL 实例表与存储引擎集合之间的映射关系
- sdb_sql_ctl 工具新增实例时,实例名风格规范为字母开头,并且可包含字母、数字和下划线
- sdb_sql_ctl 工具 listinst 命令增加 status 参数,用于查看实例启动时间
- ha_inst_group_list 脚本新增 --data-group 字段,用于显示与实例组绑定的存储引擎中的分区组
- 存储引擎
解决重要Bug:
- SQL 引擎
- 完善版本升级或回退时的兼容性处理
- 修复 INSERT INTO ... ON DUPLICATE 并发时可能出现错误的问题
- 修复实例组场景下,实例关闭事务时,DDL 语句依然会产生事务操作的问题
- 修复大数据场景下,根据索引字段执行 ORDER BY ... LIMIT ... 查询时,无法使用索引有序性的问题
- 修复分区表存在的若干已知问题
- 存储引擎
- 修复集合重命名被其它集合上的操作阻塞的问题
- 修复 TRUNCATE 操作与根据集合元数据按块读取数据时可能报错的问题
- 修复节点因 SIGHUP 信号退出的问题
- 修复主机内存耗尽情况下的若干稳定性问题
- SAC
- 升级 SQL 插件的 jackson-databind,修复漏洞