SlideShare a Scribd company logo
sales@chartio.com
(855) 232-0320
sales@chartio.com
(855) 232-0320
Using the PostgreSQL
Extension Ecosystem for
Advanced Analytics
sales@chartio.com
(855) 232-0320
- The problem
- The prevailing view vs. the practical reality
- A possible solution
- Or just building blocks?
- Nearness
- Near at hand, near to our skill set, near to our capabilities
- A more complete solution
- The PostgreSQL extension ecosystem
Agenda
sales@chartio.com
(855) 232-0320
sales@chartio.com
(855) 232-0320
The Problem
The Prevailing View
vs.
The Practical Reality
sales@chartio.com
(855) 232-0320
The Prevailing View - Logical
Dimension Relational Non-Relational
Schema objects ● Structured rows and columns
● Schema on write
● Referential integrity
● Painful migrations
● Unstructured files, docs, etc
● Schema on read
● No referential integrity
● No migrations
Query languages ● SQL
● Declarative
● Easy enough for non-tech users
● Various
● Procedural
● Requires some programming skills
Exploratory analysis ● Native support for joins
● Interactive/low execution overhead
● No native support for joins
● OLAP - Batch processing
Data science and ML ● Only descriptive statistics
● Requires exporting dumps/samples
● Robust ecosystem
● Does not require exports
sales@chartio.com
(855) 232-0320
The Prevailing View - Physical
Dimension Relational Non-Relational
Parallel query
processing
● Single node system
● Single process per query
● Multiple node system
● Multiple processes per query
Concurrency ● High concurrency
● Single process per connection
● OLAP - low concurrency/high
scheduling overhead
High Availability &
Replication
● Async and sync replication
● HA may not be native
● Async and sync replication
● HA likely to be native
Sharding ● Sharding may not be native
● Difficult to manage
● Sharding likely to be native
● Easy to manage
sales@chartio.com
(855) 232-0320
The Prevailing View - Summary
- RDBMS have nice properties for producing rich data
- ACID, relational integrity, constraints, strong data types
- Easier for non-tech users and exploratory analysis
- Probably don’t meet the needs of today’s analysts
- Data science & Machine Learning
- Parallel processing
- Definitely don’t meet the needs of today’s apps
- Schema migrations
- Replication and sharding
sales@chartio.com
(855) 232-0320
The Practical Reality
sales@chartio.com
(855) 232-0320
sales@chartio.com
(855) 232-0320
But we still want more advanced
functionality.
The Practical Reality
sales@chartio.com
(855) 232-0320
sales@chartio.com
(855) 232-0320
A Possible Solution
Or Just Building Blocks?
sales@chartio.com
(855) 232-0320
Modern SQL
- Many people still think of SQL in terms of SQL-92
- Since then we’ve had: SQL:1999, SQL:2003, SQL:2006, SQL:2008,
SQL:2011
- http://use-the-index-luke.com/blog/2015-02/modern-sql
- Common Table Expressions (CTEs) / Recursive CTEs
- Window Functions
- Ordered-set Aggregates
- Lateral joins
- Temporal support
- The list goes on...
sales@chartio.com
(855) 232-0320
Procedural Languages
- Native
pgSQL Tcl Perl Python
- Community
Java PHP R Javascript Ruby Scheme
sh
sales@chartio.com
(855) 232-0320
sales@chartio.com
(855) 232-0320
These solve some problems.
For others, they are just building blocks.
Building Blocks
sales@chartio.com
(855) 232-0320
sales@chartio.com
(855) 232-0320
Nearness
Near at Hand
Near to Our Skill Set
Near to Our Capabilities
sales@chartio.com
(855) 232-0320
- http://www.infoq.com/presentations/Simple-Made-Easy
Nearness
sales@chartio.com
(855) 232-0320
- Near at hand
- Easily installable
- Near to our skill set
- Familiar tool/language/abstraction
- Modular and composable
- Near to our capabilities
- Capable of solving a problem in our domain
Nearness Drives Adoption
sales@chartio.com
(855) 232-0320
sales@chartio.com
(855) 232-0320
A More Complete Solution
The PostgreSQL Extension Ecosystem
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & operators: https://github.com/eulerto/pg_similarity
- UDAs & data types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & operators: https://github.com/eulerto/pg_similarity
- UDAs & data types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
- Package Manager: pgxn
- Index/Network: http://pgxn.org/
- PyPI, RubyGems, CPAN, CRAN
The PostgreSQL Extension Network
sales@chartio.com
(855) 232-0320
The PostgreSQL Extension Network
- Near at hand
- pgxn search semver
- pgxn info semver
- pgxn install semver
- pgxn load –d somedb semver
- pgxn unload –d somedb semver
- pgxn uninstall semver
- Search github? google? mailing list?
- Github README?
- git clone; make; make install;
- psql –c “CREATE EXTENSION IF NOT
EXISTS”
- psql –c “DROP EXTENSION IF EXISTS”
- make uninstall?
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & operators: https://github.com/eulerto/pg_similarity
- UDAs & data types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
UDFs & Operators: pg_similarity
- Near to our capabilities
- Similarity coefficient algorithms
- L1 Distance
- Cosine Distance
- Dice Coefficient
- Euclidean Distance
- Hamming Distance
- Jaccard Coefficient
- Jaro Distance
- Jaro-Winkler Distance
- Levenshtein Distance
- Matching Coefficient
- Monge-Elkan Coefficient
- Needleman-Wunsch Coefficient
- Overlap Coefficient
- Q-Gram Distance
- Smith-Waterman Coefficient
- Smith-Waterman-Gotoh Coefficient
- Soundex Distance
sales@chartio.com
(855) 232-0320
UDFs & Operators: pg_similarity
- Near to our skill set
sales@chartio.com
(855) 232-0320
UDFs & Operators: pg_similarity
- Implementation
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & Operators: https://github.com/eulerto/pg_similarity
- UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
UDAs & Data Types: postgresql-hll
- Near to our capabilities & near to our skill set
- Data type
- Estimate count distinct with tunable precision
- 1280 bytes estimates tens of billions of distinct values with few percent error
sales@chartio.com
(855) 232-0320
UDAs & Data Types: postgresql-hll
sales@chartio.com
(855) 232-0320
UDAs & Data Types: postgresql-hll
- Implementation
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & Operators: https://github.com/eulerto/pg_similarity
- UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
Foreign Data Wrappers: API
sales@chartio.com
(855) 232-0320
Foreign Data Wrappers: multicorn
- Near to our skill set
sales@chartio.com
(855) 232-0320
Foreign Data Wrappers: pgosquery
- Near at hand
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & Operators: https://github.com/eulerto/pg_similarity
- UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
Indexes: ZomboDB
- Index Access Method API
- http://www.postgresql.org/docs/9.4/static/indexam.html
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & Operators: https://github.com/eulerto/pg_similarity
- UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes (GiST, GIN): https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
Composing Extension Methods: MADlib
Near to our capabilities
sales@chartio.com
(855) 232-0320
Composing Extension Methods: MADlib
- Near to our skill set
sales@chartio.com
(855) 232-0320
Composing Extension Methods: MADlib
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & Operators: https://github.com/eulerto/pg_similarity
- UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
Parallel Processing
- Parallel sequential scan
- http://rhaas.blogspot.com/2015/11/parallel-sequential-scan-is-committed.html
- Columnar FDW:
- https://github.com/citusdata/cstore_fdw
sales@chartio.com
(855) 232-0320
Postgres Extension Ecosystem Examples
- PostgreSQL Extension Network: http://pgxn.org/
- UDFs & Operators: https://github.com/eulerto/pg_similarity
- UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll
- Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery
- Indexes: https://github.com/zombodb/zombodb
- Composing Extension Methods: http://doc.madlib.net/
- MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb
- Composing Extensions
- Custom Background Workers: https://github.com/no0p/alps
- Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
sales@chartio.com
(855) 232-0320
Composing Extensions: Alps
sales@chartio.com
(855) 232-0320
Composing Extensions: Record Linking
sales@chartio.com
(855) 232-0320
Beyond Analytics
- Web app framework
- http://blog.aquameta.com/
- REST API
- https://github.com/begriffs/postgrest
- Unit testing framework
- http://pgtap.org/
- Firewall
- https://github.com/uptimejp/sql_firewall
- More every week!
sales@chartio.com
(855) 232-0320
Conclusion
- With PostgreSQL, you get
- more than rows and columns
- more than SELECT, FROM, WHERE, GROUP BY, ORDER BY
- more than a single machine
- Make sure you get the full return on your investment!
Get your Chartio free trial!
sales@chartio.com
(855) 232-0320

More Related Content

What's hot (20)

PDF
ODI11g, Hadoop and "Big Data" Sources
Mark Rittman
 
PPTX
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
David Lauzon
 
PPTX
BDM8 - Near-realtime Big Data Analytics using Impala
David Lauzon
 
PPTX
HBase and Drill: How loosley typed SQL is ideal for NoSQL
DataWorks Summit
 
PDF
OpenStack Trove Day (19 Aug 2014, Cambridge MA) - Sahara
spinningmatt
 
PDF
Apache Arrow at DataEngConf Barcelona 2018
Wes McKinney
 
PDF
ACM TechTalks : Apache Arrow and the Future of Data Frames
Wes McKinney
 
PDF
Apache Arrow -- Cross-language development platform for in-memory data
Wes McKinney
 
PDF
DataFrames: The Good, Bad, and Ugly
Wes McKinney
 
PDF
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)
Spark Summit
 
PDF
Apache Arrow: Present and Future @ ScaledML 2020
Wes McKinney
 
PDF
introduction to Neo4j (Tabriz Software Open Talks)
Farzin Bagheri
 
PDF
Apache Arrow: Leveling Up the Analytics Stack
Wes McKinney
 
PPT
Hadoop Frameworks Panel__HadoopSummit2010
Yahoo Developer Network
 
PDF
Apache Arrow Workshop at VLDB 2019 / BOSS Session
Wes McKinney
 
PDF
PyCon.DE / PyData Karlsruhe keynote: "Looking backward, looking forward"
Wes McKinney
 
PDF
From flat files to deconstructed database
Julien Le Dem
 
PDF
Performance of Spark vs MapReduce
Edureka!
 
PPTX
Apache drill
MapR Technologies
 
ODP
The other Apache Technologies your Big Data solution needs
gagravarr
 
ODI11g, Hadoop and "Big Data" Sources
Mark Rittman
 
BDM9 - Comparison of Oracle RDBMS and Cloudera Impala for a hospital use case
David Lauzon
 
BDM8 - Near-realtime Big Data Analytics using Impala
David Lauzon
 
HBase and Drill: How loosley typed SQL is ideal for NoSQL
DataWorks Summit
 
OpenStack Trove Day (19 Aug 2014, Cambridge MA) - Sahara
spinningmatt
 
Apache Arrow at DataEngConf Barcelona 2018
Wes McKinney
 
ACM TechTalks : Apache Arrow and the Future of Data Frames
Wes McKinney
 
Apache Arrow -- Cross-language development platform for in-memory data
Wes McKinney
 
DataFrames: The Good, Bad, and Ugly
Wes McKinney
 
Data Storage Tips for Optimal Spark Performance-(Vida Ha, Databricks)
Spark Summit
 
Apache Arrow: Present and Future @ ScaledML 2020
Wes McKinney
 
introduction to Neo4j (Tabriz Software Open Talks)
Farzin Bagheri
 
Apache Arrow: Leveling Up the Analytics Stack
Wes McKinney
 
Hadoop Frameworks Panel__HadoopSummit2010
Yahoo Developer Network
 
Apache Arrow Workshop at VLDB 2019 / BOSS Session
Wes McKinney
 
PyCon.DE / PyData Karlsruhe keynote: "Looking backward, looking forward"
Wes McKinney
 
From flat files to deconstructed database
Julien Le Dem
 
Performance of Spark vs MapReduce
Edureka!
 
Apache drill
MapR Technologies
 
The other Apache Technologies your Big Data solution needs
gagravarr
 

Similar to Using the PostgreSQL Extension Ecosystem for Advanced Analytics (20)

PDF
IoT databases - review and challenges - IoT, Hardware & Robotics meetup - onl...
Marcin Bielak
 
ODP
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Codemotion
 
ODP
OrientDB for real & Web App development
Luca Garulli
 
PDF
When it all GOes right
Pavlo Golub
 
PPTX
Dataweave Libraries and ObjectStore
Vikalp Bhalia
 
PDF
Presto talk @ Global AI conference 2018 Boston
kbajda
 
PDF
Using the Semantic Web Stack to Make Big Data Smarter
Matheus Mota
 
PDF
Peteris Arajs - Where is my data
Andrejs Vorobjovs
 
PDF
Ted Willke, Intel Labs MLconf 2013
MLconf
 
PPTX
Introduction to real time big data with Apache Spark
Taras Matyashovsky
 
PDF
Open core summit: Observability for data pipelines with OpenLineage
Julien Le Dem
 
PDF
Presto @ Zalando - Big Data Tech Warsaw 2020
Piotr Findeisen
 
PPTX
Hannes end-of-the-router-tnc17
Hannes Gredler
 
PPTX
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Anant Corporation
 
PDF
Serverless Go at BuzzBird
Vladislav Supalov
 
PDF
Spark Machine Learning: Adding Your Own Algorithms and Tools with Holden Kara...
Databricks
 
PDF
Data Contracts: Consensus as Code - Pycon 2023
Ryan Collingwood
 
PDF
Interactive Analytics with the Starburst Presto + Alluxio stack for the Cloud
Alluxio, Inc.
 
PPTX
Data Engineer's Lunch #82: Automating Apache Cassandra Operations with Apache...
Anant Corporation
 
PDF
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Paco Nathan
 
IoT databases - review and challenges - IoT, Hardware & Robotics meetup - onl...
Marcin Bielak
 
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Codemotion
 
OrientDB for real & Web App development
Luca Garulli
 
When it all GOes right
Pavlo Golub
 
Dataweave Libraries and ObjectStore
Vikalp Bhalia
 
Presto talk @ Global AI conference 2018 Boston
kbajda
 
Using the Semantic Web Stack to Make Big Data Smarter
Matheus Mota
 
Peteris Arajs - Where is my data
Andrejs Vorobjovs
 
Ted Willke, Intel Labs MLconf 2013
MLconf
 
Introduction to real time big data with Apache Spark
Taras Matyashovsky
 
Open core summit: Observability for data pipelines with OpenLineage
Julien Le Dem
 
Presto @ Zalando - Big Data Tech Warsaw 2020
Piotr Findeisen
 
Hannes end-of-the-router-tnc17
Hannes Gredler
 
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Anant Corporation
 
Serverless Go at BuzzBird
Vladislav Supalov
 
Spark Machine Learning: Adding Your Own Algorithms and Tools with Holden Kara...
Databricks
 
Data Contracts: Consensus as Code - Pycon 2023
Ryan Collingwood
 
Interactive Analytics with the Starburst Presto + Alluxio stack for the Cloud
Alluxio, Inc.
 
Data Engineer's Lunch #82: Automating Apache Cassandra Operations with Apache...
Anant Corporation
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Paco Nathan
 
Ad

More from Chartio (6)

PPTX
Rethinking Your Ad Spend: 5 Tips for intelligent digital advertising
Chartio
 
PPTX
How To Drive Exponential Growth Using Unconventional Data Sources
Chartio
 
PPTX
7 Reasons You Haven't Reached Hyper-Growth
Chartio
 
PPTX
Redshift Chartio Event Presentation
Chartio
 
PPTX
The Vital Metrics Every Sales Team Should Be Measuring
Chartio
 
PDF
CSV and XLS Best Practices
Chartio
 
Rethinking Your Ad Spend: 5 Tips for intelligent digital advertising
Chartio
 
How To Drive Exponential Growth Using Unconventional Data Sources
Chartio
 
7 Reasons You Haven't Reached Hyper-Growth
Chartio
 
Redshift Chartio Event Presentation
Chartio
 
The Vital Metrics Every Sales Team Should Be Measuring
Chartio
 
CSV and XLS Best Practices
Chartio
 
Ad

Recently uploaded (20)

PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 

Using the PostgreSQL Extension Ecosystem for Advanced Analytics

  • 1. [email protected] (855) 232-0320 [email protected] (855) 232-0320 Using the PostgreSQL Extension Ecosystem for Advanced Analytics
  • 2. [email protected] (855) 232-0320 - The problem - The prevailing view vs. the practical reality - A possible solution - Or just building blocks? - Nearness - Near at hand, near to our skill set, near to our capabilities - A more complete solution - The PostgreSQL extension ecosystem Agenda
  • 3. [email protected] (855) 232-0320 [email protected] (855) 232-0320 The Problem The Prevailing View vs. The Practical Reality
  • 4. [email protected] (855) 232-0320 The Prevailing View - Logical Dimension Relational Non-Relational Schema objects ● Structured rows and columns ● Schema on write ● Referential integrity ● Painful migrations ● Unstructured files, docs, etc ● Schema on read ● No referential integrity ● No migrations Query languages ● SQL ● Declarative ● Easy enough for non-tech users ● Various ● Procedural ● Requires some programming skills Exploratory analysis ● Native support for joins ● Interactive/low execution overhead ● No native support for joins ● OLAP - Batch processing Data science and ML ● Only descriptive statistics ● Requires exporting dumps/samples ● Robust ecosystem ● Does not require exports
  • 5. [email protected] (855) 232-0320 The Prevailing View - Physical Dimension Relational Non-Relational Parallel query processing ● Single node system ● Single process per query ● Multiple node system ● Multiple processes per query Concurrency ● High concurrency ● Single process per connection ● OLAP - low concurrency/high scheduling overhead High Availability & Replication ● Async and sync replication ● HA may not be native ● Async and sync replication ● HA likely to be native Sharding ● Sharding may not be native ● Difficult to manage ● Sharding likely to be native ● Easy to manage
  • 6. [email protected] (855) 232-0320 The Prevailing View - Summary - RDBMS have nice properties for producing rich data - ACID, relational integrity, constraints, strong data types - Easier for non-tech users and exploratory analysis - Probably don’t meet the needs of today’s analysts - Data science & Machine Learning - Parallel processing - Definitely don’t meet the needs of today’s apps - Schema migrations - Replication and sharding
  • 8. [email protected] (855) 232-0320 [email protected] (855) 232-0320 But we still want more advanced functionality. The Practical Reality
  • 10. [email protected] (855) 232-0320 Modern SQL - Many people still think of SQL in terms of SQL-92 - Since then we’ve had: SQL:1999, SQL:2003, SQL:2006, SQL:2008, SQL:2011 - http://use-the-index-luke.com/blog/2015-02/modern-sql - Common Table Expressions (CTEs) / Recursive CTEs - Window Functions - Ordered-set Aggregates - Lateral joins - Temporal support - The list goes on...
  • 11. [email protected] (855) 232-0320 Procedural Languages - Native pgSQL Tcl Perl Python - Community Java PHP R Javascript Ruby Scheme sh
  • 12. [email protected] (855) 232-0320 [email protected] (855) 232-0320 These solve some problems. For others, they are just building blocks. Building Blocks
  • 13. [email protected] (855) 232-0320 [email protected] (855) 232-0320 Nearness Near at Hand Near to Our Skill Set Near to Our Capabilities
  • 15. [email protected] (855) 232-0320 - Near at hand - Easily installable - Near to our skill set - Familiar tool/language/abstraction - Modular and composable - Near to our capabilities - Capable of solving a problem in our domain Nearness Drives Adoption
  • 16. [email protected] (855) 232-0320 [email protected] (855) 232-0320 A More Complete Solution The PostgreSQL Extension Ecosystem
  • 17. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & operators: https://github.com/eulerto/pg_similarity - UDAs & data types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 18. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & operators: https://github.com/eulerto/pg_similarity - UDAs & data types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 19. [email protected] (855) 232-0320 - Package Manager: pgxn - Index/Network: http://pgxn.org/ - PyPI, RubyGems, CPAN, CRAN The PostgreSQL Extension Network
  • 20. [email protected] (855) 232-0320 The PostgreSQL Extension Network - Near at hand - pgxn search semver - pgxn info semver - pgxn install semver - pgxn load –d somedb semver - pgxn unload –d somedb semver - pgxn uninstall semver - Search github? google? mailing list? - Github README? - git clone; make; make install; - psql –c “CREATE EXTENSION IF NOT EXISTS” - psql –c “DROP EXTENSION IF EXISTS” - make uninstall?
  • 21. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & operators: https://github.com/eulerto/pg_similarity - UDAs & data types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 22. [email protected] (855) 232-0320 UDFs & Operators: pg_similarity - Near to our capabilities - Similarity coefficient algorithms - L1 Distance - Cosine Distance - Dice Coefficient - Euclidean Distance - Hamming Distance - Jaccard Coefficient - Jaro Distance - Jaro-Winkler Distance - Levenshtein Distance - Matching Coefficient - Monge-Elkan Coefficient - Needleman-Wunsch Coefficient - Overlap Coefficient - Q-Gram Distance - Smith-Waterman Coefficient - Smith-Waterman-Gotoh Coefficient - Soundex Distance
  • 23. [email protected] (855) 232-0320 UDFs & Operators: pg_similarity - Near to our skill set
  • 24. [email protected] (855) 232-0320 UDFs & Operators: pg_similarity - Implementation
  • 25. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & Operators: https://github.com/eulerto/pg_similarity - UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 26. [email protected] (855) 232-0320 UDAs & Data Types: postgresql-hll - Near to our capabilities & near to our skill set - Data type - Estimate count distinct with tunable precision - 1280 bytes estimates tens of billions of distinct values with few percent error
  • 27. [email protected] (855) 232-0320 UDAs & Data Types: postgresql-hll
  • 28. [email protected] (855) 232-0320 UDAs & Data Types: postgresql-hll - Implementation
  • 29. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & Operators: https://github.com/eulerto/pg_similarity - UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 31. [email protected] (855) 232-0320 Foreign Data Wrappers: multicorn - Near to our skill set
  • 32. [email protected] (855) 232-0320 Foreign Data Wrappers: pgosquery - Near at hand
  • 33. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & Operators: https://github.com/eulerto/pg_similarity - UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 34. [email protected] (855) 232-0320 Indexes: ZomboDB - Index Access Method API - http://www.postgresql.org/docs/9.4/static/indexam.html
  • 35. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & Operators: https://github.com/eulerto/pg_similarity - UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes (GiST, GIN): https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 36. [email protected] (855) 232-0320 Composing Extension Methods: MADlib Near to our capabilities
  • 37. [email protected] (855) 232-0320 Composing Extension Methods: MADlib - Near to our skill set
  • 39. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & Operators: https://github.com/eulerto/pg_similarity - UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 40. [email protected] (855) 232-0320 Parallel Processing - Parallel sequential scan - http://rhaas.blogspot.com/2015/11/parallel-sequential-scan-is-committed.html - Columnar FDW: - https://github.com/citusdata/cstore_fdw
  • 41. [email protected] (855) 232-0320 Postgres Extension Ecosystem Examples - PostgreSQL Extension Network: http://pgxn.org/ - UDFs & Operators: https://github.com/eulerto/pg_similarity - UDAs & Data Types: https://github.com/aggregateknowledge/postgresql-hll - Foreign Data Wrappers: http://multicorn.org/, https://github.com/shish/pgosquery - Indexes: https://github.com/zombodb/zombodb - Composing Extension Methods: http://doc.madlib.net/ - MPP: https://www.citusdata.com/, https://github.com/greenplum-db/gpdb - Composing Extensions - Custom Background Workers: https://github.com/no0p/alps - Record linking: http://no0p.github.io/2015/10/20/record_linking.html#/
  • 44. [email protected] (855) 232-0320 Beyond Analytics - Web app framework - http://blog.aquameta.com/ - REST API - https://github.com/begriffs/postgrest - Unit testing framework - http://pgtap.org/ - Firewall - https://github.com/uptimejp/sql_firewall - More every week!
  • 45. [email protected] (855) 232-0320 Conclusion - With PostgreSQL, you get - more than rows and columns - more than SELECT, FROM, WHERE, GROUP BY, ORDER BY - more than a single machine - Make sure you get the full return on your investment! Get your Chartio free trial! [email protected] (855) 232-0320