日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

行列路由機制

本文為您介紹如何通過行列路由機制,分流業(yè)務中同時存在的OLTP類業(yè)務和OLAP類業(yè)務。

背景信息

PolarDB-X有以下三種類型實例:

  • 主實例:主要用于承擔事務處理(TP)類流量,默認訪問行存數(shù)據(jù),并對外提供集群地址。該地址不僅支持事務處理流量的讀寫分離配置,還支持將分析處理(AP)流量轉(zhuǎn)發(fā)給列存只讀實例和普通的只讀實例。

  • 只讀實例:主要用于承擔事務處理(TP)類的讀流量,默認訪問行存數(shù)據(jù),并與主實例物理隔離(可對外單獨提供連接地址)。常用于應用程序自身的讀寫分離配置或ETL(提取、轉(zhuǎn)換、加載)場景。

  • 列存只讀實例:主要用于承擔分析處理(AP)類的讀流量,只允許訪問列存數(shù)據(jù),并與主實例物理隔離(可對外單獨提供連接地址)。常用于業(yè)務中有數(shù)據(jù)分析的場景。

說明
  • 因為行存數(shù)據(jù)向列存數(shù)據(jù)同步存在秒級延遲,所以為了避免主實例讀取數(shù)據(jù)時出現(xiàn)不一致的問題,默認情況下,主實例和只讀實例都只允許訪問行存數(shù)據(jù)。

  • 在SQL語句前添加如下前綴代碼,可以將該SQL路由到列存只讀實例執(zhí)行:

    /*+TDDL: worload_type=ap enable_columnar_optimizer=true*/

主實例和列存只讀實例并存的路由機制

混合負載場景

如果您的業(yè)務中,OLAP類型和OLTP類型的SQL只能使用同一個連接訪問數(shù)據(jù)庫,這種情況下您可以直接使用主實例提供的集群地址來訪問數(shù)據(jù)庫。系統(tǒng)會按照SQL的掃描代價自動路由 ,將OLAP流量自動路由給列存只讀實例執(zhí)行,而OLTP流量則繼續(xù)在主實例上執(zhí)行。

image
說明

自動路由規(guī)則:

  • 掃描代價的預估值高于閾值的讀流量,會被判定為AP流量,SQL將會被自動路由至列存只讀實例執(zhí)行。

  • 掃描代價的預估值低于閾值的讀流量、事務內(nèi)的讀流量和寫入流量都會被判定為TP流量,SQL將會被自動路由到主實例執(zhí)行。

  • 如果一個主實例有多個列存只讀實例,系統(tǒng)會自動采用大規(guī)模多級并行處理(Massively Parallel Processing,MPP)調(diào)度執(zhí)行。

自動路由配置步驟:

  1. 登錄PolarDB分布式版控制臺

  2. 在頁面左上角選擇目標實例所在地域。

  3. 實例列表頁,單擊PolarDB-X 2.0頁簽。

  4. 單擊目標主實例ID,進入基本信息頁面。

  5. 連接信息區(qū)域,單擊配置管理

    image

  6. 配置管理對話框中執(zhí)行以下操作:

    1. 資源配置區(qū)域的可選實例列表中,選擇目標列存只讀實例顯示在已選實例列表中。

    2. 列存只讀配置設置區(qū)域,單擊開啟,再單擊確定

    image

重要

列存只讀實例和主實例的數(shù)據(jù)同步存在秒級延遲,如果對主實例和列存只讀實例的數(shù)據(jù)有一致性要求,不建議您采用自動路由機制。

負載分離場景

如果您的業(yè)務中,OLAP類型與OLTP類型的業(yè)務基于不同的應用程序訪問數(shù)據(jù)庫,則可以分別為應用程序配置不同的連接地址,將OLTP業(yè)務連接到集群地址,而OLAP業(yè)務程序連接到列存只讀實例的地址,從而實現(xiàn)主實例和列存只讀實例的分流。

image

主實例和只讀實例并存的路由機制

透明讀寫分離

PolarDB-X提供了透明的強一致讀寫分離能力。該方案的最大優(yōu)勢是應用不需要改動代碼,只需要連接主實例的集群地址,系統(tǒng)會自動將一定比例(比例可配置)的讀流量路由到只讀實例。

image

透明讀寫分離配置步驟:

  1. 登錄PolarDB分布式版控制臺

  2. 在頁面左上角選擇目標實例所在地域。

  3. 實例列表頁,單擊PolarDB-X 2.0頁簽。

  4. 單擊目標主實例ID,進入基本信息頁面。

  5. 連接信息區(qū)域,單擊配置管理

    image

  6. 配置管理對話框中執(zhí)行如下操作:

    1. 資源配置區(qū)域的可選實例列表中,選擇目標行存只讀實例顯示在已選實例列表中。

    2. 行存只讀配置設置區(qū)域按需設置。

      配置項說明:

      配置項

      選項

      說明

      強一致性讀

      強一致性

      路由到只讀DN的請求可以讀取到最新數(shù)據(jù)。只讀DN延遲超過閾值后,系統(tǒng)會自動將業(yè)務請求路由到其他延遲正常的只讀DN(如果有)或主實例(需設置只讀流量切回主實例選項為開啟)。

      弱一致性

      路由到只讀DN的請求只能讀取到只讀DN的最新數(shù)據(jù)。

      開啟MPP查詢加速

      開啟/關閉

      基于統(tǒng)計信息做代價估算,將AP類的復雜查詢路由到只讀實例(CN+DN)做MPP加速。

      讀寫分離

      路由到只讀實例流量的占比

      將原先路由給主實例DN的下推查詢按一定的比例路由到只讀DN。

      只讀實例延遲閾值(s)

      只讀DN延遲超過閾值后,系統(tǒng)會自動將業(yè)務請求路由到其他延遲正常的只讀DN上或主實例(需設置只讀流量切回主實例選項為開啟)。

      只讀流量切回主實例

      開啟狀態(tài)時,只讀DN延遲超過閾值,只讀流量會切回到主實例。

    image

  7. 單擊確定

手動讀寫分離

如果您的業(yè)務中希望在應用側(cè)實現(xiàn)讀寫分離,可以使用不同的連接地址,寫操作配置主實例的連接地址,讀操作配置只讀實例的連接地址。這種方案的最大特點是讀寫流量相互隔離,彼此不受影響。

image

單主實例的路由機制

在只有主實例的情況下,應用默認只能訪問行存數(shù)據(jù)。

image

常見問題

  1. 購買主實例和列存只讀實例后,怎么使用列存加速查詢?

    答:一般有兩種方式來使用列存只讀實例:

    • 連接列存只讀實例的地址,可以直接訪問列存數(shù)據(jù)。這種方式適用于明確知道哪些查詢適合在列存上執(zhí)行的情況。具體操作,請參見負載分離場景

    • 連接主實例的連接地址。在這種情況下,數(shù)據(jù)庫內(nèi)部會基于查詢代價自動將復雜查詢路由到列存只讀實例執(zhí)行。這種方式更適合混合負載場景,無需手動區(qū)分查詢類型。具體操作,請參見混合負載場景

  2. 掃描代價基于統(tǒng)計信息的計算方式是否會出現(xiàn)誤判,導致查詢沒有按預想路由到列存只讀實例?

    答:因為目前統(tǒng)計信息是定時采集,所以會存在統(tǒng)計信息滯后,導致掃描代價計算不準,導致查詢的路由結(jié)果不符合預期。對于特別重要的復雜查詢,建議您對該SQL綁定列存HINT,這樣可以確保這些SQL一定會路由給列存只讀實例執(zhí)行。

  3. 怎么對特定的SQL綁定HINT列存,且不需要改動應用代碼?

    答:PolarDB-X提供了執(zhí)行計劃管理功能,對特定SQL執(zhí)行路由綁定操作,之后數(shù)據(jù)庫會自動將這類SQL路由到列存只讀實例執(zhí)行。

  4. 查詢在列存只讀實例執(zhí)行,相比主實例執(zhí)行,性能并沒有明顯提升,怎么解決?

    答:因為列存只讀實例執(zhí)行的一般是復雜查詢,該類查詢對實例的規(guī)格要求較高,所以建議您購買至少32C及以上規(guī)格的列存只讀實例(該實例性價比非常高)以獲得更好的性能。