SlideShare a Scribd company logo
POSTGRES IS DIFFERENT FROM
(BETTER THAN)
YOUR RDBMS
Gurjeet Singh
gurjeet.singh.im
EDB - EnterpriseDB.com
FROM THE PERSPECTIVE OF A
Developer
Manager
DEVELOPER'S PERSPECTIVE
License
Reliability
Security
Features
Extensibility
Performance
Diagnosability
DEVELOPER : LICENSE
BSD-like License
Liberal than/Very different from GPL.
PostgreSQL License gives you
Freedom to read, patch/improve the code.
An opportunity to understand the database internals
Install, use/develop and deploy full feature-set without a
license
Upgrade hardware without paying for license cost
Unlike commercial RDBMSs where licenses come in the
way of development, QA, and hardware upgrades.
DEVELOPER : RELIABILITY
ACID compliant
Constraints (Primary Key, Foreign Key, CHECK)
Data-page checksums to detect corruption
DEVELOPER : SECURITY
Per-object GRANT/REVOKE permissions
Per-column GRANT/REVOKE permissions
SSL connections
LDAP and RADIUS authentication
DEVELOPER : FEATURES
Postgres is a Platform
Vast feature set
... and ever-expanding
Postgres Feature Matrix
http://www.postgresql.org/about/featurematrix/
DEVELOPER : FEATURES
Common Table Expressions (CTEs)
Similar to Macro in programming languages
Supports recursive evaluation (alternative to Oracle's
CONNECT BY)
DEVELOPER : FEATURES : DATA TYPES
Many advanced data types come builtin
Full List of Builtin Data Types
http://www.postgresql.org/docs/9.3/static/datatype.html
DEVELOPER : FEATURES : DATA TYPES
Does not have/need NVARCHAR data type
The CHAR/VARCHAR/TEXT types are capable of storing
Unicode data
DEVELOPER : FEATURES : DATA TYPES
Boolean (a first-class data type)
Bit (and Bit strings)
Money
Bytea (binary data)
Interval (difference between TIMESTAMPs)
Enumerated Types
Geometry Types (Point, Line Segment, Polygon, ...)
Network Address (inet, cidr, macaddr)
DEVELOPER : FEATURES : DATA TYPES
Range Types (tsrange, daterange, int4range, ...)
Composite types
Builtin multi-dimensional arrays
Automatically defines array type of builtin and user-defined
data types
DEVELOPER : FEATURES : DATA TYPES
hstore
JSON
XML
DEVELOPER : FEATURES
Streaming Replication
Hot Standby
Per-transaction synchronous replication
True serializable transactions
LISTEN/NOTIFY
Triggers
Exclusion constraints
Window Functions
Function overloading
Operator overloading
Full-text search
Large Objects up to 4TB
Materialized views
DEVELOPER : FEATURES
Create procedures in various programming languages
PL/pgsql
PL/perl
PL/tcl
PL/java
PL/v8 - JavaScript
DEVELOPER : FEATURE/PERFORMANCE
TOAST
The Oversized Attribute Storage Technique
Automatic out-of-line storage and automatic compression
DEVELOPER : PERFORMANCE
Cost-based optimizer
Index-only scans
Synchronized seq-scans
Table partitioning
Unlogged tables
DEVELOPER : PERFORMANCE
Partial indexes
Many types of indexes
BTree
Hash
Gin
Gist
KNN
SP-Gist
DEVELOPER : PERFORMANCE
Types of join-strategies
Nested-loop joins
Hash joins
Sort-Merge joins
Bitmap-index scan; Bitmap-And/Or joins (in-memory)
Can use multiple indexes of a table in the same scan
Semi joins
Anti joins
DEVELOPER : PERFORMANCE
Faster than NoSQL (at NoSQL use case)
See slides 32 onwards of Chrisophe Pettus'
PostgreSQL as a Schemaless Database
http://thebuild.com/presentations/pg-as-nosql-pgday-
fosdem-2013.pdf
DEVELOPER : DIAGNOSTICS
Per-function statistics
Performance Views
pg_stat_activity
pg_locks
pg_stat_*
pg_stat_all_tables
pg_stat_all_indexes
...
DEVELOPER : DIAGNOSTICS
Logging Options
log_min_duration_statement
log_temp_files
DTrace/SystemTap support
Scripts to record and diagnose performance issues
DEVELOPER : EXTENSIBILITY
Highly Extensible
Create Your Own
Data Types
Operators
Index Types
create extension
Check out
Foreign Data Wrapper
Foreign Tables
PGXN.org
DEVELOPER : EXTENSIBILITY
Examples
PostGIS
PostGIS adds support for geographic objects to the
PostgreSQL object-relational database.
PostgreSQL-HLL
A PostgreSQL extension adding HyperLogLog data
structures as a native data type
MANAGER'S PERSPECTIVE
Acquisition Cost (License)
Future Proof
Vendors/Providers (Companies who can help)
Maintenance Cost (Support)
Buy-in From Upper Management
MANAGER : ACQUISITION COST
Free
MANAGER : ACQUISITION COST
FREE
Save Money $$$
Higher Profit Margins
A Leg Up On The Competition
MANAGER : ACQUISITION COST
BSD-like License
Liberal than/Very different from GPL.
Install, use/develop and deploy full feature-set without a
license
Upgrade hardware without paying for license cost
Unlike commercial RDBMSs where licenses come in the
way of development, QA, and hardware upgrades.
MANAGER : FUTURE PROOF
Community-driven
No single commercial entity controls it (unlike MySQL)
Will be always free (cost and project management)
MANAGER : FUTURE PROOF
Ever-increasing resource-pool; developers and DBAs
Compare growth in job requirements
MANAGER : VENDORS/PROVIDERS
Many top-quality vendors
EDB (EnterpriseDB)
PG Experts
2nd Quadrant
OmniTI
Command Prompt
Many smaller consulting teams/individuals
MANAGER : MAINTENANCE COST
24/7 Support available
Very affordable support contracts
For e.g. EDB charges per-socket (unlike Oracle, that
charges per CPU)
MANAGER : MAINTENANCE COST
Consulting
Remote-DBA
Database Health Checks
Training
For Developers
For DBAs
MANAGER : UPPER MANAGEMENT BUY-IN
Show them the last few slides :)
THANK YOU

More Related Content

Viewers also liked

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
 
Islamabad PUG - 7th Meetup - performance tuning
Islamabad PUG - 7th Meetup - performance tuningIslamabad PUG - 7th Meetup - performance tuning
Islamabad PUG - 7th Meetup - performance tuning
Umair 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
 
Islamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuningIslamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuning
Umair Shahid
 
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 pgnfs
Giuseppe Broccolo
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
haroonm
 
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
 
Logical replication with pglogical
Logical replication with pglogicalLogical replication with pglogical
Logical replication with pglogical
Umair Shahid
 
PostgreSQL replication from setup to advanced features.
 PostgreSQL replication from setup to advanced features. PostgreSQL replication from setup to advanced features.
PostgreSQL replication from setup to advanced features.
Pivorak MeetUp
 
On The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL ClusterOn The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL Cluster
Srihari Sriraman
 
Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016
Jonathan Battiato
 

Viewers also liked (18)

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...
 
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)
 
Islamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuningIslamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuning
 
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
 
Logical replication with pglogical
Logical replication with pglogicalLogical replication with pglogical
Logical replication with pglogical
 
PostgreSQL replication from setup to advanced features.
 PostgreSQL replication from setup to advanced features. PostgreSQL replication from setup to advanced features.
PostgreSQL replication from setup to advanced features.
 
On The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL ClusterOn The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL Cluster
 
Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016
 

Similar to Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Postgres Open

Pro Techniques for the SSAS MD Developer
Pro Techniques for the SSAS MD DeveloperPro Techniques for the SSAS MD Developer
Pro Techniques for the SSAS MD Developer
Jens Vestergaard
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part isqlserver.co.il
 
Neo4j 4.1 overview
Neo4j 4.1 overviewNeo4j 4.1 overview
Neo4j 4.1 overview
Neo4j
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
botsplash.com
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
EDB
 
Enterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQLEnterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQL
Himanchali -
 
EDB Database Servers and Tools
EDB Database Servers and Tools EDB Database Servers and Tools
EDB Database Servers and Tools
Ashnikbiz
 
Deploy, move and manage Postgres across cloud platforms
Deploy, move and manage Postgres across cloud platformsDeploy, move and manage Postgres across cloud platforms
Deploy, move and manage Postgres across cloud platforms
Ashnikbiz
 
PostgreSQL Performance Problems: Monitoring and Alerting
PostgreSQL Performance Problems: Monitoring and AlertingPostgreSQL Performance Problems: Monitoring and Alerting
PostgreSQL Performance Problems: Monitoring and Alerting
Grant Fritchey
 
A Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQLA Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQL
EDB
 
Sencha Products - Coderage Conference
Sencha Products - Coderage ConferenceSencha Products - Coderage Conference
Sencha Products - Coderage Conference
Sandeep Adwankar
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceArgus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
HBaseCon
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce Argus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
HBaseCon
 
0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdf0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdf
Mustafa Keskin
 
Azure Data Studio Extension Development
Azure Data Studio Extension DevelopmentAzure Data Studio Extension Development
Azure Data Studio Extension Development
Drew Skwiers-Koballa
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
Opsta
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
Travis Wright
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
EDB
 
Grabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the TrunkGrabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the TrunkHarold Giménez
 
openGauss - The evolution route of openGauss' AIcapabilities
openGauss - The evolution route of openGauss' AIcapabilitiesopenGauss - The evolution route of openGauss' AIcapabilities
openGauss - The evolution route of openGauss' AIcapabilities
wot chin
 

Similar to Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Postgres Open (20)

Pro Techniques for the SSAS MD Developer
Pro Techniques for the SSAS MD DeveloperPro Techniques for the SSAS MD Developer
Pro Techniques for the SSAS MD Developer
 
1 extreme performance - part i
1   extreme performance - part i1   extreme performance - part i
1 extreme performance - part i
 
Neo4j 4.1 overview
Neo4j 4.1 overviewNeo4j 4.1 overview
Neo4j 4.1 overview
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
 
Enterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQLEnterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQL
 
EDB Database Servers and Tools
EDB Database Servers and Tools EDB Database Servers and Tools
EDB Database Servers and Tools
 
Deploy, move and manage Postgres across cloud platforms
Deploy, move and manage Postgres across cloud platformsDeploy, move and manage Postgres across cloud platforms
Deploy, move and manage Postgres across cloud platforms
 
PostgreSQL Performance Problems: Monitoring and Alerting
PostgreSQL Performance Problems: Monitoring and AlertingPostgreSQL Performance Problems: Monitoring and Alerting
PostgreSQL Performance Problems: Monitoring and Alerting
 
A Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQLA Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQL
 
Sencha Products - Coderage Conference
Sencha Products - Coderage ConferenceSencha Products - Coderage Conference
Sencha Products - Coderage Conference
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceArgus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce Argus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
 
0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdf0292-introduction-postgresql.pdf
0292-introduction-postgresql.pdf
 
Azure Data Studio Extension Development
Azure Data Studio Extension DevelopmentAzure Data Studio Extension Development
Azure Data Studio Extension Development
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Grabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the TrunkGrabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the Trunk
 
openGauss - The evolution route of openGauss' AIcapabilities
openGauss - The evolution route of openGauss' AIcapabilitiesopenGauss - The evolution route of openGauss' AIcapabilities
openGauss - The evolution route of openGauss' AIcapabilities
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
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
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
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
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
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
 
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
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
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
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
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
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
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
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
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...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
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
 
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
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
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
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
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
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 

Gurjeet Singh - How Postgres is Different From (Better Tha) Your RDBMS @ Postgres Open

  • 1.
  • 2. POSTGRES IS DIFFERENT FROM (BETTER THAN) YOUR RDBMS
  • 4. FROM THE PERSPECTIVE OF A Developer Manager
  • 6. DEVELOPER : LICENSE BSD-like License Liberal than/Very different from GPL. PostgreSQL License gives you Freedom to read, patch/improve the code. An opportunity to understand the database internals Install, use/develop and deploy full feature-set without a license Upgrade hardware without paying for license cost Unlike commercial RDBMSs where licenses come in the way of development, QA, and hardware upgrades.
  • 7. DEVELOPER : RELIABILITY ACID compliant Constraints (Primary Key, Foreign Key, CHECK) Data-page checksums to detect corruption
  • 8. DEVELOPER : SECURITY Per-object GRANT/REVOKE permissions Per-column GRANT/REVOKE permissions SSL connections LDAP and RADIUS authentication
  • 9. DEVELOPER : FEATURES Postgres is a Platform Vast feature set ... and ever-expanding Postgres Feature Matrix http://www.postgresql.org/about/featurematrix/
  • 10. DEVELOPER : FEATURES Common Table Expressions (CTEs) Similar to Macro in programming languages Supports recursive evaluation (alternative to Oracle's CONNECT BY)
  • 11. DEVELOPER : FEATURES : DATA TYPES Many advanced data types come builtin Full List of Builtin Data Types http://www.postgresql.org/docs/9.3/static/datatype.html
  • 12. DEVELOPER : FEATURES : DATA TYPES Does not have/need NVARCHAR data type The CHAR/VARCHAR/TEXT types are capable of storing Unicode data
  • 13. DEVELOPER : FEATURES : DATA TYPES Boolean (a first-class data type) Bit (and Bit strings) Money Bytea (binary data) Interval (difference between TIMESTAMPs) Enumerated Types Geometry Types (Point, Line Segment, Polygon, ...) Network Address (inet, cidr, macaddr)
  • 14. DEVELOPER : FEATURES : DATA TYPES Range Types (tsrange, daterange, int4range, ...) Composite types Builtin multi-dimensional arrays Automatically defines array type of builtin and user-defined data types
  • 15. DEVELOPER : FEATURES : DATA TYPES hstore JSON XML
  • 16. DEVELOPER : FEATURES Streaming Replication Hot Standby Per-transaction synchronous replication True serializable transactions LISTEN/NOTIFY Triggers Exclusion constraints Window Functions Function overloading Operator overloading Full-text search Large Objects up to 4TB Materialized views
  • 17. DEVELOPER : FEATURES Create procedures in various programming languages PL/pgsql PL/perl PL/tcl PL/java PL/v8 - JavaScript
  • 18. DEVELOPER : FEATURE/PERFORMANCE TOAST The Oversized Attribute Storage Technique Automatic out-of-line storage and automatic compression
  • 19. DEVELOPER : PERFORMANCE Cost-based optimizer Index-only scans Synchronized seq-scans Table partitioning Unlogged tables
  • 20. DEVELOPER : PERFORMANCE Partial indexes Many types of indexes BTree Hash Gin Gist KNN SP-Gist
  • 21. DEVELOPER : PERFORMANCE Types of join-strategies Nested-loop joins Hash joins Sort-Merge joins Bitmap-index scan; Bitmap-And/Or joins (in-memory) Can use multiple indexes of a table in the same scan Semi joins Anti joins
  • 22. DEVELOPER : PERFORMANCE Faster than NoSQL (at NoSQL use case) See slides 32 onwards of Chrisophe Pettus' PostgreSQL as a Schemaless Database http://thebuild.com/presentations/pg-as-nosql-pgday- fosdem-2013.pdf
  • 23. DEVELOPER : DIAGNOSTICS Per-function statistics Performance Views pg_stat_activity pg_locks pg_stat_* pg_stat_all_tables pg_stat_all_indexes ...
  • 24. DEVELOPER : DIAGNOSTICS Logging Options log_min_duration_statement log_temp_files DTrace/SystemTap support Scripts to record and diagnose performance issues
  • 25. DEVELOPER : EXTENSIBILITY Highly Extensible Create Your Own Data Types Operators Index Types create extension Check out Foreign Data Wrapper Foreign Tables PGXN.org
  • 26. DEVELOPER : EXTENSIBILITY Examples PostGIS PostGIS adds support for geographic objects to the PostgreSQL object-relational database. PostgreSQL-HLL A PostgreSQL extension adding HyperLogLog data structures as a native data type
  • 27. MANAGER'S PERSPECTIVE Acquisition Cost (License) Future Proof Vendors/Providers (Companies who can help) Maintenance Cost (Support) Buy-in From Upper Management
  • 29. MANAGER : ACQUISITION COST FREE Save Money $$$ Higher Profit Margins A Leg Up On The Competition
  • 30. MANAGER : ACQUISITION COST BSD-like License Liberal than/Very different from GPL. Install, use/develop and deploy full feature-set without a license Upgrade hardware without paying for license cost Unlike commercial RDBMSs where licenses come in the way of development, QA, and hardware upgrades.
  • 31. MANAGER : FUTURE PROOF Community-driven No single commercial entity controls it (unlike MySQL) Will be always free (cost and project management)
  • 32. MANAGER : FUTURE PROOF Ever-increasing resource-pool; developers and DBAs Compare growth in job requirements
  • 33. MANAGER : VENDORS/PROVIDERS Many top-quality vendors EDB (EnterpriseDB) PG Experts 2nd Quadrant OmniTI Command Prompt Many smaller consulting teams/individuals
  • 34. MANAGER : MAINTENANCE COST 24/7 Support available Very affordable support contracts For e.g. EDB charges per-socket (unlike Oracle, that charges per CPU)
  • 35. MANAGER : MAINTENANCE COST Consulting Remote-DBA Database Health Checks Training For Developers For DBAs
  • 36. MANAGER : UPPER MANAGEMENT BUY-IN Show them the last few slides :)