BaikalDB 2.0.0 版本发布

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Release BaikalDB v2.0.0 · baidu/BaikalDB (github.com) Notice: 滚动升级顺序:BaikalMeta=>BaikalStore=>BaikalDB 如没特殊说明,后续升级步骤都应该按上述顺序进行 New Features: 支持cmake编译 增加bvar监...

Release BaikalDB v2.0.0 · baidu/BaikalDB (github.com)

Notice:  

滚动升级顺序:BaikalMeta=>BaikalStore=>BaikalDB
如没特殊说明,后续升级步骤都应该按上述顺序进行

New Features:

  • 支持cmake编译
  • 增加bvar监控
  • 修复部分统计信息问题
  • 支持b'11'、 0b11、 x'AA'、 0xAA 字面
  • 支持子查询
  • 支持table t1 join table t2
  • 支持binlog
  • 增加全局索引的online ddl操作,alter table xxx add index global idx(filed);
  • 代价相关会结合一些规则判断,增加索引选择正确率
  • 暂时使用直方图+内部的distinct count做等值判断,cmskectch在大表情况下准确性较低
  • 支持information_schema流程 ,需要添加新的information_schema的表可以参考src/common/information_schema.cpp
  • 统计信息和规则选择索引部分做了修改,选择更准确些
  • 增加虚拟索引,alter table id_name_c add VIRTUAL index idx_name (name); 查看受影响的sql:show virtual index;用来新建索引前评估影响
  • using docker-compose to build a minimal three node cluster
  • 增加roaringbitmap,可以用于精确统计一些uv,用法与hll类似
  • 增加TDIGEST用来做分位值的估算
  • 增加db探测store的功能,在单个store假死的情况下可以快速恢复系统,集群更稳定
  • addpeer前会检查rocksdb是否stalling,提前拒绝addpeer,减少禁写风险
  • 增加dataindex,在install snapshot时会判断follower的数据是否已经是新的
  • 默认从snappy改成增加lz4压缩
  • 最底层增加zstd压缩,通过-enable_bottommost_compression开启
  • add funcs: date_add, date_sub, utc_timestamp, last_insert_id
  • rocksdb事务锁改成bthread锁;不阻塞pthread
  • store增加令牌桶流控(qos),对每类 sql 做并发限制,降低突发流量对正常sql的影响,默认不开启
  • 对每个请求做内存限制,通过db_sql_memory_bytes_limit(8G)和store_sql_memory_bytes_limit(16G)控制
  • 定期调用tcmalloc接口回收内存src/common/memory_profile.cpp
  • 支持loaddata语句,load的文件目前只能放在server端(相对于baikaldb的路径)
  • 一个表多机房时可以设置一个主机房(main_logical_room),leader总是在主机房内
  • 增加索引屏蔽概念,已屏蔽的索引不会被选择,在线索引操作调整:

    - drop index设置屏蔽状态,2天(table_tombstone_gc_time_s)后自动发起删除流程;目的是删错索引可以快速restore恢复,减少误操作影响
    - add index流程走完后,索引为屏蔽状态,需要二次确认restore;防止流程走完后,索引影响老业务,并且无人关注到
   - 屏蔽状态的索引转为正常索引:alter table xxx restore index idx

Bug Fixes:

  • 修复meta双buf问题
  • 修复多次删除创建同名后restore恢复表不一致问题
  • 单语句事务可能会导致raft卡住的bug修复
  • 修复之前GetApproximateSizes不准的bug
  • 修复一些可能的内存泄露问题
  • 修复只读事务bug,优化部分流程
  • prepare insert current time default value
  • fix count(*) return NULL expected 0 when filter expr is always false
  • ignore non-json format comment for sql string
  • update last_insert_id when client set the value

Performance Improvements:

  • 主表、索引覆盖、全局索引seek优化,去除table_record到mem_row的转化
  • 通过plan复用优化select prepare stmt性能
  • 提升cstore扫描性能
  • 降低qos,memlimit的开销
  • 增加了推荐的conf配置

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

群智能算法及其应用

群智能算法及其应用

高尚 / 中国水利水电出版社 / 2006-5 / 25.00元

《群智能算法及其应用》系统地描述了蚁群算法和粒子群优化算法的理论和实现技术及其应用,简单地介绍了鱼群算法。《群智能算法及其应用》着重强调各种算法的混合,讨论了蚁群算法与模拟退火算法的混合、蚁群算法与遗传算法的混合、蚁群算法与混沌理论混合、模拟退火算法、遗传算法与粒子群优化算法混合、混沌理论与粒子群优化算法的混合以及蚁群算法与粒子群优化算法的混合。书中还讨论了群智能算法在旅行商问题、武器一目标分配问......一起来看看 《群智能算法及其应用》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换