您好,登錄后才能下訂單哦!
小編給大家分享一下SOAR怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
下載安裝
SOAR使用Go語言編寫,天然具備操作系統(tǒng)跨平臺屬性,您可以在Github上的Release版本按照對應(yīng)操作系統(tǒng)直接下載編譯好的二進(jìn)制文件使用。如果您是資深定制用戶也可以參見左下方“閱讀原文”下載代碼,按下圖所示編譯安裝。
二進(jìn)制安裝
源碼安裝
使用指南
快速上手
安裝完成之后無需進(jìn)行任何配置,只需要執(zhí)行下面這條命令,就可以立刻生成一份Markdown格式的SQL評審報告,根據(jù)報告中的建議對SQL進(jìn)行修改。
使用配置
SOAR提供了豐富的配置參數(shù),可以根據(jù)不同的使用場景指定不同的配置項來定制私有的評審建議。不過您也無須擔(dān)心這些配置會對使用帶來困擾,大部分配置選項是為有特殊需求用戶準(zhǔn)備的,即使不做任何配置也能夠體驗到SOAR的基礎(chǔ)的功能。
SOAR的配置文件為YAML[1]格式,在一般情況下只需要配置online-dsn, test-dsn, log-output等少數(shù)幾個參數(shù),您就可以體驗到SOAR提供的絕大部分的功能了。
下面我將介紹一下SOAR中常用的一些基礎(chǔ)配置。
配置環(huán)境
由于很多的功能需要數(shù)據(jù)庫的元數(shù)據(jù)來進(jìn)行輔助判斷,所以當(dāng)不指定數(shù)據(jù)庫環(huán)境的時候,很多功能將會采取降級的策略,所以我們強(qiáng)烈建議您在配置文件中指定相關(guān)數(shù)據(jù)庫環(huán)境。為了保護(hù)線上數(shù)據(jù)庫的安全,我們將數(shù)據(jù)庫環(huán)境區(qū)分為線上和測試兩種環(huán)境,但是這并不意味著您一定需要兩個數(shù)據(jù)庫環(huán)境,但至少建議您指定一個測試環(huán)境。
這里需要注意的是,因為我們會在測試環(huán)境中做一些風(fēng)險相對較高的操作,為了防止用戶由于配置疏忽導(dǎo)致線上數(shù)據(jù)受損,我們添加了allow-online-as-test參數(shù)來保證您確實是希望將線上環(huán)境做為測試環(huán)境來使用。所以當(dāng)您指定的兩個集成環(huán)境相同時,請指定allow-online-as-test為true,否則SOAR將不會進(jìn)行評審。
SOAR自身支持了非常豐富的輸出格式,除了默認(rèn)的Markdown格式以外,SOAR還支持以 HTML或JSON的格式進(jìn)行輸出。
SOAR自帶的一些工具也會以report-type的形式提供。比如SQL重寫,EXPLAIN分析,SQL 指紋,SQL美化等15種輸出格式,每一種report-type都對應(yīng)著不同的功能。你可以通過如下命令查看SOAR支持的輸出類型。
除了上述提到的這些功能,SOAR還提供了很多其他的配置項,由于篇幅所限,具體詳情您可以到SOAR項目文檔中查看。使用上如果碰到疑問,可以到這里[2]提交Issue,或在Gitter[3]中聯(lián)系我們。
場景介紹
場景 | 線上環(huán)境 | 測試環(huán)境 | 應(yīng)用類型 |
場景一 | 有 | 有 | 日常優(yōu)化,完整的建議,推薦 |
場景二 | 無 | 有 | 新申請資源,環(huán)境初始化測試 |
場景三 | 無 | 無 | 盲測,試用,無EXPLAN和索引建議 |
場景四 | 有 | 無 | 用線上環(huán)境當(dāng)測試環(huán)境,不推薦 |
這個場景是我們?nèi)粘9ぷ髦凶畛R姷膱鼍?,它主要?yīng)用于線上服務(wù)日常創(chuàng)建表或表結(jié)構(gòu)表更。
SOAR對SQL進(jìn)行分析時,會先從SQL語句中獲取基本信息,然后將所有涉及到的庫表結(jié)構(gòu)元數(shù)據(jù)從線上環(huán)境中獲取,并同步到測試環(huán)境中進(jìn)行更進(jìn)一步的分析。在這個場景下,SOAR能提供最全面的功能支持。不僅能夠輸出110多項SQL檢查,還能夠?qū)ι婕暗降膸毂磉M(jìn)行索引分析,而且還可以輸出EXPLAIN、PROFILE等信息來輔助DBA或開發(fā)者進(jìn)行性能調(diào)優(yōu)和問題定位。SQL改寫也會依賴元數(shù)據(jù)的支持,在此場景下的功能是支持的最全面的。
這個場景適用于首次申請數(shù)據(jù)庫資源的情況,此時還沒有已經(jīng)存在的線上環(huán)境與之相對應(yīng)。
在這個場景下,SQL文件主要包含的是建庫建表語句,SOAR會根據(jù)DDL生成相應(yīng)的測試環(huán)境,并從該環(huán)境中獲取元數(shù)據(jù)進(jìn)行優(yōu)化分析。
在這一場景下由于沒有配置線上環(huán)境和測試環(huán)境依賴,缺少很多分析時必要的元數(shù)據(jù),且無法獲取EXPLAIN等信息,在這種情況下SOAR將會進(jìn)行功能降級,只給予部分不依賴數(shù)據(jù)庫環(huán)境才能給出的建議(絕大部分的啟發(fā)式建議和小部分SQL改寫)。
雖然在這個場景下服務(wù)的功能并不全面,但執(zhí)行速度也是最快的,這種場景依然能提供110多種啟發(fā)式建議,特別適合于對SQL本身的檢測,比如作為一個本地化的SQL Linter IDE插件。
這一場景其實與場景二是一樣的,在這一場景下只配置了線上環(huán)境,且開啟了允許線上環(huán)境作為測試環(huán)境。那么在不指定測試環(huán)境的情況下SOAR將會把測試環(huán)境也指向線上環(huán)境。
SOAR在進(jìn)行評審時,為了保證多個客戶端能夠同時在一個環(huán)境內(nèi)進(jìn)行評審,會在測試環(huán)境中生成一個臨時數(shù)據(jù)庫,評審正常結(jié)束后再將該臨時數(shù)據(jù)庫刪除。所以我們非常不建議將線上數(shù)據(jù)庫環(huán)境做為測試環(huán)境,防止在某些未知的極端條件下對數(shù)據(jù)庫產(chǎn)生嚴(yán)重影響。
以上是“SOAR怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。