BaikalDB 2.0.0 版本发布
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配置
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Dva 源码解析
参考:Dva 源码解析 Dva 源码解析 隐藏在 package.json 里的秘密 随便哪个 dva 的项目,只要敲入 npm start 就可以运行启动。之前敲了无数次我都没有在意,直到我准备研究源码的时候才意识到:在敲下这行命令的时候,到底发生了什么呢? 答案要去 package.json 里去寻找。 有位技术大牛曾经说过:看源码之前,先去看 package.json 。看看项目的入口文件,翻翻它用了哪些依赖,对项目便有了大致的概念。 package.json 里是这么写的: "scripts": { "start": "roadhog server" }, 翻翻依赖,"roadhog": "^0.5.2"。 既然能在 devDependencies 找到,那么肯定也能在npm上找到。原来是个和 webpack 相似的库, 如果说 dva 是亲女儿,那roadhog就是亲哥哥了,起的是 webpack 自动打包和热更替的作用。 在 roadhog 的默认配置里有这么一条信息: { "entry": "src/index.js", } 后转了一圈,启动的入口回到了src/index...
- 下一篇
酷瓜云课堂 v1.3.5 发布,开源网校,可免费商用
v1.3.5(2021-05-20) 更新内容 更新演示数据 优化安装脚本install.sh 升级脚本upgrade.sh中加入更新导航缓存 撰写文章和提问markdown编辑器通栏显示 完善文章和问题的浏览权限 优化通用ajax表单提交 文章,提问,回答点赞作者有提醒和积分奖励 前台增加针对回答的预览访问地址 前台增加文章,问题,回答,评论加入举报功能 后台增加文章,问题,回答,评论的举报审核功能 后台首页增加审核队列统计 项目介绍 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,GPL-2.0开源协议,致力开源网课系统,开源网校系统,开源在线教育系统。 系统功能 实现了点播、直播、专栏、面授、会员、群组、积分、秒杀等,100%真开源在线教育解决方案,可以免费商用。 托管仓库 gitee仓库 github仓库 意见反馈 在线反馈(推荐) 官方论坛(推荐) 开源助力 毫无保留的真开源不容易,如果对你有帮助,请给我们STAR!!!
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- 2048小游戏-低调大师作品
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作