SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
PostgreSQL on Network File System?
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
© Lucasfilm™
PostgreSQL on Network File System?
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
What people say about NFS
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
What people say about NFS
IT’S FAST!
CC0 1.0
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
PostgreSQL & NFS
Myths & Truths
Jonathan Battiato
www.2ndquadrant.com
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Jonathan Battiato
Linux SysAdmin & DBA
Jonathan Battiato
Linux SysAdmin & DBA
jonny_lee_84
jonathan.battiato@2ndquadrant.it
jonny-lee31
~$ whoami
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Thanks to:
Giuseppe Broccolo, PhD
PostgreSQL & PostGIS consultant
@giubro gbroccolo7
giuseppe.broccolo@2ndquadrant.it
gbroccolo gemini__81
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
#PGNFS
#PostgreSQL
#NFS
TAGs
@jonny_lee_84
@2ndquadrant_it
@PGDayIT
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Network File System
general characteristics
Part 1
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Network File System (Sun Microsystem®
, 1984)
●
A protocol for distributed file system – v2, v3, v4
●
servers export the file system, clients mounts the export locally
●
Many clients, one server
●
High performances through fast network
LAN
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
NFS v3 vs. NFS v2
●
Strenght
– TCP (UDP is still a choice)
– Asynchronous communication (caching)
– A daemon manages file locking and connections
– Larger block size than 8KB (up to 64KB - depends on Kernel)
●
Weakness
– Stateless (NFS)
– Plain text data transmissions
– Host authentication only
– Dynamic port assignment
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
NFS v4 vs. NFS v3
●
Partial solutions
– Single port (2049)
easy to apply firewall rules to filter NFS traffic
– Authentication and locking deamons included in the protocol
– operations are always stateful
– UDP not allowed anymore
NFS v4 is the default on RHEL 6
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Client-Server Optimization
●
Block size (wsize, rsize – nfs protocol level)
Requests are organised in data blocks exchanged between client & server
●
NFS relies on TCP or UDP protocols (transport level)
UDP is statless, TCP is stateful
TCP choose automatically the packet size
●
Packet size & MTU (network level)
Packets size can be optimised to transfer blocks within the network: jumbo frames
CHOOSE WISELY!
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Main concerns about synchronisation
●
NO Time synchronisation
Use NTP!
●
File Locking
v2 does not support file locking
v3 uses daemon for locking, performances drop when in use
●
Delayed write cache
Caching writes could cause data loss
Without write cache performances drop
●
Read (metadata) cache
NFS server may show not-updated attributes, any program that relies on file attributes may not work
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Part 2
NFS & PostgreSQL
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
NFS & PostgreSQL
www.postgresql.org/docs/9.6/static/creating-cluster.html#CREATING-CLUSTER-NFS
●
NFS disks are completely transparent for PostgreSQL
●
If NFS client/server implementation does not provide
standard file system semantics, this can cause
reliability problems
●
PostgreSQL advices
– NFS mount options
●
avoid soft-mounting: hard
– General mount options
●
avoid asynchronous writes: fsync
LAN
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
hard-mount option
NFS calls must be retried indefinitely
both data and WAL entries sequentiality may not be preserved
write cache
WALs have to be flushed as a database action is committed
many processes are involved during WALs flush on disk
→ several NFS clients
→ WAL entries sequentiality may not be preserved
attribute cache
many processes are involved during WALs flush on disk
→ several NFS clients
→ files attributes may not have consistent views
Sources of corruptions
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Synchronous writes
sync vs. fsync=on:
– NFS v2:
●
if sync is specified, the server will not complete a request until both data/metadata are
written to the disk
– NFS v3 / v4:
●
if sync is specified, the server will complete a request returning the status of the write:
– NFS_FILE_SYNC, NFS_DATA_SYNC, NFS_UNSTABLE
●
data is effectively forced to be flushed on disk once a sync method system call is issued
– be careful to set fsync=on
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Reliability vs. Performance
●
NFS exports must be mounted with safe options
●
Are these option fine for a database?
– is the performance deeply impacted?
– is data safely guaranteed in case of crash?
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Part 3
NFS & PostgreSQL
performance
&
reliability benchmarks
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
The customer
NetApp
FAS 8080 Full Flash
Clustered Mode
physical host
storage
2 CPUs x 8GB RAM
RHEL 6
Kernel v. 2.6.32
PostgreSQL 9.5.3
Ethernet
10Gb/s
No routers
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Reliability tests
●
try different crash scenarios under high concurrency load, check if
the instance recovers properly, then execute a VACUUM FULL:
– kill -9 to postmaster
– forced reboot through kernel SysReq:
●
echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger
– power off of the VM from the VMWare vSphere® remote panel
– kill the TCP/IP connections through tcpkill
[root@pgsql] ~# tcpkill host X.X.X.X
tcpkill: listening on eth0 [host X.X.X.X]
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
●
try different crash scenarios under high concurrency load, check if
the instance recovers properly, then execute a VACUUM FULL:
– kill -9 to postmaster
– forced reboot through kernel SysReq:
●
echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger
– power off of the VM from the VMWare vSphere® remote panel
– kill the TCP/IP connections through tcpkill
[root@pgsql] ~# tcpkill host X.X.X.X
tcpkill: listening on eth0 [host X.X.X.X]
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
●
try different crash scenarios under high concurrency load, check if
the instance recovers properly, then execute a VACUUM FULL:
– kill -9 to postmaster
– forced reboot through kernel SysReq:
●
echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger
– power off of the VM from the VMWare vSphere® remote panel
– kill the TCP/IP connections through tcpkill
[root@pgsql] ~# tcpkill host X.X.X.X
tcpkill: listening on eth0 [host X.X.X.X]
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
●
try different crash scenarios under high concurrency load, check if
the instance recovers properly, then execute a VACUUM FULL:
– kill -9 to postmaster
– forced reboot through kernel SysReq:
●
echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger
– power off of the VM from the VMWare vSphere® remote panel
– kill the TCP/IP connections through tcpkill
[root@pgsql] ~# tcpkill host X.X.X.X
tcpkill: listening on eth0 [host X.X.X.X]
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
●
try different crash scenarios under high concurrency load, check if
the instance recovers properly, then execute a VACUUM FULL:
– kill -9 to postmaster
– forced reboot through kernel SysReq:
●
echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger
– power off of the VM from the VMWare vSphere® remote panel
– kill the TCP/IP connections through tcpkill
[root@pgsql] ~# tcpkill host X.X.X.X
tcpkill: listening on eth0 [host X.X.X.X]
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
T. Vondra – test the persistence of recycled WALs in ext4
– update attributes of recycled WALs flush them on disk through→ fdatasync
– fdatasync does not force the flush of metadata the update may get lost after a crash→
– logged changes are contained in file “in the future” data loss!→
github.com/2ndQuadrant/ext4-data-loss
●
INSERT/UPDATE new records in parallel and synchronously on the db and on a file
●
simulate a crash compare db & file contents after the crash recovery→
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Check NFS behaviour for recycled WALs (file attributes caching)
– noac
●
– ac
●
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Check NFS behaviour for recycled WALs (file attributes caching)
– noac
●
several tests, no data loss!
– ac
●
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Check NFS behaviour for recycled WALs (file attributes caching)
– noac
●
several tests, no data loss!
– ac
●
several tests, no data loss!
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Check NFS behaviour for recycled WALs (file attributes caching)
– noac
●
several tests, no data loss!
– ac
●
several tests, no data loss!
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
All tests passed, but this does not ensure that it is totally safe!
Reliability tests
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Enhance reliability for PostgreSQL DBs
●
allow page checksums (9.3+): initdb –data-checksums ...
– execute CRC32 calculation for each 8KB data block
●
a checksum failure means that the data block is corrupted
– force wal_log_hint=true
●
write the entire 8KB page to the WAL, even for hint bits modification
– take into account the impact to the performance:
●
R: checksum extra-calculation every 8KB
●
W: increase the amount of information logged into WALs
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Enhance performance for PostgreSQL DBs
●
sync’ed writes are slow, even if NFS caching is enabled
●
if possible, consider asynchronous commit:
– let the server return success as soon as the transaction is logically completed
●
synchronous_commit=off – it can be set per user/session
●
WAL entries will be flushed in a second moment,
but not later than 3x wal_writer_delay
●
in case of crashes, the DB can be recovered in a consistent state,
but there could be a window of data loss
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
file system I/O speed:
– reads: 700MB/s
– writes: 700MB/s
synchronous_commit=on:
– INSERT:
●
noac ~ ac (single & multi client)
– SELECT:
●
noac ~ 16x ac
DB commit rate and SELECT rate:
synchronous_commit=off:
– INSERT:
●
noac~ 8x ac (single & multi client)
– SELECT:
●
noac ~ 16x ac
Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Conclusions
●
NFS is not natively thought for reliability purposes
– the protocol is thought to enhance the performance
– NFS v4 is preferable
●
PostgreSQL allows to adopt many countermeasures
– it is at least able to promptly detect data corruptions
●
PostgreSQL can be used with NFS
– ready to accept minimal data loss
11/06/2010 ITPUG - ConfSL 2010 37Jonathan Battiato 2ndQuadrant Italia
@2ndquadrant_it @jonny_lee_84
PGDay.IT 2016 - 10th
edition
Prato Dec 13th
2016
Creative Commons license
This work is licensed under a Creative Commons
Attribution-ShareAlike 4.0 International License
https://creativecommons.org/licenses/by-nc-sa/4.0/
© 2016 2ndQuadrant Italia – http://www.2ndquadrant.it

Contenu connexe

Tendances

PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsMydbops
 
BlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year InBlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year InSage Weil
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compactionMIJIN AN
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HAharoonm
 
Tuning Autovacuum in Postgresql
Tuning Autovacuum in PostgresqlTuning Autovacuum in Postgresql
Tuning Autovacuum in PostgresqlMydbops
 
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UI
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UIData Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UI
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UIAltinity Ltd
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performancePostgreSQL-Consulting
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesMichael Klishin
 
Built in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat GulecBuilt in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat GulecFIRAT GULEC
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDBSage Weil
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookThe Hive
 
Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1
Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1
Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1Osama Mustafa
 
High-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using RedisHigh-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using Rediscacois
 
Elastic stack Presentation
Elastic stack PresentationElastic stack Presentation
Elastic stack PresentationAmr Alaa Yassen
 

Tendances (20)

PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
 
Backup and-recovery2
Backup and-recovery2Backup and-recovery2
Backup and-recovery2
 
BlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year InBlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year In
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compaction
 
PostgreSQL Replication Tutorial
PostgreSQL Replication TutorialPostgreSQL Replication Tutorial
PostgreSQL Replication Tutorial
 
MySQL SQL Tutorial
MySQL SQL TutorialMySQL SQL Tutorial
MySQL SQL Tutorial
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
 
PostgreSQL replication
PostgreSQL replicationPostgreSQL replication
PostgreSQL replication
 
Tuning Autovacuum in Postgresql
Tuning Autovacuum in PostgresqlTuning Autovacuum in Postgresql
Tuning Autovacuum in Postgresql
 
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UI
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UIData Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UI
Data Warehouses in Kubernetes Visualized: the ClickHouse Kubernetes Operator UI
 
The PostgreSQL Query Planner
The PostgreSQL Query PlannerThe PostgreSQL Query Planner
The PostgreSQL Query Planner
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
ASM
ASMASM
ASM
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issues
 
Built in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat GulecBuilt in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat Gulec
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
 
Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1
Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1
Step by Step to Install oracle grid 11.2.0.3 on solaris 11.1
 
High-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using RedisHigh-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using Redis
 
Elastic stack Presentation
Elastic stack PresentationElastic stack Presentation
Elastic stack Presentation
 

En vedette

PoPostgreSQL Web Projects: From Start to FinishStart To Finish
PoPostgreSQL Web Projects: From Start to FinishStart To FinishPoPostgreSQL Web Projects: From Start to FinishStart To Finish
PoPostgreSQL Web Projects: From Start to FinishStart To Finishelliando dias
 
PostgreSQL on EXT4, XFS, BTRFS and ZFS
PostgreSQL on EXT4, XFS, BTRFS and ZFSPostgreSQL on EXT4, XFS, BTRFS and ZFS
PostgreSQL on EXT4, XFS, BTRFS and ZFSTomas Vondra
 
Novinky v PostgreSQL 9.4 a JSONB
Novinky v PostgreSQL 9.4 a JSONBNovinky v PostgreSQL 9.4 a JSONB
Novinky v PostgreSQL 9.4 a JSONBTomas Vondra
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuiteEDB
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesRogue Wave Software
 
(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing it(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing itAmazon Web Services
 
Kevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres OpenKevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres OpenPostgresOpen
 
Bruce Momjian - Inside PostgreSQL Shared Memory @ Postgres Open
Bruce Momjian - Inside PostgreSQL Shared Memory @ Postgres OpenBruce Momjian - Inside PostgreSQL Shared Memory @ Postgres Open
Bruce Momjian - Inside PostgreSQL Shared Memory @ Postgres OpenPostgresOpen
 
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013PostgresOpen
 
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres OpenKeith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres OpenPostgresOpen
 
David Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres OpenDavid Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres OpenPostgresOpen
 
Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...
Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...
Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...PostgresOpen
 
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...PostgresOpen
 
Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...
Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...
Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...PostgresOpen
 
Keith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres OpenKeith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres OpenPostgresOpen
 
Islamabad PUG - 7th Meetup - performance tuning
Islamabad PUG - 7th Meetup - performance tuningIslamabad PUG - 7th Meetup - performance tuning
Islamabad PUG - 7th Meetup - performance tuningUmair Shahid
 
Islamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuningIslamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuningUmair Shahid
 
Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)Denish Patel
 
Robert Haas Query Planning Gone Wrong Presentation @ Postgres Open
Robert Haas Query Planning Gone Wrong Presentation @ Postgres OpenRobert Haas Query Planning Gone Wrong Presentation @ Postgres Open
Robert Haas Query Planning Gone Wrong Presentation @ Postgres OpenPostgresOpen
 

En vedette (20)

PoPostgreSQL Web Projects: From Start to FinishStart To Finish
PoPostgreSQL Web Projects: From Start to FinishStart To FinishPoPostgreSQL Web Projects: From Start to FinishStart To Finish
PoPostgreSQL Web Projects: From Start to FinishStart To Finish
 
PostgreSQL on EXT4, XFS, BTRFS and ZFS
PostgreSQL on EXT4, XFS, BTRFS and ZFSPostgreSQL on EXT4, XFS, BTRFS and ZFS
PostgreSQL on EXT4, XFS, BTRFS and ZFS
 
Novinky v PostgreSQL 9.4 a JSONB
Novinky v PostgreSQL 9.4 a JSONBNovinky v PostgreSQL 9.4 a JSONB
Novinky v PostgreSQL 9.4 a JSONB
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packages
 
(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing it(STG306) EFS: How to store 8 Exabytes & look good doing it
(STG306) EFS: How to store 8 Exabytes & look good doing it
 
Shootout at the PAAS Corral
Shootout at the PAAS CorralShootout at the PAAS Corral
Shootout at the PAAS Corral
 
Kevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres OpenKevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres Open
Kevin Kempter - PostgreSQL Backup and Recovery Methods @ Postgres Open
 
Bruce Momjian - Inside PostgreSQL Shared Memory @ Postgres Open
Bruce Momjian - Inside PostgreSQL Shared Memory @ Postgres OpenBruce Momjian - Inside PostgreSQL Shared Memory @ Postgres Open
Bruce Momjian - Inside PostgreSQL Shared Memory @ Postgres Open
 
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
 
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres OpenKeith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
 
David Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres OpenDavid Keeney - SQL Database Server Requests from the Browser @ Postgres Open
David Keeney - SQL Database Server Requests from the Browser @ Postgres Open
 
Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...
Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...
Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Post...
 
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...Selena Deckelmann - Sane Schema Management with  Alembic and SQLAlchemy @ Pos...
Selena Deckelmann - Sane Schema Management with Alembic and SQLAlchemy @ Pos...
 
Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...
Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...
Henrietta Dombrovskaya - A New Approach to Resolve Object-Relational Impedanc...
 
Keith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres OpenKeith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres Open
 
Islamabad PUG - 7th Meetup - performance tuning
Islamabad PUG - 7th Meetup - performance tuningIslamabad PUG - 7th Meetup - performance tuning
Islamabad PUG - 7th Meetup - performance tuning
 
Islamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuningIslamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuning
 
Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)
 
Robert Haas Query Planning Gone Wrong Presentation @ Postgres Open
Robert Haas Query Planning Gone Wrong Presentation @ Postgres OpenRobert Haas Query Planning Gone Wrong Presentation @ Postgres Open
Robert Haas Query Planning Gone Wrong Presentation @ Postgres Open
 

Similaire à Postgresql on NFS - J.Battiato, pgday2016

Gbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfsGbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfsGiuseppe Broccolo
 
Espresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom QuiggleEspresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom Quiggleconfluent
 
Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...
Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...
Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...Flink Forward
 
OpenStack Havana over IPv6
OpenStack Havana over IPv6OpenStack Havana over IPv6
OpenStack Havana over IPv6Shixiong Shang
 
An FPGA for high end Open Networking
An FPGA for high end Open NetworkingAn FPGA for high end Open Networking
An FPGA for high end Open Networkingrinnocente
 
An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)Naoto MATSUMOTO
 
AusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NATAusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NATMark Smith
 
Cisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPICisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPIJeff Squyres
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppet
 
OpenStack at Scale Inside NetApp
OpenStack at Scale Inside NetAppOpenStack at Scale Inside NetApp
OpenStack at Scale Inside NetAppTesora
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501robertguerra
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501robertguerra
 
Linux internet server security and configuration tutorial
Linux internet server security and configuration tutorialLinux internet server security and configuration tutorial
Linux internet server security and configuration tutorialannik147
 
Linux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactLinux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactAlessandro Selli
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKMarian Marinov
 
Secure lustre on openstack
Secure lustre on openstackSecure lustre on openstack
Secure lustre on openstackJames Beal
 
OSMC 2009 | Monitoring and IPv6 by Benedikt Stockebrandt
OSMC 2009 |  Monitoring and IPv6 by Benedikt StockebrandtOSMC 2009 |  Monitoring and IPv6 by Benedikt Stockebrandt
OSMC 2009 | Monitoring and IPv6 by Benedikt StockebrandtNETWAYS
 

Similaire à Postgresql on NFS - J.Battiato, pgday2016 (20)

Gbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfsGbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfs
 
Espresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom QuiggleEspresso Database Replication with Kafka, Tom Quiggle
Espresso Database Replication with Kafka, Tom Quiggle
 
Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...
Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...
Flink Forward San Francisco 2018: Stefan Richter - "How to build a modern str...
 
OpenStack Havana over IPv6
OpenStack Havana over IPv6OpenStack Havana over IPv6
OpenStack Havana over IPv6
 
An FPGA for high end Open Networking
An FPGA for high end Open NetworkingAn FPGA for high end Open Networking
An FPGA for high end Open Networking
 
IPSflexresponse-eng
IPSflexresponse-engIPSflexresponse-eng
IPSflexresponse-eng
 
An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)
 
Metasploitable
MetasploitableMetasploitable
Metasploitable
 
AusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NATAusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NAT
 
Cisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPICisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPI
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
 
OpenStack at Scale Inside NetApp
OpenStack at Scale Inside NetAppOpenStack at Scale Inside NetApp
OpenStack at Scale Inside NetApp
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501
 
Linux internet server security and configuration tutorial
Linux internet server security and configuration tutorialLinux internet server security and configuration tutorial
Linux internet server security and configuration tutorial
 
Rac introduction
Rac introductionRac introduction
Rac introduction
 
Linux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactLinux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compact
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 
Secure lustre on openstack
Secure lustre on openstackSecure lustre on openstack
Secure lustre on openstack
 
OSMC 2009 | Monitoring and IPv6 by Benedikt Stockebrandt
OSMC 2009 |  Monitoring and IPv6 by Benedikt StockebrandtOSMC 2009 |  Monitoring and IPv6 by Benedikt Stockebrandt
OSMC 2009 | Monitoring and IPv6 by Benedikt Stockebrandt
 

Dernier

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Dernier (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Postgresql on NFS - J.Battiato, pgday2016

  • 1. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 PostgreSQL on Network File System?
  • 2. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 © Lucasfilm™ PostgreSQL on Network File System?
  • 3. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 What people say about NFS
  • 4. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 What people say about NFS IT’S FAST! CC0 1.0
  • 5. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 PostgreSQL & NFS Myths & Truths Jonathan Battiato www.2ndquadrant.com
  • 6. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Jonathan Battiato Linux SysAdmin & DBA Jonathan Battiato Linux SysAdmin & DBA jonny_lee_84 jonathan.battiato@2ndquadrant.it jonny-lee31 ~$ whoami
  • 7. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Thanks to: Giuseppe Broccolo, PhD PostgreSQL & PostGIS consultant @giubro gbroccolo7 giuseppe.broccolo@2ndquadrant.it gbroccolo gemini__81
  • 8. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 #PGNFS #PostgreSQL #NFS TAGs @jonny_lee_84 @2ndquadrant_it @PGDayIT
  • 9. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Network File System general characteristics Part 1
  • 10. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Network File System (Sun Microsystem® , 1984) ● A protocol for distributed file system – v2, v3, v4 ● servers export the file system, clients mounts the export locally ● Many clients, one server ● High performances through fast network LAN
  • 11. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 NFS v3 vs. NFS v2 ● Strenght – TCP (UDP is still a choice) – Asynchronous communication (caching) – A daemon manages file locking and connections – Larger block size than 8KB (up to 64KB - depends on Kernel) ● Weakness – Stateless (NFS) – Plain text data transmissions – Host authentication only – Dynamic port assignment
  • 12. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 NFS v4 vs. NFS v3 ● Partial solutions – Single port (2049) easy to apply firewall rules to filter NFS traffic – Authentication and locking deamons included in the protocol – operations are always stateful – UDP not allowed anymore NFS v4 is the default on RHEL 6
  • 13. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Client-Server Optimization ● Block size (wsize, rsize – nfs protocol level) Requests are organised in data blocks exchanged between client & server ● NFS relies on TCP or UDP protocols (transport level) UDP is statless, TCP is stateful TCP choose automatically the packet size ● Packet size & MTU (network level) Packets size can be optimised to transfer blocks within the network: jumbo frames CHOOSE WISELY!
  • 14. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Main concerns about synchronisation ● NO Time synchronisation Use NTP! ● File Locking v2 does not support file locking v3 uses daemon for locking, performances drop when in use ● Delayed write cache Caching writes could cause data loss Without write cache performances drop ● Read (metadata) cache NFS server may show not-updated attributes, any program that relies on file attributes may not work
  • 15. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Part 2 NFS & PostgreSQL
  • 16. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 NFS & PostgreSQL www.postgresql.org/docs/9.6/static/creating-cluster.html#CREATING-CLUSTER-NFS ● NFS disks are completely transparent for PostgreSQL ● If NFS client/server implementation does not provide standard file system semantics, this can cause reliability problems ● PostgreSQL advices – NFS mount options ● avoid soft-mounting: hard – General mount options ● avoid asynchronous writes: fsync LAN
  • 17. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 hard-mount option NFS calls must be retried indefinitely both data and WAL entries sequentiality may not be preserved write cache WALs have to be flushed as a database action is committed many processes are involved during WALs flush on disk → several NFS clients → WAL entries sequentiality may not be preserved attribute cache many processes are involved during WALs flush on disk → several NFS clients → files attributes may not have consistent views Sources of corruptions
  • 18. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Synchronous writes sync vs. fsync=on: – NFS v2: ● if sync is specified, the server will not complete a request until both data/metadata are written to the disk – NFS v3 / v4: ● if sync is specified, the server will complete a request returning the status of the write: – NFS_FILE_SYNC, NFS_DATA_SYNC, NFS_UNSTABLE ● data is effectively forced to be flushed on disk once a sync method system call is issued – be careful to set fsync=on
  • 19. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Reliability vs. Performance ● NFS exports must be mounted with safe options ● Are these option fine for a database? – is the performance deeply impacted? – is data safely guaranteed in case of crash?
  • 20. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Part 3 NFS & PostgreSQL performance & reliability benchmarks
  • 21. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 The customer NetApp FAS 8080 Full Flash Clustered Mode physical host storage 2 CPUs x 8GB RAM RHEL 6 Kernel v. 2.6.32 PostgreSQL 9.5.3 Ethernet 10Gb/s No routers
  • 22. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Reliability tests ● try different crash scenarios under high concurrency load, check if the instance recovers properly, then execute a VACUUM FULL: – kill -9 to postmaster – forced reboot through kernel SysReq: ● echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger – power off of the VM from the VMWare vSphere® remote panel – kill the TCP/IP connections through tcpkill [root@pgsql] ~# tcpkill host X.X.X.X tcpkill: listening on eth0 [host X.X.X.X]
  • 23. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 ● try different crash scenarios under high concurrency load, check if the instance recovers properly, then execute a VACUUM FULL: – kill -9 to postmaster – forced reboot through kernel SysReq: ● echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger – power off of the VM from the VMWare vSphere® remote panel – kill the TCP/IP connections through tcpkill [root@pgsql] ~# tcpkill host X.X.X.X tcpkill: listening on eth0 [host X.X.X.X] Reliability tests
  • 24. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 ● try different crash scenarios under high concurrency load, check if the instance recovers properly, then execute a VACUUM FULL: – kill -9 to postmaster – forced reboot through kernel SysReq: ● echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger – power off of the VM from the VMWare vSphere® remote panel – kill the TCP/IP connections through tcpkill [root@pgsql] ~# tcpkill host X.X.X.X tcpkill: listening on eth0 [host X.X.X.X] Reliability tests
  • 25. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 ● try different crash scenarios under high concurrency load, check if the instance recovers properly, then execute a VACUUM FULL: – kill -9 to postmaster – forced reboot through kernel SysReq: ● echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger – power off of the VM from the VMWare vSphere® remote panel – kill the TCP/IP connections through tcpkill [root@pgsql] ~# tcpkill host X.X.X.X tcpkill: listening on eth0 [host X.X.X.X] Reliability tests
  • 26. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 ● try different crash scenarios under high concurrency load, check if the instance recovers properly, then execute a VACUUM FULL: – kill -9 to postmaster – forced reboot through kernel SysReq: ● echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger – power off of the VM from the VMWare vSphere® remote panel – kill the TCP/IP connections through tcpkill [root@pgsql] ~# tcpkill host X.X.X.X tcpkill: listening on eth0 [host X.X.X.X] Reliability tests
  • 27. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 T. Vondra – test the persistence of recycled WALs in ext4 – update attributes of recycled WALs flush them on disk through→ fdatasync – fdatasync does not force the flush of metadata the update may get lost after a crash→ – logged changes are contained in file “in the future” data loss!→ github.com/2ndQuadrant/ext4-data-loss ● INSERT/UPDATE new records in parallel and synchronously on the db and on a file ● simulate a crash compare db & file contents after the crash recovery→ Reliability tests
  • 28. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Check NFS behaviour for recycled WALs (file attributes caching) – noac ● – ac ● Reliability tests
  • 29. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Check NFS behaviour for recycled WALs (file attributes caching) – noac ● several tests, no data loss! – ac ● Reliability tests
  • 30. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Check NFS behaviour for recycled WALs (file attributes caching) – noac ● several tests, no data loss! – ac ● several tests, no data loss! Reliability tests
  • 31. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Check NFS behaviour for recycled WALs (file attributes caching) – noac ● several tests, no data loss! – ac ● several tests, no data loss! Reliability tests
  • 32. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 All tests passed, but this does not ensure that it is totally safe! Reliability tests
  • 33. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Enhance reliability for PostgreSQL DBs ● allow page checksums (9.3+): initdb –data-checksums ... – execute CRC32 calculation for each 8KB data block ● a checksum failure means that the data block is corrupted – force wal_log_hint=true ● write the entire 8KB page to the WAL, even for hint bits modification – take into account the impact to the performance: ● R: checksum extra-calculation every 8KB ● W: increase the amount of information logged into WALs
  • 34. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Enhance performance for PostgreSQL DBs ● sync’ed writes are slow, even if NFS caching is enabled ● if possible, consider asynchronous commit: – let the server return success as soon as the transaction is logically completed ● synchronous_commit=off – it can be set per user/session ● WAL entries will be flushed in a second moment, but not later than 3x wal_writer_delay ● in case of crashes, the DB can be recovered in a consistent state, but there could be a window of data loss
  • 35. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 file system I/O speed: – reads: 700MB/s – writes: 700MB/s synchronous_commit=on: – INSERT: ● noac ~ ac (single & multi client) – SELECT: ● noac ~ 16x ac DB commit rate and SELECT rate: synchronous_commit=off: – INSERT: ● noac~ 8x ac (single & multi client) – SELECT: ● noac ~ 16x ac
  • 36. Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Conclusions ● NFS is not natively thought for reliability purposes – the protocol is thought to enhance the performance – NFS v4 is preferable ● PostgreSQL allows to adopt many countermeasures – it is at least able to promptly detect data corruptions ● PostgreSQL can be used with NFS – ready to accept minimal data loss
  • 37. 11/06/2010 ITPUG - ConfSL 2010 37Jonathan Battiato 2ndQuadrant Italia @2ndquadrant_it @jonny_lee_84 PGDay.IT 2016 - 10th edition Prato Dec 13th 2016 Creative Commons license This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License https://creativecommons.org/licenses/by-nc-sa/4.0/ © 2016 2ndQuadrant Italia – http://www.2ndquadrant.it