共计 2067 个字符,预计需要花费 6 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 SOAR 怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
下载安装
SOAR 使用 Go 语言编写,天然具备操作系统跨平台属性,您可以在 Github 上的 Release 版本按照对应操作系统直接下载编译好的二进制文件使用。如果您是资深定制用户也可以参见左下方“阅读原文”下载代码,按下图所示编译安装。
二进制安装
源码安装
使用指南
快速上手
安装完成之后无需进行任何配置,只需要执行下面这条命令,就可以立刻生成一份 Markdown 格式的 SQL 评审报告,根据报告中的建议对 SQL 进行修改。
使用配置
SOAR 提供了丰富的配置参数,可以根据不同的使用场景指定不同的配置项来定制私有的评审建议。不过您也无须担心这些配置会对使用带来困扰,大部分配置选项是为有特殊需求用户准备的,即使不做任何配置也能够体验到 SOAR 的基础的功能。
SOAR 的配置文件为 YAML[1]格式,在一般情况下只需要配置 online-dsn, test-dsn, log-output 等少数几个参数,您就可以体验到 SOAR 提供的绝大部分的功能了。
下面我将介绍一下 SOAR 中常用的一些基础配置。
配置环境
由于很多的功能需要数据库的元数据来进行辅助判断,所以当不指定数据库环境的时候,很多功能将会采取降级的策略,所以我们强烈建议您在配置文件中指定相关数据库环境。为了保护线上数据库的安全,我们将数据库环境区分为线上和测试两种环境,但是这并不意味着您一定需要两个数据库环境,但至少建议您指定一个测试环境。
这里需要注意的是,因为我们会在测试环境中做一些风险相对较高的操作,为了防止用户由于配置疏忽导致线上数据受损,我们添加了 allow-online-as-test 参数来保证您确实是希望将线上环境做为测试环境来使用。所以当您指定的两个集成环境相同时,请指定 allow-online-as-test 为 true,否则 SOAR 将不会进行评审。
输出格式
SOAR 自身支持了非常丰富的输出格式,除了默认的 Markdown 格式以外,SOAR 还支持以 HTML 或 JSON 的格式进行输出。
SOAR 自带的一些工具也会以 report-type 的形式提供。比如 SQL 重写,EXPLAIN 分析,SQL 指纹,SQL 美化等 15 种输出格式,每一种 report-type 都对应着不同的功能。你可以通过如下命令查看 SOAR 支持的输出类型。
获取帮助
除了上述提到的这些功能,SOAR 还提供了很多其他的配置项,由于篇幅所限,具体详情您可以到 SOAR 项目文档中查看。使用上如果碰到疑问,可以到这里 [2] 提交 Issue,或在 Gitter[3]中联系我们。
场景介绍
场景线上环境测试环境应用类型场景一有有日常优化,完整的建议,推荐场景二无有新申请资源,环境初始化测试场景三无无盲测,试用,无 EXPLAN 和索引建议场景四有无用线上环境当测试环境,不推荐场景一
这个场景是我们日常工作中最常见的场景,它主要应用于线上服务日常创建表或表结构表更。
SOAR 对 SQL 进行分析时,会先从 SQL 语句中获取基本信息,然后将所有涉及到的库表结构元数据从线上环境中获取,并同步到测试环境中进行更进一步的分析。在这个场景下,SOAR 能提供最全面的功能支持。不仅能够输出 110 多项 SQL 检查,还能够对涉及到的库表进行索引分析,而且还可以输出 EXPLAIN、PROFILE 等信息来辅助 DBA 或开发者进行性能调优和问题定位。SQL 改写也会依赖元数据的支持,在此场景下的功能是支持的最全面的。
场景二
这个场景适用于首次申请数据库资源的情况,此时还没有已经存在的线上环境与之相对应。
在这个场景下,SQL 文件主要包含的是建库建表语句,SOAR 会根据 DDL 生成相应的测试环境,并从该环境中获取元数据进行优化分析。
场景三
在这一场景下由于没有配置线上环境和测试环境依赖,缺少很多分析时必要的元数据,且无法获取 EXPLAIN 等信息,在这种情况下 SOAR 将会进行功能降级,只给予部分不依赖数据库环境才能给出的建议(绝大部分的启发式建议和小部分 SQL 改写)。
虽然在这个场景下服务的功能并不全面,但执行速度也是最快的,这种场景依然能提供 110 多种启发式建议,特别适合于对 SQL 本身的检测,比如作为一个本地化的 SQL Linter IDE 插件。
场景四
这一场景其实与场景二是一样的,在这一场景下只配置了线上环境,且开启了允许线上环境作为测试环境。那么在不指定测试环境的情况下 SOAR 将会把测试环境也指向线上环境。
SOAR 在进行评审时,为了保证多个客户端能够同时在一个环境内进行评审,会在测试环境中生成一个临时数据库,评审正常结束后再将该临时数据库删除。所以我们非常不建议将线上数据库环境做为测试环境,防止在某些未知的极端条件下对数据库产生严重影响。
以上是“SOAR 怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!