金沙城中心赌场 ,近日,小米正式宣布开源 SOAR。

本文出自头条号老王谈运维,转载请说明出处。

截至今日,该项目已经获得了 350 个「star」以及 44
个「fork」(GitHub项目地址:

作为一名优秀的DBA或系统管理员,工作总是充满各种“艰辛”!

SOAR 简介

金沙城中心赌场 1

SOAR,即 SQL Optimizer And Rewriter,是一款 SQL
智能优化与改写工具,由小米运维 DBA 团队出品

你在工作中是否遇到过这样的情况:有一个慢SQL需要优化,但是通过分析执行计划又没有找到好的优化思路,或者优化之后效果不明显,没有达到自己理想的预期…不知道如何是好!

SOAR 体系架构

好想有个小工具可以帮助我找到慢SQL~

SOAR主要由语法解析器,集成环境,优化建议,重写逻辑,工具集五大模块组成。

众里寻它千百度,它在Github海洋最深处!

语法解析和语法检查

今天老王就给大家推荐一个实用的工具,不仅能帮助你 rewrite
SQL并且能给出一些优化的建议。

一条SQL从文件,标准输入或命令行参数等形式传递给SOAR后首先进入语法解析器,选用了vitess的语法解析库作为SOAR的语法解析库,但随时需求的不断增加我们发现有些复杂需求使用vitess的语法解析实现起来比较逻辑比较复杂。于是参考业办其他数据库产品,于是引入了TiDB的语法解析器做为补充。后来发现这两个解析库还存在一定的盲区,于是又引入了MySQL执行返回结果作为多多版本SQL方言的补充。大家也可以看到在语法解析器这里,SOAR的实现方案是松散的、可插拔的。SOAR并不直接维护庞大的语法解析库,它把各种优秀的语法解析库集成在一起,各取所长。

金沙城中心赌场 2

集成环境

SOAR,即 SQL Optimizer And Rewriter,是一款 SQL
智能优化与改写工具,由小米运维 DBA 团队出品,SOAR
主要由语法解析器、集成环境、优化建议、重写逻辑、工具集五大模块组成,相比业内其他优秀产品有自己的优势。

集成环境区分线上环境和测试环境两种,分别用于解决不同场景下用户的SQL优化需求。一种常见的情况是已有表结构需要优化查询SQL的场景,可以从线上环境导出表结构和足够的采样数据到测试环境,在测试环境上就可以放心的执行各种高危操作而不用担心数据被损坏。另一种常见的情况是建一套全新的数据库,需要验证提供的数据字典中是否存在优化的可能。对于这种情况,很有可能你不需要知道线上环境在哪儿,完全只是想先试试看,如果报错了马上改对就是了。当然还有更多种组合的场景需求,将在集成环境一单分类说明。

金沙城中心赌场 3

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图