版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第6章openGauss體系架構(gòu)數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)openGauss體系架構(gòu)數(shù)據(jù)庫系統(tǒng)架構(gòu)openGauss體系架構(gòu)openGauss的功能架構(gòu)數(shù)據(jù)庫系統(tǒng)架構(gòu)基于openGauss的數(shù)據(jù)庫系統(tǒng)常見架構(gòu)主要包含了業(yè)務(wù)應(yīng)用、客戶端驅(qū)動程序、運行管理(OperationManager,OM)模塊、openGauss主/備數(shù)據(jù)節(jié)點(DataNode)和本地存貯資源(Storage)等幾部分。openGauss體系架構(gòu)openGauss的體系架構(gòu)主要是指數(shù)據(jù)節(jié)點的服務(wù)器架構(gòu),主要由服務(wù)器實例(Instance)、數(shù)據(jù)庫(Database)和相關(guān)配置文件、日志文件組成。openGauss體系架構(gòu)openGauss屬于單進(jìn)程多線程模型的數(shù)據(jù)庫,客戶端通過驅(qū)動程序向數(shù)據(jù)庫后端管理線程GaussMaster發(fā)起連接請求,連接成功后GaussMaster線程會分配相應(yīng)的gaussdb線程給客戶端使用,后面該客戶端的請求和操作由該業(yè)務(wù)處理子線程負(fù)責(zé)??蛻舳蓑?qū)動程序JDBC:JavaDatabaseConnectivity,Java數(shù)據(jù)庫連接ODBC:OpenDatabaseConnectivity,開放數(shù)據(jù)庫互連,Microsoft公司Psycopg:openGauss數(shù)據(jù)庫提供統(tǒng)一的Python訪問接口Libpq:openGauss的C語言程序接口,沒有做使用驗證openGauss體系架構(gòu)服務(wù)器實例的內(nèi)存結(jié)構(gòu)ShareBuffer:行存引擎默認(rèn)使用的緩沖區(qū)CstoreBuffer:列存引擎默認(rèn)使用的緩沖區(qū)MOT:Memory-OptimizedTable,內(nèi)存優(yōu)化表,內(nèi)存引擎默認(rèn)使用的緩沖區(qū)WALBuffer:Write-AheadLoggingBuffer,預(yù)寫日志緩沖區(qū)TempBuffer:用于存儲數(shù)據(jù)庫會話期間的臨時表數(shù)據(jù)work_mem:事務(wù)執(zhí)行內(nèi)部排序或Hash表寫入臨時文件之前使用的內(nèi)存緩沖區(qū)maintenance_work_mem:一般是在openGauss執(zhí)行維護(hù)性操作時使用,如:CREATEINDEXopenGauss體系架構(gòu)服務(wù)器實例的線程gaussdb線程:負(fù)責(zé)處理客戶端請求的任務(wù)WalWriter:日志寫線程,負(fù)責(zé)將內(nèi)存中的預(yù)寫日志(WAL)頁數(shù)據(jù)刷新到預(yù)寫日志文件中PageWriter線程:負(fù)責(zé)將臟頁數(shù)據(jù)拷貝至雙寫(double-writer)區(qū)域并落盤,然后將臟頁轉(zhuǎn)發(fā)給BgWriter子線程進(jìn)行數(shù)據(jù)下盤操作BgWriter線程:負(fù)責(zé)對共享緩沖區(qū)的臟頁數(shù)據(jù)進(jìn)行下盤操作Checkpointer:檢查點線程,周期性的發(fā)起數(shù)據(jù)庫檢查點將數(shù)據(jù)臟頁刷新到磁盤的數(shù)據(jù)文件中openGauss體系架構(gòu)數(shù)據(jù)庫文件目錄名稱描述base數(shù)據(jù)庫對象默認(rèn)存儲目錄,如postgres數(shù)據(jù)庫、用戶創(chuàng)建的數(shù)據(jù)庫global存儲openGauss共享的系統(tǒng)表、共享的數(shù)據(jù)字典表pg_tblspcopenGauss的表空間目錄,里面存儲openGauss定義的表空間的目錄軟鏈接,指向表空間文件的實際存儲目錄pg_xlog存儲openGauss數(shù)據(jù)庫的WAL日志文件pg_clog存儲openGauss數(shù)據(jù)庫事務(wù)提交狀態(tài)信息pg_csnlog存儲openGauss數(shù)據(jù)庫的快照信息,openGauss事務(wù)啟動時會創(chuàng)建一個CSN快照,在MVCC機(jī)制下,CSN作為openGauss的邏輯時間戳,模擬數(shù)據(jù)庫內(nèi)部的時序,用來判斷其他事務(wù)對于當(dāng)前事務(wù)是否可見pg_twophase存儲兩階段事務(wù)提交信息,用來確保數(shù)據(jù)一致性pg_serial存儲已提交的可序列化事務(wù)信息pg_multixact存儲多事務(wù)狀態(tài)信息,一般用于共享行級鎖(sharedrowlocks)openGauss體系架構(gòu)數(shù)據(jù)庫文件目錄名稱描述ArchivedWALopenGauss數(shù)據(jù)庫WAL日志的歸檔目錄pg_audit存儲openGauss數(shù)據(jù)庫的審計日志文件pg_replslot存儲openGauss數(shù)據(jù)庫的復(fù)制事務(wù)槽數(shù)據(jù)pg_llog保存邏輯復(fù)制時的狀態(tài)數(shù)據(jù)openGauss體系架構(gòu)參數(shù)配置文件目錄名稱描述postgresql.confopenGauss的配置文件,在GaussMaster線程啟動時會讀取該文件,獲取監(jiān)聽地址、服務(wù)端口、內(nèi)存分配、功能設(shè)置等配置信息,并且根據(jù)該文件,在openGauss啟動時創(chuàng)建共享內(nèi)存和信號量池等。pg_hba.conf基于主機(jī)的接入認(rèn)證配置文件,主要保存鑒權(quán)信息(如:允許訪問的數(shù)據(jù)庫、用戶、IP段、加密方式等)。pg_ident.conf客戶端認(rèn)證的配置文件,主要保存用戶映射信息,將主機(jī)操作系統(tǒng)的用戶與openGauss數(shù)據(jù)庫用戶做映射。gaussdb.state主要保存數(shù)據(jù)庫當(dāng)前的狀態(tài)信息(如:主備HA的角色、rebuild進(jìn)度及原因、sync狀態(tài)、LSN信息等)。openGauss功能架構(gòu)openGauss的最小管理單元是實例,一個實例代表了一個獨立運行的數(shù)據(jù)庫,每個實例包含不同的功能模塊openGauss功能架構(gòu)通信管理-通信協(xié)議處理OpenGauss的通信協(xié)議繼承自PostgreSQL的前后端協(xié)議(Frontend/BackendProtocol),并針對性能與安全性進(jìn)行了增強(qiáng)。該協(xié)議基于消息交換模型,客戶端與服務(wù)端通過TCP/IP或UnixSocket建立連接,支持同步和異步通信模式。OpenGauss的通信協(xié)議在處理客戶端與服務(wù)端的交互時,涉及多個子協(xié)議(或協(xié)議階段),這些子協(xié)議共同協(xié)作完成連接管理、認(rèn)證、數(shù)據(jù)傳輸、事務(wù)控制等功能。協(xié)議名稱功能啟動協(xié)議
StartupProtocol客戶端發(fā)送啟動消息(包含協(xié)議版本、目標(biāo)數(shù)據(jù)庫名、用戶名等)終止協(xié)議
TerminationProtocol客戶端發(fā)送Terminate消息,服務(wù)端立即關(guān)閉連接認(rèn)證協(xié)商
AuthenticationNegotiation服務(wù)端根據(jù)配置的認(rèn)證策略返回認(rèn)證請求類型(如SHA-256、MD5)簡單查詢協(xié)議
SimpleQueryProtocol客戶端發(fā)送單條SQL語句,服務(wù)端直接執(zhí)行并返回結(jié)果擴(kuò)展查詢協(xié)議
ExtendedQueryProtocol分階段(Parse/Bind/Execute)調(diào)用函數(shù),支持參數(shù)化輸入和高效復(fù)用復(fù)制協(xié)議
ReplicationProtocol用于主備節(jié)點間的數(shù)據(jù)同步與邏輯解碼openGauss功能架構(gòu)通信管理-控制命令信號處理在Linux系統(tǒng)中,信號(Signal)是一種進(jìn)程間通信機(jī)制,用于通知進(jìn)程發(fā)生了特定事件。openGauss通過捕獲和處理這些信號來實現(xiàn)對數(shù)據(jù)庫進(jìn)程的控制。openGauss的控制命令信號處理是其進(jìn)程管理的重要組成部分,主要用于控制數(shù)據(jù)庫服務(wù)的啟動、停止、配置重載等操作。信號名稱默認(rèn)行為典型應(yīng)用場景SIGTERM智能關(guān)閉
SmartShutdown等待所有會話結(jié)束,完成事務(wù)后關(guān)閉。適用于計劃維護(hù)。SIGINT快速關(guān)閉
FastShutdown中斷當(dāng)前連接,回滾未提交事務(wù),立即關(guān)閉。用于緊急停止。SIGQUIT立即關(guān)閉
ImmediateShutdown直接終止進(jìn)程,可能導(dǎo)致數(shù)據(jù)損壞。僅用于調(diào)試或極端情況。SIGHUP重載配置文件動態(tài)加載postgresql.conf和pg_hba.conf,無需重啟服務(wù)。SIGUSR1日志輪轉(zhuǎn)
LogRotation觸發(fā)日志文件切換(如通過pg_rotate_logfile()),便于日志歸檔。SIGUSR2在線備份配合pg_start_backup()和pg_stop_backup()實現(xiàn)物理備份。openGauss功能架構(gòu)SQL引擎SQL解析:對接收到的SQL語句進(jìn)行解析,依次包括詞法解析、語法解析、語義解析。SQL查詢重寫:利用已有語句特征和關(guān)系代數(shù)運算來生成更高效的等價語句。SQL優(yōu)化:根據(jù)生成的高效等價SQL語句,枚舉不同的候選執(zhí)行路徑,經(jīng)過執(zhí)行代價的計算,最終獲得一個最優(yōu)的執(zhí)行路徑。SQL執(zhí)行:對執(zhí)行樹進(jìn)行迭代遍歷,通過從磁盤讀取數(shù)據(jù),根據(jù)執(zhí)行樹的具體邏輯完成查詢語義。DDL命令處理:執(zhí)行基本的詞法解析、語法解析和語義解析等操作,查詢對應(yīng)的數(shù)據(jù)字典后就可以開始執(zhí)行更新操作。存儲過程解析:存儲過程只是在第一次執(zhí)行時進(jìn)行解析、編譯、執(zhí)行,以后都是對結(jié)果進(jìn)行調(diào)用。openGauss功能架構(gòu)存貯引擎行存引擎:行存引擎是將表按行存儲到硬盤分區(qū)上,支持高并發(fā)讀寫、低時延。主要面向OLTP場景設(shè)計,OLTP即就是在線聯(lián)機(jī)事務(wù)處理,它的特點是隨機(jī)小IO操作頻繁,數(shù)據(jù)變化較大,常見于那些交易型事務(wù)處理場景。行存的本地更新和回滾段更新是兩種不同的數(shù)據(jù)修改機(jī)制。列存引擎:列存引擎主要面向OLAP場景設(shè)計,OLAP即就是在線聯(lián)機(jī)分析處理,常見于分析決策型使用場景。列存引擎的存儲基本單位是CU(CompressionUnit,壓縮單元),表里面一列的一部分?jǐn)?shù)據(jù)組成的壓縮數(shù)據(jù)塊就可以稱為CU。openGauss功能架構(gòu)存貯引擎內(nèi)存表:也就是指MOT內(nèi)存引擎,作為在openGauss中與傳統(tǒng)基于磁盤的行存儲、列存儲并存的一種高性能存儲引擎,基于全內(nèi)存態(tài)的數(shù)據(jù)存儲,為openGauss提供了高吞吐的實時數(shù)據(jù)處理分析能力和極低的事務(wù)處理延時,在不同的業(yè)務(wù)負(fù)載場景下,可以達(dá)到其他引擎事務(wù)處理能力的3~10倍。CSN快照:CSN(CommitSequenceNumber)即就是待提交事務(wù)的序列號(一個64位無符號自增長整數(shù)),常用于多版本可見性判斷和MVCC機(jī)制,在openGauss內(nèi)部使用CSN作為邏輯的時間戳,模擬數(shù)據(jù)庫內(nèi)部的時序。空閑空間管理:openGauss使用MVCC多版本并發(fā)控制機(jī)制,更新和刪除操作并不會在頁面中刪除數(shù)據(jù)本身,這樣在數(shù)據(jù)庫長時間運行后會有大量的歷史版本保存在存儲空間中,造成空間膨脹。為了解決這一問題,存儲引擎內(nèi)部需要定期對歷史數(shù)據(jù)進(jìn)行清理,以保證數(shù)據(jù)庫的健康運行。存儲空間的清理分為頁面級的清理、表級清理、數(shù)據(jù)庫級清理等。鎖管理器:鎖管理器對事務(wù)并發(fā)訪問過程中數(shù)據(jù)庫對象的加鎖操作進(jìn)行管理,判斷兩個事務(wù)訪問同一個對象的時候加的鎖的類型是否相容,是否允許事務(wù)在相應(yīng)對象上加鎖。鎖管理器對事務(wù)并發(fā)過程中使用的鎖進(jìn)行記錄、追蹤和管理。openGauss功能架構(gòu)存貯引擎大內(nèi)存緩沖區(qū)管理:大內(nèi)存緩沖區(qū)介于數(shù)據(jù)存儲引擎和外部文件系統(tǒng)之間,常用來同外部文件系統(tǒng)進(jìn)行page頁面交換并作緩沖,對內(nèi)存共享頁面的臟頁進(jìn)行LRU算法淘汰并刷盤,保證內(nèi)存使用的高效,減少磁盤的訪問。索引管理:索引可以有效提升數(shù)據(jù)的訪問效率,索引管理主要管理的是索引結(jié)構(gòu),包括索引創(chuàng)建、更改、刪除等。存儲管理適配:存儲管理適配指的就是對存儲介質(zhì)層的管理,對不同的存儲介質(zhì)進(jìn)行適配封裝,對上層數(shù)據(jù)頁面訪問屏蔽底層真正存儲系統(tǒng)的差異,例如管理HDD的使用、管理SSD的使用。日志管理:傳統(tǒng)數(shù)據(jù)庫一般都采用串行刷日志的設(shè)計,因為日志有順序依賴關(guān)系,即:一個事務(wù)產(chǎn)生的多條redo/undo記錄的前后順序依賴關(guān)系很強(qiáng)。在日志管理這部分,openGauss主要對日志系統(tǒng)進(jìn)行了并行設(shè)計,采用多個LogWriter線程并行寫的機(jī)制,打散串行刷日志的鎖控制瓶頸,充分發(fā)揮SSD的多通道IO處理能力。openGauss功能架構(gòu)存貯引擎并行日志回放:并行日志的回放指的是將重做日志中已記錄的數(shù)據(jù)文件變更操作重新應(yīng)用到系統(tǒng)/頁面中的過程,這個過程通常發(fā)生在實例故障恢復(fù)抑或者是主備實例之間的數(shù)據(jù)同步過程中的備機(jī)實例上(即主實例的改動需要在備機(jī)實例回放重做,以達(dá)到主備實例狀態(tài)一致)。增量檢查點:增量檢查點是對傳統(tǒng)全量檢查點的優(yōu)化,核心思想是分批次、持續(xù)性地將臟頁寫入磁盤,而非一次性全量處理。NUMA化數(shù)據(jù)架構(gòu):openGauss根據(jù)鯤鵬處理器的多核NUMA(NonUniformMemoryAccess,非一致性內(nèi)存訪問架構(gòu))架構(gòu)特點,做了一系列的相關(guān)優(yōu)化,例如采用NUMA綁核的方式盡量減少跨核內(nèi)存訪問的時延問題;為了充分發(fā)揮鯤鵬多核算力優(yōu)勢,使用并行日志系統(tǒng)設(shè)計、CLog分區(qū)等,大幅提升OLTP系統(tǒng)的處理性能。openGauss功能架構(gòu)openGauss的最小管理單元是實例,一個實例代表了一個獨立運行的數(shù)據(jù)庫,每個實例包含不同的功能模塊openGauss功能架構(gòu)通信管理-通信協(xié)議處理OpenGauss的通信協(xié)議繼承自PostgreSQL的前后端協(xié)議(Frontend/BackendProtocol),并針對性能與安全性進(jìn)行了增強(qiáng)。該協(xié)議基于消息交換模型,客戶端與服務(wù)端通過TCP/IP或UnixSocket建立連接,支持同步和異步通信模式。OpenGauss的通信協(xié)議在處理客戶端與服務(wù)端的交互時,涉及多個子協(xié)議(或協(xié)議階段),這些子協(xié)議共同協(xié)作完成連接管理、認(rèn)證、數(shù)據(jù)傳輸、事務(wù)控制等功能。協(xié)議名稱功能啟動協(xié)議
StartupProtocol客戶端發(fā)送啟動消息(包含協(xié)議版本、目標(biāo)數(shù)據(jù)庫名、用戶名等)終止協(xié)議
TerminationProtocol客戶端發(fā)送Terminate消息,服務(wù)端立即關(guān)閉連接認(rèn)證協(xié)商
AuthenticationNegotiation服務(wù)端根據(jù)配置的認(rèn)證策略返回認(rèn)證請求類型(如SHA-256、MD5)簡單查詢協(xié)議
SimpleQueryProtocol客戶端發(fā)送單條SQL語句,服務(wù)端直接執(zhí)行并返回結(jié)果擴(kuò)展查詢協(xié)議
ExtendedQueryProtocol分階段(Parse/Bind/Execute)調(diào)用函數(shù),支持參數(shù)化輸入和高效復(fù)用復(fù)制協(xié)議
ReplicationProtocol用于主備節(jié)點間的數(shù)據(jù)同步與邏輯解碼openGauss功能架構(gòu)通信管理-控制命令信號處理在Linux系統(tǒng)中,信號(Signal)是一種進(jìn)程間通信機(jī)制,用于通知進(jìn)程發(fā)生了特定事件。openGauss通過捕獲和處理這些信號來實現(xiàn)對數(shù)據(jù)庫進(jìn)程的控制。openGauss的控制命令信號處理是其進(jìn)程管理的重要組成部分,主要用于控制數(shù)據(jù)庫服務(wù)的啟動、停止、配置重載等操作。信號名稱默認(rèn)行為典型應(yīng)用場景SIGTERM智能關(guān)閉
SmartShutdown等待所有會話結(jié)束,完成事務(wù)后關(guān)閉。適用于計劃維護(hù)。SIGINT快速關(guān)閉
FastShutdown中斷當(dāng)前連接,回滾未提交事務(wù),立即關(guān)閉。用于緊急停止。SIGQUIT立即關(guān)閉
ImmediateShutdown直接終止進(jìn)程,可能導(dǎo)致數(shù)據(jù)損壞。僅用于調(diào)試或極端情況。SIGHUP重載配置文件動態(tài)加載postgresql.conf和pg_hba.conf,無需重啟服務(wù)。SIGUSR1日志輪轉(zhuǎn)
LogRotation觸發(fā)日志文件切換(如通過pg_rotate_logfile()),便于日志歸檔。SIGUSR2在線備份配合pg_start_backup()和pg_stop_backup()實現(xiàn)物理備份。openGauss功能架構(gòu)SQL引擎SQL解析:對接收到的SQL語句進(jìn)行解析,依次包括詞法解析、語法解析、語義解析。SQL查詢重寫:利用已有語句特征和關(guān)系代數(shù)運算來生成更高效的等價語句。SQL優(yōu)化:根據(jù)生成的高效等價SQL語句,枚舉不同的候選執(zhí)行路徑,經(jīng)過執(zhí)行代價的計算,最終獲得一個最優(yōu)的執(zhí)行路徑。SQL執(zhí)行:對執(zhí)行樹進(jìn)行迭代遍歷,通過從磁盤讀取數(shù)據(jù),根據(jù)執(zhí)行樹的具體邏輯完成查詢語義。DDL命令處理:執(zhí)行基本的詞法解析、語法解析和語義解析等操作,查詢對應(yīng)的數(shù)據(jù)字典后就可以開始執(zhí)行更新操作。存儲過程解析:存儲過程只是在第一次執(zhí)行時進(jìn)行解析、編譯、執(zhí)行,以后都是對結(jié)果進(jìn)行調(diào)用。openGauss功能架構(gòu)存貯引擎行存引擎:行存引擎是將表按行存儲到硬盤分區(qū)上,支持高并發(fā)讀寫、低時延。主要面向OLTP場景設(shè)計,OLTP即就是在線聯(lián)機(jī)事務(wù)處理,它的特點是隨機(jī)小IO操作頻繁,數(shù)據(jù)變化較大,常見于那些交易型事務(wù)處理場景。行存的本地更新和回滾段更新是兩種不同的數(shù)據(jù)修改機(jī)制。列存引擎:列存引擎主要面向OLAP場景設(shè)計,OLAP即就是在線聯(lián)機(jī)分析處理,常見于分析決策型使用場景。列存引擎的存儲基本單位是CU(CompressionUnit,壓縮單元),表里面一列的一部分?jǐn)?shù)據(jù)組成的壓縮數(shù)據(jù)塊就可以稱為CU。openGauss功能架構(gòu)存貯引擎內(nèi)存表:也就是指MOT內(nèi)存引擎,作為在openGauss中與傳統(tǒng)基于磁盤的行存儲、列存儲并存的一種高性能存儲引擎,基于全內(nèi)存態(tài)的數(shù)據(jù)存儲,為openGauss提供了高吞吐的實時數(shù)據(jù)處理分析能力和極低的事務(wù)處理延時,在不同的業(yè)務(wù)負(fù)載場景下,可以達(dá)到其他引擎事務(wù)處理能力的3~10倍。CSN快照:CSN(CommitSequenceNumber)即就是待提交事務(wù)的序列號(一個64位無符號自增長整數(shù)),常用于多版本可見性判斷和MVCC機(jī)制,在openGauss內(nèi)部使用CSN作為邏輯的時間戳,模擬數(shù)據(jù)庫內(nèi)部的時序。空閑空間管理:openGauss使用MVCC多版本并發(fā)控制機(jī)制,更新和刪除操作并不會在頁面中刪除數(shù)據(jù)本身,這樣在數(shù)據(jù)庫長時間運行后會有大量的歷史版本保存在存儲空間中,造成空間膨脹。為了解決這一問題,存儲引擎內(nèi)部需要定期對歷史數(shù)據(jù)進(jìn)行清理,以保證數(shù)據(jù)庫的健康運行。存儲空間的清理分為頁面級的清理、表級清理、數(shù)據(jù)庫級清理等。鎖管理器:鎖管理器對事務(wù)并發(fā)訪問過程中數(shù)據(jù)庫對象的加鎖操作進(jìn)行管理,判斷兩個事務(wù)訪問同一個對象的時候加的鎖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)商務(wù)合作流程規(guī)范制度
- 公章的管理制度
- 2026年公務(wù)員考試行政職業(yè)能力測驗題集
- 2026年環(huán)境工程職稱考試水污染治理與水資源保護(hù)實務(wù)題
- 2026年IT設(shè)備室日常維護(hù)與6S管理的資格認(rèn)證考試題目
- 2026年金融衍生品市場風(fēng)險監(jiān)控策略題
- 2026年委托硬膠囊合同
- 2026年委托具喉合同
- 北京市石景山區(qū)2025-2026學(xué)年上學(xué)期期末考試高一思想政治試題(含答案)
- 2025年于都縣招教考試備考題庫帶答案解析(奪冠)
- 2026海南安??毓捎邢挢?zé)任公司招聘11人筆試模擬試題及答案解析
- 裝飾裝修工程施工組織設(shè)計方案(二)
- 2026上海碧海金沙投資發(fā)展有限公司社會招聘參考題庫必考題
- 保險業(yè)客戶服務(wù)手冊(標(biāo)準(zhǔn)版)
- 華羅庚數(shù)學(xué)課本六年級
- DB12-T885-2019-植物提取物中原花青素的測定紫外-可見分光光度法-天津市
- 董氏奇穴針灸學(xué)(楊維杰)
- 日間手術(shù)病人術(shù)前的護(hù)理
- 1000張隱患辨識圖
- 智能水務(wù)管理基礎(chǔ)知識單選題100道及答案
- 《職業(yè)院校與本科高校對口貫通分段培養(yǎng)協(xié)議書》
評論
0/150
提交評論