SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

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 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
 
Islamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuningIslamabad PUG - 7th meetup - performance tuning
Islamabad PUG - 7th meetup - performance tuningUmair 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 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
 
Logical replication with pglogical
Logical replication with pglogicalLogical replication with pglogical
Logical replication with pglogicalUmair 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 ClusterSrihari Sriraman
 
Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Postgresql on NFS - J.Battiato, pgday2016
Postgresql on NFS - J.Battiato, pgday2016Jonathan Battiato
 

En vedette (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
 

Similaire à 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 DeveloperJens 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 overviewNeo4j
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresqlbotsplash.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 - APJEDB
 
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 PostgreSQLHimanchali -
 
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 platformsAshnikbiz
 
PostgreSQL Performance Problems: Monitoring and Alerting
PostgreSQL Performance Problems: Monitoring and AlertingPostgreSQL Performance Problems: Monitoring and Alerting
PostgreSQL Performance Problems: Monitoring and AlertingGrant 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 PostgreSQLEDB
 
Sencha Products - Coderage Conference
Sencha Products - Coderage ConferenceSencha Products - Coderage Conference
Sencha Products - Coderage ConferenceSandeep Adwankar
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceArgus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceHBaseCon
 
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.pdfMustafa Keskin
 
Azure Data Studio Extension Development
Azure Data Studio Extension DevelopmentAzure Data Studio Extension Development
Azure Data Studio Extension DevelopmentDrew 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 BackstageOpsta
 
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 DiveTravis 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 13EDB
 
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' AIcapabilitieswot chin
 

Similaire à 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
 

Dernier

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 

Dernier (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 

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 :)