SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
SENSING THE PRESENT. SECURING THE FUTURE
PostgreSQL	
  on	
  ZFS
‣ Replica(on,	
  Backup,	
  Human-­‐disaster	
  Recovery,
and	
  More...
‣ Keith	
  Paske>
‣ Keith@Paske>.org
‣ @klpaske>
Monday, September 23, 13
Agenda
‣ Introduc-on
‣ Defining	
  the	
  Problem	
  (Opportunity)
‣ ZFS	
  Advantages	
  for	
  your	
  Postgres	
  instance
‣ What	
  ZFS	
  is	
  and	
  where	
  you	
  can	
  get	
  it
‣ ZFS	
  snapshots—where	
  the	
  magic	
  happens
‣ Cloning	
  for	
  Valida-on,	
  Tes-ng	
  and	
  Recovery
‣ Adding	
  ZFS	
  to	
  Log/Streaming	
  Replica-on
‣ Beyond	
  the	
  database
‣ Summary	
  and	
  Demo
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
2
Monday, September 23, 13
Introduc-on
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
3
Text
Monday, September 23, 13
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
4
Trouble	
  lurks
Where	
  you	
  least	
  expect	
  it
Monday, September 23, 13
And	
  comes
in	
  all	
  sizes
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
5
Monday, September 23, 13
Backup	
  &	
  Recovery	
  Disconnect
‣ Less	
  likely	
  disaster	
  scenarios
• Server	
  failure
• Mul(ple	
  drive	
  failures	
  in	
  a	
  raid	
  array
• Data	
  center	
  fla>ened	
  by	
  (choose	
  your	
  disaster)
‣ Common	
  'human'	
  disaster	
  scenarios
• Dropped	
  table
• Deleted	
  data
• Altered	
  data
‣ Many	
  backup	
  solu-ons	
  focus	
  on	
  the	
  least	
  likely	
  disaster
‣ ZFS	
  helps	
  protect	
  against	
  more	
  common	
  disasters
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
6
Monday, September 23, 13
I	
  Wish	
  I	
  Could...
‣ Test	
  an	
  upgrade	
  script	
  on	
  a	
  mul--­‐terabyte	
  database	
  without	
  
having	
  to	
  set	
  up	
  a	
  separate	
  server	
  with	
  terabytes	
  of	
  storage
‣ Quickly	
  roll	
  back	
  from	
  an	
  upgrade	
  if	
  things	
  go	
  badly
‣ Have	
  point-­‐in-­‐-me	
  access	
  to	
  a	
  large	
  database	
  without	
  having	
  to	
  
do	
  a	
  restore	
  then	
  replay	
  a	
  week’s	
  worth	
  of	
  transac-on	
  logs
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
7
Monday, September 23, 13
ZFS	
  Advantages	
  for	
  Databases
‣ Fast	
  efficient	
  replica-on	
  (one-­‐way	
  periodic	
  update)
‣ Low/no-­‐impact	
  snapshots
‣ Read/write	
  access	
  to	
  snapshots	
  via	
  clones
‣ Pool	
  physical	
  devices
‣ Send/receive	
  snapshots	
  
‣ Bidirec-onal	
  incremental	
  send/receive
‣ Solid	
  state	
  cache	
  drives
‣ Upgrade	
  to	
  larger	
  physical	
  drives	
  with	
  zero	
  down-me
‣ Con-nuous	
  integrity	
  checking	
  and	
  automa-c	
  repair
‣ Built	
  in	
  compression—can	
  actually	
  improve	
  performance
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
8
Monday, September 23, 13
What
‣ ZFS	
   	
  ZeZabyte	
  File	
  System.
‣ Not	
  just	
  a	
  file	
  system.	
  It’s	
  a	
  storage	
  infrastructure.
‣ Transac-onal,	
  Copy-­‐on-­‐write
‣ Always	
  consistent	
  on	
  disk.
‣ Fully	
  checksummed.
‣ Loves	
  memory	
  and	
  SSD,	
  and	
  it	
  knows	
  how	
  to	
  use	
  them.
‣ It’s	
  easy!	
  There	
  are	
  only	
  two	
  commands.
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
9
Monday, September 23, 13
Where
‣ IllumOS
• OmniOS
• OpenIndiana
• SmartOS	
  (No	
  OS	
  drive.	
  Really.)
‣ FreeBSD
‣ Linux	
  -­‐	
  Yes	
  it	
  is	
  produc-on	
  ready
‣ OS	
  X
‣ That	
  other	
  OS	
  that	
  helps	
  fund	
  the	
  purchase	
  of	
  tropical	
  islands
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
10
Monday, September 23, 13
ZFS	
  -­‐	
  It's	
  all	
  about	
  the	
  snapshots
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
11
•Snapshot1
•Snapshot2
•Snapshot3
•Snapshot4
•Snapshot5
•Snapshot6
•Snapshot7
FileSystem1 FileSystem2
•Snapshot1
•Snapshot2
•
•
•Snapshot5
•Snapshot6
•Snapshot7
FSclone3
FSclone4
FSclone1
FSclone2
Monday, September 23, 13
Send	
  &	
  Receive
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
12
•Snapshot1
DataDir1 DataDir2
•Snapshot1
•Snapshot3
DB Updates
•Snapshot2
DB Updates
•Snapshot2
•Snapshot3
Monday, September 23, 13
Accessing	
  Snapshot	
  Contents
‣ .zfs	
  directory
• 'cd	
  .zfs/snapshot/snapname'	
  from	
  base	
  ZFS	
  directory
• 'ls	
  -­‐a'	
  in	
  base	
  directory	
  won't	
  show	
  the	
  .zfs	
  directory
• Snapshot	
  directories	
  are	
  read	
  only
• Tape	
  backup	
  of	
  snapshot	
  directory	
  will	
  be	
  consistent
‣ Create	
  a	
  clone	
  from	
  a	
  snapshot
• zfs	
  clone	
  fsname@snapshotname	
  clonename
• Clones	
  are	
  writable
• Only	
  take	
  addi-onal	
  disk	
  space	
  as	
  data	
  is	
  changed
• Simply	
  awesome	
  for	
  replica-ng	
  a	
  TB	
  database	
  in	
  seconds
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
13
Monday, September 23, 13
Clone	
  &	
  Recover
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
14
•Snapshot1
•Snapshot2
•Snapshot3
DataDir1
DataDir1
clone
pg_dump of
table and data
Drop
Table
Monday, September 23, 13
Snapshots	
  &	
  Transac-on	
  Logs
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
15
421 3
xlog1
xlog2
...
xlog1
xlog2
...
xlog1
xlog2
...
xlog1
xlog2
...
Transaction log archive
Monday, September 23, 13
Snapshot	
  Frequency
‣ Tune	
  to	
  your	
  needs
‣ My	
  preferences	
  for	
  transac-onal	
  databases
• Every	
  10-­‐20	
  minutes,	
  keep	
  for	
  9	
  hours
• Daily,	
  keep	
  for	
  10	
  days
• Weekly,	
  keep	
  for	
  8	
  weeks
‣ cronable	
  scripts	
  (examples	
  in	
  the	
  VM)
• snapshots.sh	
  creates	
  snapshots	
  with	
  hour,	
  day,	
  or	
  week	
  name	
  embeded
• snapshot-­‐cleanup.sh	
  removes	
  snapshots	
  older	
  than	
  a	
  specified	
  -me
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
16
Monday, September 23, 13
ZFS	
  Compression
‣ Can	
  improve	
  performance	
  especially	
  for	
  streaming	
  data	
  sets
‣ Turning	
  on	
  only	
  compresses	
  subsequent	
  writes
‣ Check	
  out	
  test	
  results	
  from	
  citusdata
• hZp://citusdata.com/blog/64-­‐zfs-­‐compression
‣ Commands
• zfs	
  set	
  compression=on	
  fs/name	
  (LZJB)
• zfs	
  set	
  compression=gzip	
  fs/name
• zfs	
  set	
  compression=gzip-­‐9	
  fs/name
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
17
Monday, September 23, 13
Beyond	
  the	
  Database
‣ For	
  Solaris	
  and	
  its	
  deriva-ves	
  
• Replicate	
  the	
  OS	
  drive
• Simple	
  bare-­‐metal	
  restore
‣ OS	
  files	
  with	
  metadata	
  in	
  the	
  DB
• Snapshot	
  both	
  for	
  a	
  full	
  consistent	
  test/recovery	
  environment
‣ Using	
  Postgres	
  FDW	
  with	
  non-­‐DB	
  files
• Same	
  story—snapshots,	
  replica-on,	
  and	
  clones
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
18
Monday, September 23, 13
Demo
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
19
Monday, September 23, 13
Summary	
  &	
  Caveats
‣ Great	
  for	
  quick	
  duplica-on	
  of	
  very	
  large	
  databases
‣ Very	
  efficient	
  for	
  periodic	
  updates	
  of	
  replicas
‣ Combine	
  snapshots	
  with	
  transac-on	
  log	
  archives	
  for	
  faster	
  
access	
  to	
  point-­‐in-­‐-me	
  data
‣ Disk	
  space	
  is	
  only	
  freed	
  when	
  files	
  and	
  snapshots	
  are	
  deleted
‣ Have	
  to	
  shut	
  down	
  the	
  ‘receiving’	
  DB	
  during	
  the	
  update
‣ If	
  your	
  backup	
  sooware	
  finds	
  the	
  .zfs	
  directory	
  you	
  will	
  
experience	
  an--­‐deduplica-on
‣ Recursive	
  snapshots	
  vs	
  snapshots	
  on	
  separate	
  file	
  systems
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
20
Monday, September 23, 13
PostgreSQL	
  and	
  ZFS
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
21
They	
  may	
  not	
  have	
  been	
  designed	
  to	
  work	
  together,	
  
but	
  they	
  do	
  nonetheless
Monday, September 23, 13
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
Go	
  ahead.	
  
It	
  doesn’t	
  hurt
22
Monday, September 23, 13
VM	
  Setup
‣ Before	
  you	
  import	
  the	
  VM	
  into	
  VirtualBox
• VirtualBox	
  4.2.12	
  with	
  VirtualBox	
  Extension	
  Pack
• VT-­‐x/AMD-­‐V	
  accelera-on	
  (may	
  need	
  to	
  enable	
  in	
  BIOS)
• Enough	
  memory	
  to	
  allocate	
  2GB	
  to	
  the	
  VM
• PuTTY	
  or	
  other	
  terminal	
  to	
  access	
  the	
  VM's	
  zones	
  via	
  ssh
• Add	
  a	
  Host-­‐Only	
  Ethernet	
  adapter	
  
with	
  an	
  IPv4	
  address	
  of	
  192.168.68.1	
  and	
  a	
  netmask	
  of	
  255.255.255.0
‣ Import	
  the	
  OmniOS	
  VM	
  and	
  start	
  it	
  up
‣ More	
  detailed	
  instruc-ons	
  and	
  the	
  VM	
  are	
  at:
hZp://sta-c4.usurf.usu.edu/vms
‣ You	
  may	
  get	
  a	
  message	
  about	
  modifying	
  the	
  network	
  seqngs	
  on	
  import
‣ From	
  your	
  host’s	
  shell	
  or	
  PuTTY	
  connect	
  to	
  192.168.68.10
‣ log	
  in	
  as	
  user:	
  admin	
  password:	
  nimda
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
23
Monday, September 23, 13
VM	
  Explora-on
‣ Root	
  privileges
• pfexec	
  executes	
  the	
  following	
  command	
  with	
  root	
  privileges
• prash	
  assumes	
  root	
  status
‣ List,	
  start,	
  access	
  and	
  stop	
  zones
• zoneadm	
  list	
  -­‐cv
• pfexec	
  bin/start-­‐zones.sh
• ssh	
  to	
  admin@192.168.68.(11,12,	
  13,	
  or	
  14)	
  password	
  nimda
• pfexec	
  bin/stop-­‐zones.sh
‣ List	
  and	
  explore	
  zfs	
  filesystems
• zfs	
  list
• zfs	
  list	
  -­‐t	
  all
• zfs	
  list	
  -­‐t	
  all	
  -­‐r	
  rpool/space
• zfs	
  get	
  all	
  rpool/space
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
24
Monday, September 23, 13
ZFS	
  Prac-ce
‣ Create	
  a	
  filesystem	
  and	
  add	
  some	
  content
• zfs	
  create	
  rpool/myfs;	
  	
  cp	
  -­‐r	
  Downloads	
  /rpool/myfs/	
  
‣ Create	
  a	
  snapshot	
  and	
  replicate	
  from	
  it
• zfs	
  snapshot	
  rpool/myfs@rep1
• zfs	
  send	
  rpool/myfs@rep1	
  |	
  zfs	
  recv	
  rpool/myfs-­‐copy@rep1	
  
‣ Add	
  more	
  content
• cp	
  PGrep*	
  /rpool/myfs/
‣ Explore	
  .zfs	
  directories
• cd	
  /rpool/myfs/.zfs/snapshot/rep1
‣ Destroy	
  the	
  file	
  systems
• zfs	
  destroy	
  -­‐r	
  rpool/myfs
• zfs	
  destroy	
  -­‐r	
  rpool/myfs-­‐copy
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
25
Monday, September 23, 13
The	
  OmniOS	
  Virtual	
  Machine
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
26
Global zone
Zone2
File-based
Slave
• The /rpool/space/shared1 and /rpool/space/shared2 directories in the global
zone are mounted as /shared1 and /shared2 in zones 1-4
• Each zone is its own isolated OS environment which can be rebooted
independently. There is a postgres instance in each zone configured for
replication with another zone.
• Zones are connected via a host-only network using the 192.168.68.x subnet
Zone1
File-based
Master
Zone3
Streaming
Master
Zone4
Streaming
Slave
Monday, September 23, 13
PostgreSQL	
  Built-­‐in	
  Replica-on	
  Demos
‣ Replica-on	
  based	
  on	
  log-­‐file	
  shipping
• bin/log-­‐shipping-­‐launch.sh
starts	
  replica-on	
  from	
  zone1	
  to	
  zone2
• Add	
  tables	
  to	
  PG	
  in	
  zone1	
  and	
  veiw	
  in	
  zone2’s	
  PG
• Monitor	
  server	
  log	
  on	
  zone2	
  to	
  see	
  log	
  file	
  ingest
less	
  +F	
  /var/postgres/server.log
• bin/log-­‐shipping-­‐reset.sh	
  to	
  stop	
  and	
  reset	
  
‣ Streaming	
  replica-on
• bin/stream-­‐shipping-­‐launch.sh
starts	
  replica-on	
  from	
  zone3	
  to	
  zone4
• Add	
  tables	
  to	
  PG	
  in	
  zone3	
  and	
  veiw	
  in	
  zone4’s	
  PG
• bin/log-­‐shipping-­‐reset.sh	
  to	
  stop	
  and	
  reset
Postgres	
  on	
  ZFS	
  -­‐	
  Keith	
  Paske5
27
Monday, September 23, 13

Más contenido relacionado

La actualidad más candente

Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014krispcbsd
 
What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7Osys AG
 
Backup with Bareos and ZFS - by Christian Reiß
Backup with Bareos and ZFS - by Christian ReißBackup with Bareos and ZFS - by Christian Reiß
Backup with Bareos and ZFS - by Christian ReißNETWAYS
 
Relax-and-Recover Automated Testing
Relax-and-Recover Automated TestingRelax-and-Recover Automated Testing
Relax-and-Recover Automated TestingGratien D'haese
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleThe Linux Foundation
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storageMarian Marinov
 
JetStor ZFS DUAL NAS introduction
JetStor ZFS DUAL NAS introductionJetStor ZFS DUAL NAS introduction
JetStor ZFS DUAL NAS introductionGene Leyzarovich
 
Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3David Pasek
 
Cinder enhancements-for-replication-using-stateless-snapshots
Cinder enhancements-for-replication-using-stateless-snapshotsCinder enhancements-for-replication-using-stateless-snapshots
Cinder enhancements-for-replication-using-stateless-snapshotsCaitlin Bestler
 
Storage based snapshots for KVM VMs in CloudStack
Storage based snapshots for KVM VMs in CloudStackStorage based snapshots for KVM VMs in CloudStack
Storage based snapshots for KVM VMs in CloudStackShapeBlue
 
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelXPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelThe Linux Foundation
 
Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Richard Clark
 

La actualidad más candente (20)

Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014Life Preserver - AsiaBSDCon2014
Life Preserver - AsiaBSDCon2014
 
What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7
 
Backup with Bareos and ZFS - by Christian Reiß
Backup with Bareos and ZFS - by Christian ReißBackup with Bareos and ZFS - by Christian Reiß
Backup with Bareos and ZFS - by Christian Reiß
 
Relax-and-Recover Automated Testing
Relax-and-Recover Automated TestingRelax-and-Recover Automated Testing
Relax-and-Recover Automated Testing
 
Ilf2013
Ilf2013Ilf2013
Ilf2013
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
 
Texas 2013
Texas 2013Texas 2013
Texas 2013
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storage
 
Self 2013
Self 2013Self 2013
Self 2013
 
JetStor ZFS DUAL NAS introduction
JetStor ZFS DUAL NAS introductionJetStor ZFS DUAL NAS introduction
JetStor ZFS DUAL NAS introduction
 
Scale2014
Scale2014Scale2014
Scale2014
 
Proxmox for DevOps
Proxmox for DevOpsProxmox for DevOps
Proxmox for DevOps
 
ZFS Talk Part 1
ZFS Talk Part 1ZFS Talk Part 1
ZFS Talk Part 1
 
Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3
 
Cinder enhancements-for-replication-using-stateless-snapshots
Cinder enhancements-for-replication-using-stateless-snapshotsCinder enhancements-for-replication-using-stateless-snapshots
Cinder enhancements-for-replication-using-stateless-snapshots
 
Storage based snapshots for KVM VMs in CloudStack
Storage based snapshots for KVM VMs in CloudStackStorage based snapshots for KVM VMs in CloudStack
Storage based snapshots for KVM VMs in CloudStack
 
TDS-16489U-R2 0215 EN
TDS-16489U-R2 0215 ENTDS-16489U-R2 0215 EN
TDS-16489U-R2 0215 EN
 
Quickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStackQuickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStack
 
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelXPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
 
Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018
 

Destacado

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
Steve Singer - Managing PostgreSQL with Puppet @ Postgres Open
Steve Singer - Managing PostgreSQL with Puppet @ Postgres OpenSteve Singer - Managing PostgreSQL with Puppet @ Postgres Open
Steve Singer - Managing PostgreSQL with Puppet @ Postgres OpenPostgresOpen
 
Michael Bayer Introduction to SQLAlchemy @ Postgres Open
Michael Bayer Introduction to SQLAlchemy @ Postgres OpenMichael Bayer Introduction to SQLAlchemy @ Postgres Open
Michael Bayer Introduction to SQLAlchemy @ Postgres OpenPostgresOpen
 
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
 
Koichi Suzuki - Postgres-XC Dynamic Cluster Management @ Postgres Open
Koichi Suzuki - Postgres-XC Dynamic Cluster  Management @ Postgres OpenKoichi Suzuki - Postgres-XC Dynamic Cluster  Management @ Postgres Open
Koichi Suzuki - Postgres-XC Dynamic Cluster Management @ Postgres OpenPostgresOpen
 
Gbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfsGbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfsGiuseppe Broccolo
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HAharoonm
 
Michael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres OpenMichael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres OpenPostgresOpen
 

Destacado (20)

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...
 
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
 
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
 
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
 
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
 
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
 
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...
 
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...
 
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
 
Steve Singer - Managing PostgreSQL with Puppet @ Postgres Open
Steve Singer - Managing PostgreSQL with Puppet @ Postgres OpenSteve Singer - Managing PostgreSQL with Puppet @ Postgres Open
Steve Singer - Managing PostgreSQL with Puppet @ Postgres Open
 
Michael Bayer Introduction to SQLAlchemy @ Postgres Open
Michael Bayer Introduction to SQLAlchemy @ Postgres OpenMichael Bayer Introduction to SQLAlchemy @ Postgres Open
Michael Bayer Introduction to SQLAlchemy @ Postgres Open
 
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
 
Koichi Suzuki - Postgres-XC Dynamic Cluster Management @ Postgres Open
Koichi Suzuki - Postgres-XC Dynamic Cluster  Management @ Postgres OpenKoichi Suzuki - Postgres-XC Dynamic Cluster  Management @ Postgres Open
Koichi Suzuki - Postgres-XC Dynamic Cluster Management @ Postgres Open
 
Gbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfsGbroccolo pgconfeu2016 pgnfs
Gbroccolo pgconfeu2016 pgnfs
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
 
Michael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres OpenMichael Paquier - Taking advantage of custom bgworkers @ Postgres Open
Michael Paquier - Taking advantage of custom bgworkers @ Postgres Open
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 

Similar a Keith Paskett - Postgres on ZFS @ Postgres Open

NDH2k12 Cloud Computing Security
NDH2k12 Cloud Computing SecurityNDH2k12 Cloud Computing Security
NDH2k12 Cloud Computing SecurityMatthieu Bouthors
 
Install power linux through cdrom and network redhat and suse
Install power linux through cdrom and network   redhat and suseInstall power linux through cdrom and network   redhat and suse
Install power linux through cdrom and network redhat and susezhangjunli
 
MySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningMySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningLenz Grimmer
 
Performance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsPerformance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsNeependra Khare
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawnGábor Nyers
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Praguetomasbart
 
Veeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and TricksVeeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and TricksVeeam Software
 
Making MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureMaking MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureIlmar Kerm
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsCumulus Networks
 
Comparison of foss distributed storage
Comparison of foss distributed storageComparison of foss distributed storage
Comparison of foss distributed storageMarian Marinov
 
High performance content hosting
High performance content hosting High performance content hosting
High performance content hosting Aleksey Korzun
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016StackIQ
 

Similar a Keith Paskett - Postgres on ZFS @ Postgres Open (20)

NDH2k12 Cloud Computing Security
NDH2k12 Cloud Computing SecurityNDH2k12 Cloud Computing Security
NDH2k12 Cloud Computing Security
 
Install power linux through cdrom and network redhat and suse
Install power linux through cdrom and network   redhat and suseInstall power linux through cdrom and network   redhat and suse
Install power linux through cdrom and network redhat and suse
 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
 
MySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningMySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery Planning
 
Performance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsPerformance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fs
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawn
 
Zfs intro v2
Zfs intro v2Zfs intro v2
Zfs intro v2
 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Prague
 
Nycbsdcon14
Nycbsdcon14Nycbsdcon14
Nycbsdcon14
 
Veeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and TricksVeeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and Tricks
 
Making MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid InfrastructureMaking MySQL highly available using Oracle Grid Infrastructure
Making MySQL highly available using Oracle Grid Infrastructure
 
Cluster filesystems
Cluster filesystemsCluster filesystems
Cluster filesystems
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
 
Comparison of foss distributed storage
Comparison of foss distributed storageComparison of foss distributed storage
Comparison of foss distributed storage
 
High performance content hosting
High performance content hosting High performance content hosting
High performance content hosting
 
Tlf2014
Tlf2014Tlf2014
Tlf2014
 
OpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 WorkshopOpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 Workshop
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
 
Flourish16
Flourish16Flourish16
Flourish16
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Último (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Keith Paskett - Postgres on ZFS @ Postgres Open

  • 1. SENSING THE PRESENT. SECURING THE FUTURE PostgreSQL  on  ZFS ‣ Replica(on,  Backup,  Human-­‐disaster  Recovery, and  More... ‣ Keith  Paske> ‣ Keith@Paske>.org ‣ @klpaske> Monday, September 23, 13
  • 2. Agenda ‣ Introduc-on ‣ Defining  the  Problem  (Opportunity) ‣ ZFS  Advantages  for  your  Postgres  instance ‣ What  ZFS  is  and  where  you  can  get  it ‣ ZFS  snapshots—where  the  magic  happens ‣ Cloning  for  Valida-on,  Tes-ng  and  Recovery ‣ Adding  ZFS  to  Log/Streaming  Replica-on ‣ Beyond  the  database ‣ Summary  and  Demo Postgres  on  ZFS  -­‐  Keith  Paske5 2 Monday, September 23, 13
  • 3. Introduc-on Postgres  on  ZFS  -­‐  Keith  Paske5 3 Text Monday, September 23, 13
  • 4. Postgres  on  ZFS  -­‐  Keith  Paske5 4 Trouble  lurks Where  you  least  expect  it Monday, September 23, 13
  • 5. And  comes in  all  sizes Postgres  on  ZFS  -­‐  Keith  Paske5 5 Monday, September 23, 13
  • 6. Backup  &  Recovery  Disconnect ‣ Less  likely  disaster  scenarios • Server  failure • Mul(ple  drive  failures  in  a  raid  array • Data  center  fla>ened  by  (choose  your  disaster) ‣ Common  'human'  disaster  scenarios • Dropped  table • Deleted  data • Altered  data ‣ Many  backup  solu-ons  focus  on  the  least  likely  disaster ‣ ZFS  helps  protect  against  more  common  disasters Postgres  on  ZFS  -­‐  Keith  Paske5 6 Monday, September 23, 13
  • 7. I  Wish  I  Could... ‣ Test  an  upgrade  script  on  a  mul--­‐terabyte  database  without   having  to  set  up  a  separate  server  with  terabytes  of  storage ‣ Quickly  roll  back  from  an  upgrade  if  things  go  badly ‣ Have  point-­‐in-­‐-me  access  to  a  large  database  without  having  to   do  a  restore  then  replay  a  week’s  worth  of  transac-on  logs Postgres  on  ZFS  -­‐  Keith  Paske5 7 Monday, September 23, 13
  • 8. ZFS  Advantages  for  Databases ‣ Fast  efficient  replica-on  (one-­‐way  periodic  update) ‣ Low/no-­‐impact  snapshots ‣ Read/write  access  to  snapshots  via  clones ‣ Pool  physical  devices ‣ Send/receive  snapshots   ‣ Bidirec-onal  incremental  send/receive ‣ Solid  state  cache  drives ‣ Upgrade  to  larger  physical  drives  with  zero  down-me ‣ Con-nuous  integrity  checking  and  automa-c  repair ‣ Built  in  compression—can  actually  improve  performance Postgres  on  ZFS  -­‐  Keith  Paske5 8 Monday, September 23, 13
  • 9. What ‣ ZFS    ZeZabyte  File  System. ‣ Not  just  a  file  system.  It’s  a  storage  infrastructure. ‣ Transac-onal,  Copy-­‐on-­‐write ‣ Always  consistent  on  disk. ‣ Fully  checksummed. ‣ Loves  memory  and  SSD,  and  it  knows  how  to  use  them. ‣ It’s  easy!  There  are  only  two  commands. Postgres  on  ZFS  -­‐  Keith  Paske5 9 Monday, September 23, 13
  • 10. Where ‣ IllumOS • OmniOS • OpenIndiana • SmartOS  (No  OS  drive.  Really.) ‣ FreeBSD ‣ Linux  -­‐  Yes  it  is  produc-on  ready ‣ OS  X ‣ That  other  OS  that  helps  fund  the  purchase  of  tropical  islands Postgres  on  ZFS  -­‐  Keith  Paske5 10 Monday, September 23, 13
  • 11. ZFS  -­‐  It's  all  about  the  snapshots Postgres  on  ZFS  -­‐  Keith  Paske5 11 •Snapshot1 •Snapshot2 •Snapshot3 •Snapshot4 •Snapshot5 •Snapshot6 •Snapshot7 FileSystem1 FileSystem2 •Snapshot1 •Snapshot2 • • •Snapshot5 •Snapshot6 •Snapshot7 FSclone3 FSclone4 FSclone1 FSclone2 Monday, September 23, 13
  • 12. Send  &  Receive Postgres  on  ZFS  -­‐  Keith  Paske5 12 •Snapshot1 DataDir1 DataDir2 •Snapshot1 •Snapshot3 DB Updates •Snapshot2 DB Updates •Snapshot2 •Snapshot3 Monday, September 23, 13
  • 13. Accessing  Snapshot  Contents ‣ .zfs  directory • 'cd  .zfs/snapshot/snapname'  from  base  ZFS  directory • 'ls  -­‐a'  in  base  directory  won't  show  the  .zfs  directory • Snapshot  directories  are  read  only • Tape  backup  of  snapshot  directory  will  be  consistent ‣ Create  a  clone  from  a  snapshot • zfs  clone  fsname@snapshotname  clonename • Clones  are  writable • Only  take  addi-onal  disk  space  as  data  is  changed • Simply  awesome  for  replica-ng  a  TB  database  in  seconds Postgres  on  ZFS  -­‐  Keith  Paske5 13 Monday, September 23, 13
  • 14. Clone  &  Recover Postgres  on  ZFS  -­‐  Keith  Paske5 14 •Snapshot1 •Snapshot2 •Snapshot3 DataDir1 DataDir1 clone pg_dump of table and data Drop Table Monday, September 23, 13
  • 15. Snapshots  &  Transac-on  Logs Postgres  on  ZFS  -­‐  Keith  Paske5 15 421 3 xlog1 xlog2 ... xlog1 xlog2 ... xlog1 xlog2 ... xlog1 xlog2 ... Transaction log archive Monday, September 23, 13
  • 16. Snapshot  Frequency ‣ Tune  to  your  needs ‣ My  preferences  for  transac-onal  databases • Every  10-­‐20  minutes,  keep  for  9  hours • Daily,  keep  for  10  days • Weekly,  keep  for  8  weeks ‣ cronable  scripts  (examples  in  the  VM) • snapshots.sh  creates  snapshots  with  hour,  day,  or  week  name  embeded • snapshot-­‐cleanup.sh  removes  snapshots  older  than  a  specified  -me Postgres  on  ZFS  -­‐  Keith  Paske5 16 Monday, September 23, 13
  • 17. ZFS  Compression ‣ Can  improve  performance  especially  for  streaming  data  sets ‣ Turning  on  only  compresses  subsequent  writes ‣ Check  out  test  results  from  citusdata • hZp://citusdata.com/blog/64-­‐zfs-­‐compression ‣ Commands • zfs  set  compression=on  fs/name  (LZJB) • zfs  set  compression=gzip  fs/name • zfs  set  compression=gzip-­‐9  fs/name Postgres  on  ZFS  -­‐  Keith  Paske5 17 Monday, September 23, 13
  • 18. Beyond  the  Database ‣ For  Solaris  and  its  deriva-ves   • Replicate  the  OS  drive • Simple  bare-­‐metal  restore ‣ OS  files  with  metadata  in  the  DB • Snapshot  both  for  a  full  consistent  test/recovery  environment ‣ Using  Postgres  FDW  with  non-­‐DB  files • Same  story—snapshots,  replica-on,  and  clones Postgres  on  ZFS  -­‐  Keith  Paske5 18 Monday, September 23, 13
  • 19. Demo Postgres  on  ZFS  -­‐  Keith  Paske5 19 Monday, September 23, 13
  • 20. Summary  &  Caveats ‣ Great  for  quick  duplica-on  of  very  large  databases ‣ Very  efficient  for  periodic  updates  of  replicas ‣ Combine  snapshots  with  transac-on  log  archives  for  faster   access  to  point-­‐in-­‐-me  data ‣ Disk  space  is  only  freed  when  files  and  snapshots  are  deleted ‣ Have  to  shut  down  the  ‘receiving’  DB  during  the  update ‣ If  your  backup  sooware  finds  the  .zfs  directory  you  will   experience  an--­‐deduplica-on ‣ Recursive  snapshots  vs  snapshots  on  separate  file  systems Postgres  on  ZFS  -­‐  Keith  Paske5 20 Monday, September 23, 13
  • 21. PostgreSQL  and  ZFS Postgres  on  ZFS  -­‐  Keith  Paske5 21 They  may  not  have  been  designed  to  work  together,   but  they  do  nonetheless Monday, September 23, 13
  • 22. Postgres  on  ZFS  -­‐  Keith  Paske5 Go  ahead.   It  doesn’t  hurt 22 Monday, September 23, 13
  • 23. VM  Setup ‣ Before  you  import  the  VM  into  VirtualBox • VirtualBox  4.2.12  with  VirtualBox  Extension  Pack • VT-­‐x/AMD-­‐V  accelera-on  (may  need  to  enable  in  BIOS) • Enough  memory  to  allocate  2GB  to  the  VM • PuTTY  or  other  terminal  to  access  the  VM's  zones  via  ssh • Add  a  Host-­‐Only  Ethernet  adapter   with  an  IPv4  address  of  192.168.68.1  and  a  netmask  of  255.255.255.0 ‣ Import  the  OmniOS  VM  and  start  it  up ‣ More  detailed  instruc-ons  and  the  VM  are  at: hZp://sta-c4.usurf.usu.edu/vms ‣ You  may  get  a  message  about  modifying  the  network  seqngs  on  import ‣ From  your  host’s  shell  or  PuTTY  connect  to  192.168.68.10 ‣ log  in  as  user:  admin  password:  nimda Postgres  on  ZFS  -­‐  Keith  Paske5 23 Monday, September 23, 13
  • 24. VM  Explora-on ‣ Root  privileges • pfexec  executes  the  following  command  with  root  privileges • prash  assumes  root  status ‣ List,  start,  access  and  stop  zones • zoneadm  list  -­‐cv • pfexec  bin/start-­‐zones.sh • ssh  to  admin@192.168.68.(11,12,  13,  or  14)  password  nimda • pfexec  bin/stop-­‐zones.sh ‣ List  and  explore  zfs  filesystems • zfs  list • zfs  list  -­‐t  all • zfs  list  -­‐t  all  -­‐r  rpool/space • zfs  get  all  rpool/space Postgres  on  ZFS  -­‐  Keith  Paske5 24 Monday, September 23, 13
  • 25. ZFS  Prac-ce ‣ Create  a  filesystem  and  add  some  content • zfs  create  rpool/myfs;    cp  -­‐r  Downloads  /rpool/myfs/   ‣ Create  a  snapshot  and  replicate  from  it • zfs  snapshot  rpool/myfs@rep1 • zfs  send  rpool/myfs@rep1  |  zfs  recv  rpool/myfs-­‐copy@rep1   ‣ Add  more  content • cp  PGrep*  /rpool/myfs/ ‣ Explore  .zfs  directories • cd  /rpool/myfs/.zfs/snapshot/rep1 ‣ Destroy  the  file  systems • zfs  destroy  -­‐r  rpool/myfs • zfs  destroy  -­‐r  rpool/myfs-­‐copy Postgres  on  ZFS  -­‐  Keith  Paske5 25 Monday, September 23, 13
  • 26. The  OmniOS  Virtual  Machine Postgres  on  ZFS  -­‐  Keith  Paske5 26 Global zone Zone2 File-based Slave • The /rpool/space/shared1 and /rpool/space/shared2 directories in the global zone are mounted as /shared1 and /shared2 in zones 1-4 • Each zone is its own isolated OS environment which can be rebooted independently. There is a postgres instance in each zone configured for replication with another zone. • Zones are connected via a host-only network using the 192.168.68.x subnet Zone1 File-based Master Zone3 Streaming Master Zone4 Streaming Slave Monday, September 23, 13
  • 27. PostgreSQL  Built-­‐in  Replica-on  Demos ‣ Replica-on  based  on  log-­‐file  shipping • bin/log-­‐shipping-­‐launch.sh starts  replica-on  from  zone1  to  zone2 • Add  tables  to  PG  in  zone1  and  veiw  in  zone2’s  PG • Monitor  server  log  on  zone2  to  see  log  file  ingest less  +F  /var/postgres/server.log • bin/log-­‐shipping-­‐reset.sh  to  stop  and  reset   ‣ Streaming  replica-on • bin/stream-­‐shipping-­‐launch.sh starts  replica-on  from  zone3  to  zone4 • Add  tables  to  PG  in  zone3  and  veiw  in  zone4’s  PG • bin/log-­‐shipping-­‐reset.sh  to  stop  and  reset Postgres  on  ZFS  -­‐  Keith  Paske5 27 Monday, September 23, 13