一个有明确服务定位的平台产品,一定不会只存在一个版本,适应新的使用需求,不断进行升级迭代,是数据类型平台产品的常规动作。
近期,翼支付自研的数据库产品YiDB全新升级到5.0版本。仅仅从技术层面来说,全新的YiDB 5.0还是有非常多的技术亮点可供介绍的。
此次版本迭代,YiDB 5.0主要从7个方面进行了提升,包括查询性能提升、估算准确度提升、GA(遗传算法)锁视图特性强化、限流功能和读写稳定性强化、流控机制更新、运维工具简化,以及数据共享实现本地化和开源环境部署。
在结构化查询语言SQL升级方面,YiDB 5.0将索引建立在表达式上,支持基于部分函数创建表达式索引查询,极大提升了查询性能。同时,YiDB 5.0还支持甲骨文关系数据库管理系统Oracle RDBMS中的translate函数,能够将字符串中出现的所有指定字符替换为其它字符,即便是空字符串也不会被视为“零值(NULL)”。
此外,升级后的SQL语言还支持将Spilling HashAgg(外溢哈希算子)写入磁盘。当包含HashAgg 算子的语句引起内存不足时,通过将算子并发度设置为“1”,触发落盘。
优化器升级,主要提升估算准确度和索引过滤规则两方面内容。估算准确度(Cardinality Estimation)提升,一是提升对TopN/Limit(算子) 估算的准确度,其次是提升对越界估算的准确度。通过引入变量,YiDB 5.0还可以控制优化器对TopN/Limit子句的下推,进而解决因估算误差,导致的下推停滞问题。
在优化器中,YiDB 5.0还新增了索引选择裁剪规则。在对统计信息进行对比前,优先依托全新规则,对可能的选择索引范围进一步缩小,提升最优索引选中概率。
YiDB 5.0还强化了GA遗传算法的锁视图(Lock View)特性,锁视图(Lock View)能够提供与悲观锁有关的锁冲突和锁等待更多信息,DBA(数据库管理员)可以直观监测到事务加锁情况、排查死锁问题。
具体来说,Lock View主要是通过五步来实现的,第一是在各张表的SQL Digest 列,额外增加一列显示对应归一化的 SQL 语句文本;第二是在集群中增加函数,用于查询一组 SQL Digest 所对应的语句归一化形式;第三是在系统表中,增加一列内容,专门显示key相关信息,简化定位和解读内容操作;第四是收集可重试的死锁错误信息,以此来排查相同死锁原因引发的问题;第五是将Normal 状态拆分成 Running 和 Idle 状态,区分正在执行查询的事务和闲置中的事务。
在稳定性提升方面,YiDB 5.0新增了TiFlash I/O 限流功能,能够有效防止“读/写”任务之间过度竞争系统 IO 资源,平衡系统对“读”和“写”任务的响应。
通过改善流控算法,解决在较大写入压力下引发的QPS(每秒查询率) 下降问题;在 TiKV scheduler 层进行流控,避免写速卡顿、选举超时导致发生节点 leader 迁移,上述做法提升了TiKV(分布式事务型键值数据库)的流控稳定性。
与此同时,YiDB 5.0还在TiKV中引入了慢节点检测机制,将计算出的TiKV Raftstore 快慢分数上报给PD总控节点,通过增加调度器功能,自动加速单个变慢的节点,同时增加慢节点报警,帮助用户快速发现处理问题。
在数据迁移升级方面,YiDB 5.0支持自定义CSV(字符分隔值)数据,兼容MySQL / LOAD / DATA / CSV等数据格式,能够自动连接上新的数据源实例,减少数据复制延迟和运维操作步骤,进一步简化Data Migration (一体化数据同步任务管理平台) 工具运维。
YiDB 5.0还支持数据共享订阅,增量数据同步工具TiCDC 支持 HTTP 协议,能够在Kubernetes开源环境和On-Premises 本地环境实现便捷部署运维。
在实际应用方面,YiDB 5.0具备更强大的OLTP金融级核心场景服务能力,在事务处理、高可用与容灾、安全合规等方面,新增多项企业级特性。产品通过引入MPP架构,实现对HTAP能力的整合,将企业实时、交互式商业智能需求变为现实,为高增长企业和数字化创新场景,提供一站式数据服务解决方案。
微信上的标签怎么删除微信好友删除标签的步骤是:1、打开位置,在【通讯录】页面,点击【标签】选项。2、选择并点击好友所在的标签。3、点击【删除标签】即可。微信(w