Skip to content

BaikalDB v2.1.0

Compare
Choose a tag to compare
@lgqss lgqss released this 05 May 10:05
· 60 commits to master since this release
3759355

Notice:

滚动升级顺序:BaikalMeta=>BaikalStore=>BaikalDB(本次升级需要严格按照这个顺序,否则会出现兼容性问题)
回滚步骤反过来:BaikalDB=>BaikalStore=>BaikalMeta
如没特殊说明,后续升级步骤都应该按上述顺序进行

New Features:

  • rocksdb升级到6.26.0(protobuf内部是V3.11.2比较稳定,欢迎有能力同学升级下,可以获得更好的性能)
  • comb multi in predicate by @wy1433 #160
  • local index ddl 与 gobal index ddl流程统一
  • 新增handle/show sql代替脚本
  • 优化旁路探测问题
  • where条件中datetime类似与数字20201212比较兼容mysql
  • 支持主机房概念,可以设置主机房,让leader在主机房选出
  • 虚拟索引过meta收集任意sql的影响面
  • 支持substring_index
  • 支持按照网段进行负载均衡
  • region split主动add peer,防止单副本运行
  • partition表兼容mysql语法
  • 支持online TTL
  • delete、update支持子查询
  • 支持regexp
  • drop index force可以直接走删除流程
  • 新增函数: timestamp, lpad, rpad, time_format, convert_tz, isnull, database, cast, convert, default @wy1433
  • 新增系统表:ROUTINES,KEY_COLUMN_USAGE , REFERENTIAL_CONSTRAINTS @wy1433
  • 兼容jdbc8.0驱动 @wy1433
  • 支持表注释,并支持alter table修改表注释,及comment里面内容 @wy1433
  • drop index忽略索引名称大小写 @wy1433
  • 支持sql单行注释写法 @wy1433
  • 增加manual_split_region可以手工分裂
  • 增加内存限制功能
  • 建表使用unique index默认改成global的,可以通过unique index local来指定成local的,可以通过-unique_index_default_global=false改成默认是local的
  • 建表使用普通索引index默认还是local的,可以通过index global指定成global的,可以通过-normal_index_default_global=true改成默认是global的
  • 通过-open_nonboolean_sql_forbid=true可以禁止非bool表达式参与and/or计算,默认false
  • 通过-open_non_where_sql_forbid=true可以禁止没有where条件的update/delete,默认false
  • 通过-limit_unappropriate_sql=true可以限制手工sql(每个db执行次数少于3次)每个store并发到1,防止store被打挂,默认false
  • 支持ingest sst方式的快速导入功能(暂未适配开源编译,将在后续开放)

Bug Fixes:

  • 修复子查询中常量不能替换’?‘的bug
  • 修复insert select未更新自增主键
  • 修复tdigest agg问题
  • 修复各种事务问题
  • 修复1pc和2pc混用卡住问题
  • 修复update set now()时3副本不一致问题,rand()函数不是const
  • 修复全局索引并发写primary和secodary的问题
  • 修复baikaldb死循环,出core问题
  • 修复子查询join全局索引表出core
  • 修复fake binlog 不反查primary region
  • add peer过程中正好触发延时删除ingest失败
  • 修复包含slot的like predict bug
  • 修复current_timestamp问题
  • 修复标量子查询core和多列问题
  • 修复全局索引+row_ttl
  • 修复order by超过1个表达式计算问题
  • write binlog错误码修复
  • 子查询kill问题修复
  • datediff 问题修复
  • 修复match against类型推导
  • 修复全局索引+insert duplicate中values函数不生效问题

Performance Improvements:

  • region、qos采用双buf降低锁冲突
  • join on驱动表扫描出的等值value进行去重作为被驱动表的条件,降低数据量
  • userinfo使用双buf提升性能
  • qos优化
  • meta cf不使用ingest
  • 优化tdigest存储
  • CompactionFilter只做后2层
  • region split优化降低禁写时间
  • meta性能优化和锁优化
  • limit下推 @wy1433 #174
  • 注释解析性能优化
  • MemRowDescriptor缓存降低多列情况下开销
  • 局部索引内存优化
  • 索引key解析优化
  • db到store改用异步请求,降低高并发下bthread数量