SlideShare a Scribd company logo
¿Open Solaris y
       Postgresql?
Por lo menos, tenés que escucharlos...


  Emanuel Calvo Franco @ AOSUG
“Postgresql y Solaris conforman una
plataforma de bajo costo para escenarios
críticos de mediana a gran escala.”
¿ Que es Postgresql ?
Base de Datos Objeto Relacional.
Arquitectura Cliente -Servidor.
 Estable, capaz de correr con escasos recursos,
segura y extensible.
Características de Postgresql
MVCC.
PITR
ACID compliant.
Mejorada para Solaris.
Standard SQL:2003
Funciones criptográficas avanzadas.
Diversos lenguajes procedurales.
Solaris + Pgsql
Soporte Dtrace.
Escalabilidad para multinucleos y procesadores.
Solaris Cluster support and the PostgreSQL HA Agent
Solaris Service Manager integration.
Benchmarks
Benchmarks
Benchmarks
Derby




    Mysql




Postgresql                                           Postgresql
                                                     Other




   Oracle




Greenplum




             0   2   4   6   8   10   12   14   16
Características
Más beneficios con Solaris

• Sun Cluster support
  > Sun Cluster agent available
  > Fully supported
• ZFS + Zones for Hot Standby
  > ZFS cloning & replication lets you “clone” your database
  > Zones allows you to “clone” your DB server
  > OmniTI is using this technique to support a 6TB data warehouse
on PostgreSQL
Zonas ... + seguridad

  • Zones are Perfect for “hosted” PostgreSQL
 > allows 100% isolation of PostgreSQL instances per
                 customer/application
   > set CPU & RAM limits for each Zone (in SXDE)
          > PostgreSQL can't do this natively
    > no per-user limits, no ability to hide the system tables
> Being used by Joyent.com to host 100's of customers.
Instalando
Instalar (usando Sun Studio -
    Homo Simplus Compilatus ® )
# ./configure --prefix=/usr/local/pg824 CC=/opt/SUNWspro/bin/cc CFLAGS=quot;-
xO3 -xarch=native -xspace -W0,-Lt -W2,-Rcond_elim -Xa -xildoff -xc99=none
-xCCquot; –without-readline –with-perl –with-python –enable-dtrace
# gmake
# gmake install
# useradd postgres
# groupadd postgres
# useradd -c 'PostgreSQL user' -d /export/home/postgres -g postgres -m -s /bin/
bash postgres
postgres$ $PG_BIN/initdb -D /data -U postgres
Instalar II
emanuel@opensolaris_test:~$ pfexec su - postgres
Sun Microsystems Inc. SunOS 5.11         snv_101b November 2008
-bash-3.2$ ls
bin    data84 include lib     share
-bash-3.2$ bin/post
postgres   postmaster
-bash-3.2$ bin/pg_ctl -D data84/ start
server starting
-bash-3.2$ LOG: database system was shut down at 2009-05-18 18:18:51 ART
LOG: autovacuum launcher started
LOG: database system is ready to accept connections
Instalar (usando Sun Studio -
          Homo Paquetus ® )
# pkg install SUNWpostgr83server && pkg install SUNWpostgr83client
(ultimo en el repo SUNWpostgr-83-server@8.3.4-0.101)
- Levantar el servicio:
# svcadm enable svc:/application/database/postgresql_83:default_32bit
# /usr/sbin/svcadm enable postgresql:version_82
Zonas
Ejemplo simple de una zona
global# zonecfg -z pg_zone                            ######instalo

zonecfg:pg_zone> create                               global# zoneadm -z pg_zone install
zonecfg:pg_zone> set zonepath=/export/zones/pg_zone   ########listo
zonecfg:pg_zone> set autoboot=true                    global# zoneadm list -iv
zonecfg:pg_zone> add net                              ########booteo
zonecfg:pg_zone:net> set address=10.6.222.74/24       global# zoneadm -z pg_zone boot
zonecfg:pg_zone:net> set physical=ipge0               #######logueo
zonecfg:pg_zone:net> end                              global# zlogin -C pg_zone
zonecfg:pg_zone> verify

zonecfg:pg_zone> commit
zonecfg:pg_zone> exit
ZFS
Very simple tricks
# zfs create -b 8192 rpool/data
# zfs list
# zfs set mountpoint=data84 rpool/data84
# zfs set mountpoint=$PWD/data84 rpool/data84
# zfs set compression=on rpool/data84
# zfs list
# zfs set quota=1g rpool/data84
# zfs set reservation=100m rpool/data84
# zfs set sharenfs=rw rpool/data84
# zpool list
# zfs list
DTrace
Script D
#!/usr/sbin/dtrace -s

syscall:::entry

/execname== quot;postgresquot;/

{

self->ts=timestamp;

}

syscall:::return

/execname== quot;postgresquot; && self->ts/

{

@a[quot;Countquot;,probefunc] = count();

@b[quot;Timequot;,probefunc] = sum (timestamp - self->ts);

self->ts=0;

}

tick-10sec

{

exit(0);

}
Ejemplo
root@opensolaris_test:/usr/local/postgres_home_84# ./syscall.d
dtrace: script './syscall.d' matched 471 probes
CPU      ID            FUNCTION:NAME
 0 55976                :tick-10sec
 Count                                gtime                          47
 Count                                pollsys                        105
 Count                                getpid                         109
 Time                                 gtime                       8438387
 Time                                 getpid                      29391576
 Time                                 pollsys                    36537963468
Medición de Transacciones
#!/usr/sbin/dtrace -qs                profile:::tick-1s

postgresql*:::transaction-start       {

{                                     printf(quot;******** Transactions Per Second
                                      *********nquot;);
@startpersec[quot;Newquot;] = count();
                                      printf(quot;%20s %15snquot;, quot;Txn Typequot;, quot;Countquot;);
}
                                      printf(quot;============================
postgresql*:::transaction-commit      ==============nquot;);
{                                     printa(quot;%20s %@15dnquot;, @startpersec);
@commitpersec[ quot;Commitquot;] = count();   printa(quot;%20s %@15dnquot;, @commitpersec);
}                                     printa(quot;%20s %@15dnquot;, @abort);
postgresql*:::transaction-abort            printf(quot;nquot;);
{                                     clear(@startpersec);
@abort[quot;Abortquot;] = count();            clear(@commitpersec);
}                                     clear(@abort); }
Salida
******** Transactions Per Second *********

       Txn Type        Count

==========================================

          New          192

        Commit           192

         Abort          1



******** Transactions Per Second *********

       Txn Type        Count

==========================================

          New          175

        Commit           172

         Abort          0



DELTA: select now(),sum(n_tup_ins) as n_tup_ins,sum(n_tup_upd) as n_tup_upd,sum(n_tup_del) as n_tup_del from
pg_stat_user_tables;
Postgresql
Arquitecture
Another things
  and Q&A
Gracias!!

More Related Content

What's hot

Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)
Giovanni Bechis
 
Debugging TV Frame 0x09
Debugging TV Frame 0x09Debugging TV Frame 0x09
Debugging TV Frame 0x09
Dmitry Vostokov
 
Node day 2014
Node day 2014Node day 2014
Node day 2014
Trevor Norris
 
Fast HTTP string processing algorithms
Fast HTTP string processing algorithmsFast HTTP string processing algorithms
Fast HTTP string processing algorithms
Alexander Krizhanovsky
 
...Lag
...Lag...Lag
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20
DefconRussia
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Ontico
 
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Mathias Herberts
 
Ravada VDI Eslibre
Ravada VDI EslibreRavada VDI Eslibre
Ravada VDI Eslibre
frankiejol
 
Практический опыт профайлинга и оптимизации производительности Ruby-приложений
Практический опыт профайлинга и оптимизации производительности Ruby-приложенийПрактический опыт профайлинга и оптимизации производительности Ruby-приложений
Практический опыт профайлинга и оптимизации производительности Ruby-приложений
Olga Lavrentieva
 
Application of Radare2 Illustrated by Shylock and Snakso.A Analysis
Application of Radare2 Illustrated by Shylock and Snakso.A AnalysisApplication of Radare2 Illustrated by Shylock and Snakso.A Analysis
Application of Radare2 Illustrated by Shylock and Snakso.A AnalysisPositive Hack Days
 
Playing 44CON CTF for fun and profit
Playing 44CON CTF for fun and profitPlaying 44CON CTF for fun and profit
Playing 44CON CTF for fun and profit
44CON
 
Node js lecture
Node js lectureNode js lecture
Node js lecture
Darryl Sherman
 
This is not your father's monitoring.
This is not your father's monitoring.This is not your father's monitoring.
This is not your father's monitoring.
Mathias Herberts
 
Preparation for mit ose lab4
Preparation for mit ose lab4Preparation for mit ose lab4
Preparation for mit ose lab4
Benux Wei
 
Artimon - Apache Flume (incubating) NYC Meetup 20111108
Artimon - Apache Flume (incubating) NYC Meetup 20111108Artimon - Apache Flume (incubating) NYC Meetup 20111108
Artimon - Apache Flume (incubating) NYC Meetup 20111108
Mathias Herberts
 
Leveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy SystemsLeveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy Systems
Mathias Herberts
 
Radare2 @ ndh2k15 : First r2babies steps
Radare2 @ ndh2k15 : First r2babies stepsRadare2 @ ndh2k15 : First r2babies steps
Radare2 @ ndh2k15 : First r2babies steps
Maijin
 
ch6-pv2-device-drivers
ch6-pv2-device-driversch6-pv2-device-drivers
ch6-pv2-device-driversyushiang fu
 

What's hot (20)

Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)
 
Debugging TV Frame 0x09
Debugging TV Frame 0x09Debugging TV Frame 0x09
Debugging TV Frame 0x09
 
Node day 2014
Node day 2014Node day 2014
Node day 2014
 
Fast HTTP string processing algorithms
Fast HTTP string processing algorithmsFast HTTP string processing algorithms
Fast HTTP string processing algorithms
 
...Lag
...Lag...Lag
...Lag
 
Yg byev2e
Yg byev2eYg byev2e
Yg byev2e
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
 
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
Warp 10 Platform Presentation - Criteo Beer & Tech 2016-02-03
 
Ravada VDI Eslibre
Ravada VDI EslibreRavada VDI Eslibre
Ravada VDI Eslibre
 
Практический опыт профайлинга и оптимизации производительности Ruby-приложений
Практический опыт профайлинга и оптимизации производительности Ruby-приложенийПрактический опыт профайлинга и оптимизации производительности Ruby-приложений
Практический опыт профайлинга и оптимизации производительности Ruby-приложений
 
Application of Radare2 Illustrated by Shylock and Snakso.A Analysis
Application of Radare2 Illustrated by Shylock and Snakso.A AnalysisApplication of Radare2 Illustrated by Shylock and Snakso.A Analysis
Application of Radare2 Illustrated by Shylock and Snakso.A Analysis
 
Playing 44CON CTF for fun and profit
Playing 44CON CTF for fun and profitPlaying 44CON CTF for fun and profit
Playing 44CON CTF for fun and profit
 
Node js lecture
Node js lectureNode js lecture
Node js lecture
 
This is not your father's monitoring.
This is not your father's monitoring.This is not your father's monitoring.
This is not your father's monitoring.
 
Preparation for mit ose lab4
Preparation for mit ose lab4Preparation for mit ose lab4
Preparation for mit ose lab4
 
Artimon - Apache Flume (incubating) NYC Meetup 20111108
Artimon - Apache Flume (incubating) NYC Meetup 20111108Artimon - Apache Flume (incubating) NYC Meetup 20111108
Artimon - Apache Flume (incubating) NYC Meetup 20111108
 
Leveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy SystemsLeveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy Systems
 
Radare2 @ ndh2k15 : First r2babies steps
Radare2 @ ndh2k15 : First r2babies stepsRadare2 @ ndh2k15 : First r2babies steps
Radare2 @ ndh2k15 : First r2babies steps
 
ch6-pv2-device-drivers
ch6-pv2-device-driversch6-pv2-device-drivers
ch6-pv2-device-drivers
 

Viewers also liked

Monitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQLMonitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQL
Emanuel Calvo
 
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAYPostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAYEmanuel Calvo
 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on awsEmanuel Calvo
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
Emanuel Calvo
 
PostgreSQL and Sphinx pgcon 2013
PostgreSQL and Sphinx   pgcon 2013PostgreSQL and Sphinx   pgcon 2013
PostgreSQL and Sphinx pgcon 2013
Emanuel Calvo
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
Luminary Labs
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
 

Viewers also liked (9)

Pgbr 2013 fts
Pgbr 2013 ftsPgbr 2013 fts
Pgbr 2013 fts
 
Monitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQLMonitoreo de MySQL y PostgreSQL con SQL
Monitoreo de MySQL y PostgreSQL con SQL
 
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAYPostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
PostgreSQL FTS Solutions FOSDEM 2013 - PGDAY
 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on aws
 
Admon PG 1
Admon PG 1Admon PG 1
Admon PG 1
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
PostgreSQL and Sphinx pgcon 2013
PostgreSQL and Sphinx   pgcon 2013PostgreSQL and Sphinx   pgcon 2013
PostgreSQL and Sphinx pgcon 2013
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar to Osol Pgsql

CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
PROIDEA
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
Cyber Security Alliance
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01Karam Abuataya
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11g
fcamachob
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
POSSCON
 
Dynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteDynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web site
Sriram Natarajan
 
Best Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesBest Practices in Handling Performance Issues
Best Practices in Handling Performance Issues
Odoo
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
KAI CHU CHUNG
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
yang bingwu
 
Pycon - Python for ethical hackers
Pycon - Python for ethical hackers Pycon - Python for ethical hackers
Pycon - Python for ethical hackers
Mohammad Reza Kamalifard
 
Explain this!
Explain this!Explain this!
Explain this!
Fabio Telles Rodriguez
 
Deathstar
DeathstarDeathstar
Deathstar
armstrtw
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newYiwei Ma
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
Wesley Beary
 
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
StackIQ
 
D Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance ProblemsD Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance ProblemsMySQLConference
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
Wesley Beary
 
Scaling IO-bound microservices
Scaling IO-bound microservicesScaling IO-bound microservices
Scaling IO-bound microservices
Salo Shp
 
Memcached Study
Memcached StudyMemcached Study
Memcached Study
nam kwangjin
 
Ping to Pong
Ping to PongPing to Pong
Ping to Pong
Matt Provost
 

Similar to Osol Pgsql (20)

CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11g
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
Dynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web siteDynamic Tracing of your AMP web site
Dynamic Tracing of your AMP web site
 
Best Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesBest Practices in Handling Performance Issues
Best Practices in Handling Performance Issues
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
 
A little systemtap
A little systemtapA little systemtap
A little systemtap
 
Pycon - Python for ethical hackers
Pycon - Python for ethical hackers Pycon - Python for ethical hackers
Pycon - Python for ethical hackers
 
Explain this!
Explain this!Explain this!
Explain this!
 
Deathstar
DeathstarDeathstar
Deathstar
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
 
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
 
D Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance ProblemsD Trace Support In My Sql Guide To Solving Reallife Performance Problems
D Trace Support In My Sql Guide To Solving Reallife Performance Problems
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
 
Scaling IO-bound microservices
Scaling IO-bound microservicesScaling IO-bound microservices
Scaling IO-bound microservices
 
Memcached Study
Memcached StudyMemcached Study
Memcached Study
 
Ping to Pong
Ping to PongPing to Pong
Ping to Pong
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

Osol Pgsql

  • 1. ¿Open Solaris y Postgresql? Por lo menos, tenés que escucharlos... Emanuel Calvo Franco @ AOSUG
  • 2. “Postgresql y Solaris conforman una plataforma de bajo costo para escenarios críticos de mediana a gran escala.”
  • 3. ¿ Que es Postgresql ? Base de Datos Objeto Relacional. Arquitectura Cliente -Servidor. Estable, capaz de correr con escasos recursos, segura y extensible.
  • 4. Características de Postgresql MVCC. PITR ACID compliant. Mejorada para Solaris. Standard SQL:2003 Funciones criptográficas avanzadas. Diversos lenguajes procedurales.
  • 5. Solaris + Pgsql Soporte Dtrace. Escalabilidad para multinucleos y procesadores. Solaris Cluster support and the PostgreSQL HA Agent Solaris Service Manager integration.
  • 9. Derby Mysql Postgresql Postgresql Other Oracle Greenplum 0 2 4 6 8 10 12 14 16
  • 11. Más beneficios con Solaris • Sun Cluster support > Sun Cluster agent available > Fully supported • ZFS + Zones for Hot Standby > ZFS cloning & replication lets you “clone” your database > Zones allows you to “clone” your DB server > OmniTI is using this technique to support a 6TB data warehouse on PostgreSQL
  • 12. Zonas ... + seguridad • Zones are Perfect for “hosted” PostgreSQL > allows 100% isolation of PostgreSQL instances per customer/application > set CPU & RAM limits for each Zone (in SXDE) > PostgreSQL can't do this natively > no per-user limits, no ability to hide the system tables > Being used by Joyent.com to host 100's of customers.
  • 14. Instalar (usando Sun Studio - Homo Simplus Compilatus ® ) # ./configure --prefix=/usr/local/pg824 CC=/opt/SUNWspro/bin/cc CFLAGS=quot;- xO3 -xarch=native -xspace -W0,-Lt -W2,-Rcond_elim -Xa -xildoff -xc99=none -xCCquot; –without-readline –with-perl –with-python –enable-dtrace # gmake # gmake install # useradd postgres # groupadd postgres # useradd -c 'PostgreSQL user' -d /export/home/postgres -g postgres -m -s /bin/ bash postgres postgres$ $PG_BIN/initdb -D /data -U postgres
  • 15. Instalar II emanuel@opensolaris_test:~$ pfexec su - postgres Sun Microsystems Inc. SunOS 5.11 snv_101b November 2008 -bash-3.2$ ls bin data84 include lib share -bash-3.2$ bin/post postgres postmaster -bash-3.2$ bin/pg_ctl -D data84/ start server starting -bash-3.2$ LOG: database system was shut down at 2009-05-18 18:18:51 ART LOG: autovacuum launcher started LOG: database system is ready to accept connections
  • 16. Instalar (usando Sun Studio - Homo Paquetus ® ) # pkg install SUNWpostgr83server && pkg install SUNWpostgr83client (ultimo en el repo SUNWpostgr-83-server@8.3.4-0.101) - Levantar el servicio: # svcadm enable svc:/application/database/postgresql_83:default_32bit # /usr/sbin/svcadm enable postgresql:version_82
  • 17. Zonas
  • 18. Ejemplo simple de una zona global# zonecfg -z pg_zone ######instalo zonecfg:pg_zone> create global# zoneadm -z pg_zone install zonecfg:pg_zone> set zonepath=/export/zones/pg_zone ########listo zonecfg:pg_zone> set autoboot=true global# zoneadm list -iv zonecfg:pg_zone> add net ########booteo zonecfg:pg_zone:net> set address=10.6.222.74/24 global# zoneadm -z pg_zone boot zonecfg:pg_zone:net> set physical=ipge0 #######logueo zonecfg:pg_zone:net> end global# zlogin -C pg_zone zonecfg:pg_zone> verify zonecfg:pg_zone> commit zonecfg:pg_zone> exit
  • 19. ZFS
  • 20. Very simple tricks # zfs create -b 8192 rpool/data # zfs list # zfs set mountpoint=data84 rpool/data84 # zfs set mountpoint=$PWD/data84 rpool/data84 # zfs set compression=on rpool/data84 # zfs list # zfs set quota=1g rpool/data84 # zfs set reservation=100m rpool/data84 # zfs set sharenfs=rw rpool/data84 # zpool list # zfs list
  • 22. Script D #!/usr/sbin/dtrace -s syscall:::entry /execname== quot;postgresquot;/ { self->ts=timestamp; } syscall:::return /execname== quot;postgresquot; && self->ts/ { @a[quot;Countquot;,probefunc] = count(); @b[quot;Timequot;,probefunc] = sum (timestamp - self->ts); self->ts=0; } tick-10sec { exit(0); }
  • 23. Ejemplo root@opensolaris_test:/usr/local/postgres_home_84# ./syscall.d dtrace: script './syscall.d' matched 471 probes CPU ID FUNCTION:NAME 0 55976 :tick-10sec Count gtime 47 Count pollsys 105 Count getpid 109 Time gtime 8438387 Time getpid 29391576 Time pollsys 36537963468
  • 24. Medición de Transacciones #!/usr/sbin/dtrace -qs profile:::tick-1s postgresql*:::transaction-start { { printf(quot;******** Transactions Per Second *********nquot;); @startpersec[quot;Newquot;] = count(); printf(quot;%20s %15snquot;, quot;Txn Typequot;, quot;Countquot;); } printf(quot;============================ postgresql*:::transaction-commit ==============nquot;); { printa(quot;%20s %@15dnquot;, @startpersec); @commitpersec[ quot;Commitquot;] = count(); printa(quot;%20s %@15dnquot;, @commitpersec); } printa(quot;%20s %@15dnquot;, @abort); postgresql*:::transaction-abort printf(quot;nquot;); { clear(@startpersec); @abort[quot;Abortquot;] = count(); clear(@commitpersec); } clear(@abort); }
  • 25. Salida ******** Transactions Per Second ********* Txn Type Count ========================================== New 192 Commit 192 Abort 1 ******** Transactions Per Second ********* Txn Type Count ========================================== New 175 Commit 172 Abort 0 DELTA: select now(),sum(n_tup_ins) as n_tup_ins,sum(n_tup_upd) as n_tup_upd,sum(n_tup_del) as n_tup_del from pg_stat_user_tables;
  • 27.
  • 28. Another things and Q&A