BaikalDB v1.1.2
Notice:
从v1.0.x升级到v1.1.x版本,必须先更新兼容版本v1.1.0,否则可能出现数据丢失情况
v1.1.1 is abandoned
更新步骤:
- 滚动更新store到v1.1.0
- 滚动更新db到v1.1.0
- 滚动更新store到v1.1.2
- 滚动更新db到v1.1.2
回滚步骤相反,只能回滚到v1.0.2
v1.1.2版本开始,事务参考Percolator,继续依赖rocksdb的悲观事务,dml通过raft发送给follower的方式从之前的prepare打包发送改为单dml发送
Feature:
- 增加了统计信息功能
- 增加利用统计信息计算代价选择索引功能
- sst备份增加stream接口,减少内存占用,解决大region备份失败问题
- 支持部分时间函数,支持常用字符串函数
- print_time_us适用于baikaldb的notice日志打印,需要全部打印请配置为0
- alias别名兼容mysql,where条件不再支持alias
- brpc更新到0.9.7
- braft跟新到v1.1.1
- rocksdb更新到6.8.1
- rocksdb使用format_version=4,因此升级后只能回滚到v1.0.2(rocksdb 5.12.4不支持)
- 使用Partitioned Index Filters,rocksdb主要内存占用可以通过rocks_block_cache_size_mb配置,默认8G;线上使用建议调大这个参数
- 倒排拉链支持使用arrow存储
Bug Fix:
- 修复sst备份接口不释放snapshot导致内存无法释放问题
- 修复多次删除创建同名后restore恢复表不一致问题
Performance:
- 主表、索引覆盖、全局索引seek优化,去除table_record到mem_row的转化
- 通过plan复用优化select prepare stmt性能