五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

TaurusDB并行查詢

TaurusDB并行查詢(PQ)

云數(shù)據(jù)庫TaurusDB支持了并行執(zhí)行的查詢方式,用以降低分析型查詢場景的處理時(shí)間,滿足企業(yè)級(jí)應(yīng)用對(duì)查詢低時(shí)延的要求。并行查詢的基本實(shí)現(xiàn)原理是將查詢?nèi)蝿?wù)進(jìn)行切分并分發(fā)到多個(gè)CPU核上進(jìn)行計(jì)算,充分利用cpu的多核計(jì)算資源來縮短查詢時(shí)間。并行查詢的性能提升倍數(shù)理論上與CPU的核數(shù)正相關(guān),也就是說并行度越高能夠使用的CPU核數(shù)就越多,性能提升的倍數(shù)也就越高。

下圖是使用CPU多核資源并行計(jì)算一個(gè)表的count(*)過程的基本原理:表數(shù)據(jù)進(jìn)行切塊后分發(fā)給多個(gè)核進(jìn)行并行計(jì)算,每個(gè)核計(jì)算部分?jǐn)?shù)據(jù)得到一個(gè)中間count(*)結(jié)果,并在最后階段將所有中間結(jié)果進(jìn)行聚合得到最終結(jié)果。具體如下:


前提條件

云數(shù)據(jù)庫TaurusDB的引擎版本為MySQL 8.0.22及以上。

應(yīng)用場景

并行查詢適用于大部分SELECT語句,例如大表查詢、多表連接查詢、計(jì)算量較大的查詢。對(duì)于非常短的查詢,效果不太顯著。

輕分析類業(yè)務(wù)

報(bào)表查詢通常SQL復(fù)雜而且比較耗費(fèi)時(shí)間,通過并行查詢可以加速單次查詢效率。

系統(tǒng)資源相對(duì)空閑

并行查詢會(huì)使用更多的系統(tǒng)資源,只有當(dāng)系統(tǒng)的CPU較多、IO負(fù)載不高、內(nèi)存夠大的時(shí)候,才可以充分使用并行查詢來提高資源利用率和查詢效率。

數(shù)據(jù)頻繁查詢

針對(duì)數(shù)據(jù)密集型查詢,通過并行查詢,可以提高查詢處理執(zhí)行效率,減少網(wǎng)絡(luò)流量和計(jì)算節(jié)點(diǎn)的壓力。

說明:并行查詢特性當(dāng)前處于公測階段,建議在測試環(huán)境使用。

TaurusDB并行查詢特性支持場景

并行查詢支持場景

并行查詢支持以下場景:

1、支持全表掃描、索引掃描、索引范圍掃描、索引逆序掃描、索引點(diǎn)查詢、索引下推等。

2、支持單表查詢、多表JOIN、視圖view、子查詢,部分CTE查詢等。

3、支持多種JOIN算法,包括:BNL Join、BKA Join、HASH Join、Nested loop Join、Semi Join、Anti Join、outer Join等。

4、支持多種子查詢,包括:條件子查詢、scalar子查詢、部分關(guān)聯(lián)子查詢、非關(guān)聯(lián)子查詢、derived table等。

5、支持多種數(shù)據(jù)類型,包括:整型數(shù)據(jù)、字符型數(shù)據(jù)、浮點(diǎn)型數(shù)據(jù)、時(shí)間型數(shù)據(jù)等。

6、支持算術(shù)表達(dá)式計(jì)算(+、-、*、%、/、|、&),條件表達(dá)式運(yùn)算(<、<=、>、>=、<>、between/and、In等),邏輯運(yùn)算(or、and、not等),一般函數(shù)(字符函數(shù)、整型函數(shù)、時(shí)間函數(shù)等),聚合函數(shù)(count/sum/avg/min/max)等等。

說明:count聚合函數(shù)需關(guān)閉innodb_parallel_select_count才能并行執(zhí)行。

7、支持非分區(qū)表查詢、分區(qū)表單分區(qū)查詢。

8、支持排序order by、分組group by/distinct、分頁limit/offset、過濾where/having、列投影等。

9、支持UNION/UNION ALL查詢。

10、支持Explain查看并行執(zhí)行計(jì)劃多種方式,包括傳統(tǒng)Explain、Explain format=tree、Explain format=json等。

TaurusDB開啟/關(guān)閉并行查詢

方法一:通過設(shè)置系統(tǒng)參數(shù)開啟/關(guān)閉并行查詢

在管理控制臺(tái)的參數(shù)修改頁面,通過設(shè)置系統(tǒng)參數(shù),開啟和關(guān)閉并行查詢,并設(shè)置并行度。

通過全局參數(shù)force_parallel_execute來控制是否強(qiáng)制啟用并行執(zhí)行;

使用全局參數(shù)parallel_default_dop來控制使用多少線程并行執(zhí)行;

使用全局參數(shù)parallel_cost_threshold來控制當(dāng)執(zhí)行代價(jià)為多大時(shí),開啟并行執(zhí)行。

上述參數(shù)在使用過程中,隨時(shí)可以修改,無需重啟數(shù)據(jù)庫。

例如,想要強(qiáng)制開啟并行執(zhí)行,并且并發(fā)度為4,最小執(zhí)行代價(jià)為0,可參照如下進(jìn)行設(shè)置:

SET force_parallel_execute=ON

SET parallel_default_dop=4

SET parallel_cost_threshold=0

方法二:使用hint開閉/關(guān)閉并行查詢

使用hint語法可以控制單個(gè)語句是否進(jìn)行并行執(zhí)行。在系統(tǒng)默認(rèn)關(guān)閉并行執(zhí)行的情況下, 可以使用hint對(duì)特定的SQL進(jìn)行開啟。反之,也可以禁止某條SQL進(jìn)行并行執(zhí)行。

開啟并行執(zhí)行:采用下面的hint語法可以開啟并行執(zhí)行。

采用默認(rèn)的參數(shù)配置:SELECT /*+ PQ() */ … FROM …

采用默認(rèn)的參數(shù)配置,同時(shí)指定并發(fā)度為8:SELECT /*+ PQ(8) */ … FROM …

采用默認(rèn)的參數(shù)配置,同時(shí)指定并行表為t1:SELECT /*+ PQ(t1) */ … FROM …

采用默認(rèn)的參數(shù)配置,同時(shí)指定并行表為t1,并發(fā)度為8:SELECT /*+ PQ(t1 8) */ … FROM …

說明:并行查詢PQ hint緊跟著SELECT關(guān)鍵字才能生效。PQ hint的并發(fā)度參數(shù)dop正常取值范圍[1, min(parallel_max_threads, 1024)]。

dop超出正常取值范圍時(shí),并行查詢PQ不生效。

關(guān)閉并行執(zhí)行:當(dāng)并行查詢開啟時(shí),可使用"NO_PQ"的hint語法關(guān)閉單條SQL的并行執(zhí)行。

SELECT /*+ NO_PQ */ … FROM …

TaurusDB常見問題解答

云數(shù)據(jù)庫TaurusDB常見問題解答

  • TaurusDB算子下推特性是什么?

    NDP(Near Data Processing)是云數(shù)據(jù)庫TaurusDB發(fā)布的旨在提高數(shù)據(jù)查詢效率的計(jì)算下推的解決方案。針對(duì)數(shù)據(jù)密集型查詢,將提取列、聚合運(yùn)算、條件過濾等操作從計(jì)算節(jié)點(diǎn)向下推送給TaurusDB的分布式存儲(chǔ)層的多個(gè)節(jié)點(diǎn),并行執(zhí)行。通過計(jì)算下推方法,提升了并行處理能力,減少網(wǎng)絡(luò)流量和計(jì)算節(jié)點(diǎn)的壓力,提高了查詢處理執(zhí)行效率。

    架構(gòu)

    云數(shù)據(jù)庫TaurusDB采用計(jì)算與存儲(chǔ)分離的架構(gòu),以減少網(wǎng)絡(luò)流量為主要架構(gòu)準(zhǔn)則,通過NDP設(shè)計(jì)將該準(zhǔn)則應(yīng)用到查詢操作。沒有NDP之前,查詢處理需要將原始數(shù)據(jù)從存儲(chǔ)節(jié)點(diǎn)全部傳輸?shù)接?jì)算節(jié)點(diǎn)。通過NDP設(shè)計(jì),查詢中的I/O密集型和CPU密集型的大部分工作被下推到存儲(chǔ)節(jié)點(diǎn)完成,僅將所需列及篩選后的行或聚合后的結(jié)果值回傳給計(jì)算節(jié)點(diǎn),使網(wǎng)絡(luò)流量大幅減少。同時(shí)跨存儲(chǔ)節(jié)點(diǎn)并行處理,使計(jì)算節(jié)點(diǎn)CPU使用率下降,提升了查詢效率性能。

    另外,NDP框架同TaurusDB并行查詢進(jìn)行融合,并進(jìn)行了頁面批量預(yù)取的設(shè)計(jì),達(dá)成執(zhí)行全流程并行,進(jìn)一步提升查詢執(zhí)行效率。

    概念

    功能上,查詢業(yè)務(wù)能進(jìn)行下推的場景包主要包括三大類:Projection、Aggregate、Select。

    1、Projection

    列裁剪,只有查詢語句所需相關(guān)字段內(nèi)容才會(huì)被發(fā)送到計(jì)算節(jié)點(diǎn)。

    2、Aggregate

    典型的聚合操作包括:count、sum、avg、max、min、group by,只發(fā)送聚合結(jié)果(而不是所有元組)到查詢引擎,count (*)是一個(gè)最常見的場景。

    3、Select - where子句過濾

    常見的條件表達(dá)式:Compare(>=,<=,<,>,==)、Between、In、And/Or,like。

    將過濾表達(dá)式下推送到存儲(chǔ)節(jié)點(diǎn),只有滿足條件的行才會(huì)發(fā)送到計(jì)算節(jié)點(diǎn)。

    支持范圍

    1、當(dāng)前支持對(duì)InnoDB表進(jìn)行計(jì)算下推。

    2、當(dāng)前支持對(duì)COMPACT或DYNAMIC行格式的表進(jìn)行計(jì)算下推。

    3、當(dāng)前支持對(duì)Primary Key或BTREE Index進(jìn)行計(jì)算下推,HASH Index或Full-Text Index不支持計(jì)算下推。

    4、當(dāng)前只支持SELECT查詢操作進(jìn)行計(jì)算下推,其他DML語句不支持計(jì)算下推,INSERT INTO SELECT也不支持計(jì)算下推;SELECT 加鎖查詢(如 SELECT FOR SHARE/UPDATE)不支持計(jì)算下推。

    5、表達(dá)式下推支持?jǐn)?shù)值類型、日志和時(shí)間類型和部分字符串類型(CHAR, VARCHAR),支持utf8mb4, utf8字符集。

    6、表達(dá)式下推謂詞支持比較運(yùn)算(<,>,=,<=,>=,!=), IN, NOT IN, LIKE, NOT LIKE, BETWEEN AND, AND/OR等操作符。

  • 主機(jī)或只讀節(jié)點(diǎn)偶現(xiàn)磁盤占用高,如何處理?

    原因分析

    MySQL內(nèi)部在執(zhí)行復(fù)雜SQL時(shí),會(huì)借助臨時(shí)表進(jìn)行分組(group by)、排序(order by)、去重(distinct)、Union等操作,當(dāng)內(nèi)存空間不夠時(shí),便會(huì)使用磁盤空間。

    排查思路

    1.因?yàn)槠渌蛔x節(jié)點(diǎn)磁盤占用空間正常,且是偶爾出現(xiàn),說明該實(shí)例磁盤占用高,與承載的業(yè)務(wù)相關(guān)。

    2.獲取該實(shí)例的慢日志,分析磁盤占用高期間,是否有對(duì)應(yīng)的慢SQL。

    3.如果有慢SQL,執(zhí)行explain [慢SQL語句],分析相應(yīng)慢SQL語句。

    4.觀察explain語句輸出的extra列,是否有using temporary、using filesort,如果有,說明該語句用到了臨時(shí)表或臨時(shí)文件,數(shù)據(jù)量大的情況下,會(huì)導(dǎo)致磁盤占用高。

    解決方案

    1.復(fù)雜查詢語句導(dǎo)致磁盤打滿,建議客戶從業(yè)務(wù)側(cè)優(yōu)化響應(yīng)查詢語句,常見優(yōu)化措施:

    ?加上合適的索引。

    ?在where條件中過濾更多的數(shù)據(jù)。

    ?重寫SQL,優(yōu)化執(zhí)行計(jì)劃。

    ?如果不得不使用臨時(shí)表,那么一定要減少并發(fā)度。

    2.臨時(shí)規(guī)避措施:考慮業(yè)務(wù)側(cè)優(yōu)化復(fù)雜查詢語句需要一定時(shí)間,可以通過臨時(shí)擴(kuò)容磁盤空間規(guī)避。

  • 如何查看TaurusDB的存儲(chǔ)容量

    TaurusDB是存儲(chǔ)計(jì)算分離架構(gòu),數(shù)據(jù)存儲(chǔ)在共享存儲(chǔ)系統(tǒng)中,共享存儲(chǔ)容量可以通過管理控制臺(tái)看到,詳情請參考如下步驟操作,數(shù)據(jù)每30分鐘更新一次。

    步驟 1登錄管理控制臺(tái)。

    步驟 2單擊管理控制臺(tái)左上角的,選擇區(qū)域和項(xiàng)目。

    步驟 3在頁面左上角單擊,選擇“數(shù)據(jù)庫 > 云數(shù)據(jù)庫 TaurusDB”。

    步驟 4在實(shí)例列表中,單擊目標(biāo)實(shí)例名稱,進(jìn)入實(shí)例的“基本信息”頁面。

    步驟 5在基本信息頁面的“存儲(chǔ)“存儲(chǔ)/備份空間”模塊可以看到當(dāng)前實(shí)例占用的共享存儲(chǔ)容量。

    說明:TaurusDB存儲(chǔ)容量的計(jì)算與傳統(tǒng)MySQL有一定的區(qū)別,與傳統(tǒng)MySQL使用(數(shù)據(jù)大小+索引大小+空閑空間)計(jì)算的容量數(shù)據(jù)會(huì)有一定的差別。

    如果要查詢精確的存儲(chǔ)使用量,可以使用管理控制臺(tái)查詢或者連接TaurusDB數(shù)據(jù)庫后,執(zhí)行show spaceusage;命令查看當(dāng)前數(shù)據(jù)使用的存儲(chǔ)容量,該值為精確值,非估算值。

    共享存儲(chǔ)

    ?顯示的使用狀況就是該實(shí)例購買的包周期的共享存儲(chǔ)容量及目前數(shù)據(jù)已占用的容量。

    ?如果已使用空間超過購買的共享存儲(chǔ)容量,TaurusDB會(huì)自動(dòng)擴(kuò)容,無需擔(dān)心磁盤滿帶來的業(yè)務(wù)問題。

    ?自動(dòng)擴(kuò)容的空間會(huì)按照按需使用的收費(fèi)標(biāo)準(zhǔn)收取,建議超出后使用磁盤容量變更功能擴(kuò)展包周期的存儲(chǔ)容量。

    備份空間:

    系統(tǒng)會(huì)贈(zèng)送一份與包周期或按需存儲(chǔ)容量相同大小的備份空間。

    ----結(jié)束

專題內(nèi)容推薦

活動(dòng)規(guī)則

活動(dòng)對(duì)象:華為云電銷客戶及渠道伙伴客戶可參與消費(fèi)滿送活動(dòng),其他客戶參與前請咨詢客戶經(jīng)理

活動(dòng)時(shí)間: 2020年8月12日-2020年9月11日

活動(dòng)期間,華為云用戶通過活動(dòng)頁面購買云服務(wù),或使用上云禮包優(yōu)惠券在華為云官網(wǎng)新購云服務(wù),累計(jì)新購實(shí)付付費(fèi)金額達(dá)到一定額度,可兌換相應(yīng)的實(shí)物禮品?;顒?dòng)優(yōu)惠券可在本活動(dòng)頁面中“上云禮包”等方式獲取,在華為云官網(wǎng)直接購買(未使用年中云鉅惠活動(dòng)優(yōu)惠券)或參與其他活動(dòng)的訂單付費(fèi)金額不計(jì)入統(tǒng)計(jì)范圍內(nèi);

  • 云數(shù)據(jù)庫TaurusDB與RDS for MySQL的區(qū)別

    查看詳情
  • 云數(shù)據(jù)庫 TaurusDB與華為云其他服務(wù)的關(guān)系

    查看詳情
  • 云數(shù)據(jù)庫 RDS for MySQL與其他產(chǎn)品的關(guān)系

    查看詳情
  • 云數(shù)據(jù)庫 RDS 的實(shí)例類型有哪些

    查看詳情
  • 免費(fèi)mysql云數(shù)據(jù)庫領(lǐng)取

    查看詳情
  • 什么是數(shù)據(jù)庫_常見數(shù)據(jù)庫

    查看詳情
  • 免費(fèi)的云數(shù)據(jù)庫領(lǐng)取

    查看詳情
  • 數(shù)據(jù)庫有哪些

    查看詳情
  • 云數(shù)據(jù)庫和普通數(shù)據(jù)庫

    查看詳情
  • 云數(shù)據(jù)庫 RDS for MySQL常見故障排除

    查看詳情
  • 云數(shù)據(jù)庫RDS for MySQL數(shù)據(jù)備份

    查看詳情
  • 連接云數(shù)據(jù)庫GaussDB的幾種方式

    查看詳情
  • 免費(fèi)數(shù)據(jù)庫有哪些

    查看詳情
  • 什么是免費(fèi)數(shù)據(jù)庫 GaussDB NoSQL

    查看詳情
  • 云數(shù)據(jù)庫 TaurusDB

    查看詳情
  • 華為云分布式關(guān)系型數(shù)據(jù)庫是什么

    查看詳情