Postgres-XL is a massively parallel database built on top of – and very closely compatible with PostgreSQL. It is different because it supports both Business Intelligence workloads and high-volume transactional write and read workloads all on the same platform.
Postgres-XL is designed to be horizontally scalable and flexible enough to handle various workloads including:
OLTP write-intensive workloads
Business Intelligence requiring OLAP with MPP parallelism
Our internal testing for BI workloads reveals a dramatic boost in performance compared to native PostgreSQL. Results on a 16 node cluster show linear scalability for most queries.
Some of the most prominent features of Postgres-XL are listed below:
Scalable – partition or replicate tables across multiple nodes
Fully ACID compliant including MVCC
Cluster-wide consistency ensured by Global Transaction Monitor
Based on PostgreSQL 9.5, fully utilizing new BI features
Compatible with all PostgreSQL drivers, including JDBC, ODBC, OLE DB, Python, Ruby, perl DBI, Tcl, and Erlang.
CREATE TABLE syntax compatibility with Greenplum and Redshift
In order to perform as well as XL does, a number of core enhancements were made and are described below.
Massively Parallel Processing (MPP)
Multi-node distributed Parallel Query – Allows SQL queries to be executed up to N times faster on N datanodes, spreading both CPU and I/O utilization evenly across a cluster.
Three stage Aggregation – Parallelizes aggregate queries to minimize distributed data logistics.
Dynamic Redistribution of data for complex SQL queries – Automatically re-arrange data to allow complex SQL queries, not just simple Star Schema queries or Map/Reduce-style tasks.
Cooperative Scans – Queries work together to avoid repeated re-scanning of same data
Distributed Transaction Processing (OLTP)
Distributed Global Consistency – Database appears to be a single consistent database to users.
Write Scalability, as well as Read Scalability – Scale OLTP writes across the nodes
Extensibility & Scalability
Linear scalability – Performance increases linearly for many typical operations for both OLTP and Parallel Query
Extensible – Cluster can be extended to increase processing power
Very Large Database Support – Cluster easily supports 10s of TBs
High Availability – Physically replicated data nodes to ensure High Availability
Disaster Recovery – Disaster Recovery via Streaming Replication
Platform Testing & Support
XL is tested on Linux and Mac OS X.
Postgres-XL has been evolving over many years, originating with the GridSQL project and PostgresXC, later combined as TransLattice Storm (StormDB). TransLattice open sourced the project, resulting in Postgres-XL 9.2. More recently, the EU-funded Big Data project AXLE funded the main work to bring the code up to date as Postgres-XL 9.5, allowing XL to take advantage of the rapidly increasing BI features plugged into the core of PostgreSQL.
Support for Postgres-XL
Postgres-XL is open source and fully supported for 2ndQuadrant Support customers. We also offer consulting services to help organisations with application development, cluster design, deployment, feature development and performance analysis.
Need more help?
Want to know more? Need some help to set up XL? As active community developers for the project, we’re probably the best people in the world to help you get up and running with Postgres-XL. We have consultants available to provide assistance, plus our unique 24/7 Production Support subscription service also covers Postgres-XL.