• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
PostgreSQL: Archtettura per la gestione dei pro
 

PostgreSQL: Archtettura per la gestione dei pro

on

  • 941 views

 

Statistics

Views

Total Views
941
Views on SlideShare
858
Embed Views
83

Actions

Likes
0
Downloads
12
Comments
0

7 Embeds 83

http://www.pgtraining.com 40
http://pglog.enricopirozzi.info 29
http://www.osvaldotulini.com 4
http://rocco.osvaldotulini.com 4
http://pgtraining.com 3
http://www.pgtraining.org 2
http://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    PostgreSQL: Archtettura per la gestione dei pro PostgreSQL: Archtettura per la gestione dei pro Presentation Transcript

    • 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