看圖學習PostgreSQL數據庫體系架構
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
PostgreSQL 是客戶端/服務器關系數據庫管理系統 (RDMS),今天我們就看圖體系化的學習下PostgreSQL的體系架構,并且我會和Oracle做一下對比,幫助大家加深印象。 1.總體架構整體包括內存區域、配置文件、服務進程、磁盤存儲,同一臺物理服務器中可以運行多套實例,相互之間通過各自所服務的集簇的端口號來區分,很有特點的就是PG使用兩級緩存來提高數據庫的I/O效率。 2.物理結構PostgreSQL的數據目錄,其中保存著配置文件、數據文件、事務日志和WAL日志等重要文件,所有用戶創建的數據文件和初始配置文件都可以在數據目錄中找到,在PG中一切皆目錄。 3.邏輯結構在PostgreSQL中,數據庫本身也是數據庫對象,在邏輯上彼此分離。所有其他數據庫對象(如表、索引等)都屬于各自的數據庫。 上面左邊是Oralce的邏輯架構,右邊是PG的邏輯架構,很明顯了吧! 內存結構分為共享內存、本地內存,類似于Oracle的SGA和PGA。 本地內存區域(Local mermory area):每個后端進程分配供自己使用(用戶服務) 共享內存區域 (Shared mermory area):服務器所有的進程使用 shared buffer pool類似于Oracle的database buffer cache。其大小由shared_buffers參數決定。 WAL buffer其大小由wal_buffers參數決定。類似于Oracle的log buffer。 PostgreSQL數據庫的進程可以分為三類:后臺進程、后端進程或叫服務器進程、客戶端進程或用戶進程。 PostgreSQL數據庫使用雙緩存寫數據,shared_buffer + OS page cache,下圖是PG與OS內存交互的過程。 PostgreSQL的雙緩存落盤技術通常是指數據庫系統中同時使用兩級緩存來提高數據庫的I/O效率。一級緩存是數據庫緩沖區緩存,二級緩存可以是操作系統的文件系統緩存或者SSD緩存。 該文章在 2024/10/8 20:39:09 編輯過 |
關鍵字查詢
相關文章
正在查詢... |