SlideShare a Scribd company logo
Architettura per la gestione dei processi




            Architettura per la gestione dei processi


27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 1
Architettura di storage


           Richiesta di connessione
           Risposta del server
           Schema globale dell'architettura
           Buffering di lettura
           Buffering di scrittura
           Shared Buffer e WAL (write ahead log)




27/11/08     /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 2
Overview
  L'architettura PostgreSQL è del tipo singolo 
  processo per utente
  Ogni connessione utente ha il suo processo di 
  sistema
  E' progettato per sistemi SMP
  Si basa su IPC (Inter Process Communiction)
       Su sistemi Unix
           La sincronizzazione avviene via semafori
           I dati sono condivisi attraverso shared memory
       Su sistemi Windows
           IPC sono implementate attraverso le primitive specifiche di 
           windows.




27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 3
Overview


      Processi distinti che girano sul server:
           Postmaster 
           Utility processes → ad es vacuum → vedremo in seguito
           User backend process




27/11/08    /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 4
Process Architecture

                                        postmaster




                                       Shared Memory

      Shared buffers          WAL buffers            Process Array           Misc Transaction
                                                                                structures




                  Stas
    bgwriter                archiver
                collector




                                                      Wal segments              Archived WAL

 27/11/08      /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp       page 5
Richiesta di connessione

      Postmaster
            Resta in ascolto sulla porta 5430 (default)
            Riceve le richieste da parte della connessioni clients
               Utilizzo della shared memory

                                     Postmaster


                                                       Work
                                                       mem
                                       Postgres




                                  Shared memory



                                       bgwriter

 27/11/08     /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 6
Risposta al client
   Postmaster 
        Chiama Postgresql backend
        Risponde al client
        Attende i risultati
                                                             Postmaster


                                                                            Work
                                                                            mem
                                                              Postgres




                                                         Shared memory



                                                              bgwriter



 27/11/08    /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 7
Architettura completa

        shutdown                                                          startup

                                    Postmaster


                          Work                    Work                     Work
                          mem                     mem                      mem
             Postgres                Postgres                  Postgres




                                  Shared memory



               archiver              bgwriter               stats




 27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp     page 8
Architettura completa

      Postmaster
      Startup, shutdown
      Postgresql backends
            Nuove connessione producono nuovi backends

      Bgwriter → Background Writer
      Archiver → usato nel PITR
      Stats collector




 27/11/08     /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 9
Buffering ­ Lettura

 Postgres     Postgres     Postgres
                                                    Postmaster
                                                         Postmaster backends
                                                         Una sola lettura I/O
                                                         Molte letture dal buffer
            Shared Memory
                                                         Aumento della velocità 
                                                         di lettura


     Shared (data)
        buffer




             Database


 27/11/08    /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 10
Buffering ­ Scrittura
                                              Postmaster
 Postgres     Postgres     Postgres
                                                   Background writer 
                                                   (bgwriter): è il processo 
                                                   che gestisce il 
                                                   checkpoint
            Shared Memory                          Tutte le transazioni 
                                                   passano per il WAL 
                                                   write ahead log

     Shared (data)
        buffer                                             bgwriter




             Database                                    checkpoint



 27/11/08    /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 11
Shared buffer and Write­Ahead­Log (WAL)
                                      postmaster


        User x/ database x                              User y /database y



      Shared buffer cache                                       WAL




            bg_writer                                   Kernel file I/O cache




                                  Database files                           Wal files

 27/11/08    /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp     page 12
Punto della situazione



               Abbiamo parlato di 
                    Come avviene una connessione
                    Come la connessione viene passata al 
                    backend
                    Risposta al client
                    L'architettura per la gestione dei processi
                    La gestione del buffer di lettura
                    La gestione del buffer di scrittura
                    WAL




 27/11/08   /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp   page 13

More Related Content

PDF
PostgreSQL : Tuning
PDF
PostgreSQL: Integrità dei dati
PDF
PostgreSQL: Prima configurazione
PDF
PostgreSQL : Architettura di storage
PDF
PostgreSQL: Transazioni e locking
PDF
Ap Camp 2011
PDF
Pgtraining bdr
PDF
MontelLUG - Conferenze 2007 - Introduzione a RSync
PostgreSQL : Tuning
PostgreSQL: Integrità dei dati
PostgreSQL: Prima configurazione
PostgreSQL : Architettura di storage
PostgreSQL: Transazioni e locking
Ap Camp 2011
Pgtraining bdr
MontelLUG - Conferenze 2007 - Introduzione a RSync

What's hot (20)

PDF
Richiami su Linux - Webmin - Reti di calcolatori
PDF
Compilazione Kernel
PDF
PostgreSQL: Point in time recovery
PDF
Sottoli in the cloud
ODP
Open@BNCF
PDF
Linux Kernel, driver e compilazione
PDF
Glusterfs: un filesystem altamente versatile
PDF
Proxmox VE
PDF
Log files - Approcci al Troubleshooting
PPTX
Microservices webinar EMEA Aug. 2017
PDF
Introduzione Alla Uml Mconsole
ODP
Linux Capabilities - ita - v2.1.5 - compatta
PDF
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
PDF
Raspberry omv
PDF
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
PDF
Open Source Parallel Computing ltcsp
PDF
Condivisione di dischi - NFS - Reti miste Windows/Linux - SMB e NetBIOS - Sam...
PDF
Hadoop in action!
PDF
Tom EE appunti devoxx2012
Richiami su Linux - Webmin - Reti di calcolatori
Compilazione Kernel
PostgreSQL: Point in time recovery
Sottoli in the cloud
Open@BNCF
Linux Kernel, driver e compilazione
Glusterfs: un filesystem altamente versatile
Proxmox VE
Log files - Approcci al Troubleshooting
Microservices webinar EMEA Aug. 2017
Introduzione Alla Uml Mconsole
Linux Capabilities - ita - v2.1.5 - compatta
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
Raspberry omv
Bookalive Klaus Kempf Presentazione: Record, Zend e archiviazione
Open Source Parallel Computing ltcsp
Condivisione di dischi - NFS - Reti miste Windows/Linux - SMB e NetBIOS - Sam...
Hadoop in action!
Tom EE appunti devoxx2012
Ad

Viewers also liked (6)

PDF
La microzonazione sismica in Regione Piemonte con strumenti Open Source
PDF
PostgreSQL
PDF
Messa in rete
PDF
Openday - PostgreSQL: primi passi con Json/Jsonb
PDF
PostgreSQL: Approximated searches
PDF
Love Your Database (ESC 2k16)
La microzonazione sismica in Regione Piemonte con strumenti Open Source
PostgreSQL
Messa in rete
Openday - PostgreSQL: primi passi con Json/Jsonb
PostgreSQL: Approximated searches
Love Your Database (ESC 2k16)
Ad

Similar to PostgreSQL: Archtettura per la gestione dei pro (20)

PDF
Elementi architetturali dell'8086
PDF
1 Reti E Protocolli
PDF
Tesi Todone
PDF
Database Data Aggregator
PDF
Lezione 3: Connessioni TCP
PDF
Architettura dei Calcolatori 06 Elementi Architetturali Di Base
PDF
MySQL 5
PPT
Java lezione 9
ODP
Sist op
ODP
Sistemi Operativi
PDF
Sistemi Operativi: Componenti - Lezione 02
PDF
Sistemi Operativi: Meccanismi - Lezione 03
PDF
Sistemi Operativi: Introduzione - Lezione 01
PDF
Introduzione al linguaggio Java
PDF
QSL Quick EDD Presentazione
PDF
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
PDF
Lezione 6: Remote Method Invocation
PDF
Sistemi Operativi: Thread - Lezione 08
PDF
Jc06 Antonio Terreno Fluidtime
PDF
Web services
Elementi architetturali dell'8086
1 Reti E Protocolli
Tesi Todone
Database Data Aggregator
Lezione 3: Connessioni TCP
Architettura dei Calcolatori 06 Elementi Architetturali Di Base
MySQL 5
Java lezione 9
Sist op
Sistemi Operativi
Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Introduzione - Lezione 01
Introduzione al linguaggio Java
QSL Quick EDD Presentazione
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
Lezione 6: Remote Method Invocation
Sistemi Operativi: Thread - Lezione 08
Jc06 Antonio Terreno Fluidtime
Web services

Recently uploaded (9)

PDF
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
PDF
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
PPTX
Copia di PROGETTO VIOLENZA sulle donne PCTO
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
PDF
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
PPTX
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
PDF
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
Copia di PROGETTO VIOLENZA sulle donne PCTO
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...

PostgreSQL: Archtettura per la gestione dei pro

  • 1. Architettura per la gestione dei processi Architettura per la gestione dei processi 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 1
  • 2. Architettura di storage Richiesta di connessione Risposta del server Schema globale dell'architettura Buffering di lettura Buffering di scrittura Shared Buffer e WAL (write ahead log) 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 2
  • 3. Overview L'architettura PostgreSQL è del tipo singolo  processo per utente Ogni connessione utente ha il suo processo di  sistema E' progettato per sistemi SMP Si basa su IPC (Inter Process Communiction) Su sistemi Unix La sincronizzazione avviene via semafori I dati sono condivisi attraverso shared memory Su sistemi Windows IPC sono implementate attraverso le primitive specifiche di  windows. 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 3
  • 4. Overview Processi distinti che girano sul server: Postmaster  Utility processes → ad es vacuum → vedremo in seguito User backend process 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 4
  • 5. Process Architecture postmaster Shared Memory Shared buffers WAL buffers Process Array Misc Transaction structures Stas bgwriter archiver collector Wal segments Archived WAL 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 5
  • 6. Richiesta di connessione Postmaster Resta in ascolto sulla porta 5430 (default) Riceve le richieste da parte della connessioni clients Utilizzo della shared memory Postmaster Work mem Postgres Shared memory bgwriter 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 6
  • 7. Risposta al client Postmaster  Chiama Postgresql backend Risponde al client Attende i risultati Postmaster Work mem Postgres Shared memory bgwriter 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 7
  • 8. Architettura completa shutdown startup Postmaster Work Work Work mem mem mem Postgres Postgres Postgres Shared memory archiver bgwriter stats 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 8
  • 9. Architettura completa Postmaster Startup, shutdown Postgresql backends Nuove connessione producono nuovi backends Bgwriter → Background Writer Archiver → usato nel PITR Stats collector 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 9
  • 10. Buffering ­ Lettura Postgres Postgres Postgres Postmaster Postmaster backends Una sola lettura I/O Molte letture dal buffer Shared Memory Aumento della velocità  di lettura Shared (data) buffer Database 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 10
  • 11. Buffering ­ Scrittura Postmaster Postgres Postgres Postgres Background writer  (bgwriter): è il processo  che gestisce il  checkpoint Shared Memory Tutte le transazioni  passano per il WAL  write ahead log Shared (data) buffer bgwriter Database checkpoint 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 11
  • 12. Shared buffer and Write­Ahead­Log (WAL) postmaster User x/ database x User y /database y Shared buffer cache WAL bg_writer Kernel file I/O cache Database files Wal files 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 12
  • 13. Punto della situazione Abbiamo parlato di  Come avviene una connessione Come la connessione viene passata al  backend Risposta al client L'architettura per la gestione dei processi La gestione del buffer di lettura La gestione del buffer di scrittura WAL 27/11/08 /home/scotty/enrico/corso­web/finale/Architettura/arch2.odp page 13