Postgres-XL 9.5: Gearing Towards the Beta Release

PostgreSQL has typically been described as an OLTP-friendly database and has generally been put to the side for OLAP workloads. While I disagree with this notion to begin with, the new Big Data features of the latest 9.5 release makes such thinking even more obsolete. This is also why I am so excited about the upcoming Beta release of Postgres-XL 9.5.

XL, based on PostgreSQL, rose from the phenomenal work done in the GridSQL and PostgresXC projects, that later combined as TransLattice Storm (StormDB). The community actively worked on the project through the 9.2 release, but the activity slowed down after that. Until now, that is … when the EU-funded Big Data project, AXLE, brought it back to life and Postgres-XL has now successfully caught up with the recent PostgreSQL 9.5 release, including all its Big Data features.

XL is a Massively Parallel Processing (MPP) database that is built on top of PostgreSQL and allows for horizontal scaling designed to support Business Intelligence as well as Transactional workloads. Now this is a pretty unique proposition, as databases have typical gone with an either/or strategy. Pavan is our main guy behind the XL magic, and in one of his blogs, he demonstrates the amazing results you get with Postgres-XL using the TPC-H benchmark. Keep in mind, TPC-H illustrates decision support systems that examine large volumes of data, execute queries with a high degree of complexity, and give answers to critical business questions. This has traditionally not been a strong suit for PostgreSQL.

A tremendous amount of work has gone into merging 9.3, 9.4, & 9.5 into the code for XL and we are now in the final stages of rounding out the release by bringing the regression suite failure count down to 0. We will be sure to explain all the technicalities of these changes in our release notes once they come out. So stay tuned for more on XL!

6 replies
  1. ddorian
    ddorian says:

    1.Any hope of joining the data/compute/controller/etc nodes into 1 binary ?
    2.How do you plan to implement high availability ?

    • Umair Shahid
      Umair Shahid says:

      1. We don’t have
      2. The rough outline would be as follows:
      – For datanodes, use streaming replication
      – For coordinators, it is not required
      – For GTM, use GTM standby

  2. rxcanavan
    rxcanavan says:

    Thanks Umair! I tried about two weeks ago to build 9.5 on Ubuntu, but I get an error on make:

    ../../src/interfaces/libpq/fe-secure.o: In function `PQinitSSL’:
    fe-secure.c:(.text+0x7): undefined reference to `pgtls_init_library’
    ../../src/interfaces/libpq/fe-secure.o: In function `PQinitOpenSSL’:
    fe-secure.c:(.text+0x15): undefined reference to `pgtls_init_library’
    ../../src/interfaces/libpq/fe-secure.o: In function `pqsecure_initialize’:
    fe-secure.c:(.text+0x21): undefined reference to `pgtls_init’
    ../../src/interfaces/libpq/fe-secure.o: In function `pqsecure_open_client’:
    fe-secure.c:(.text+0x31): undefined reference to `pgtls_open_client’
    ../../src/interfaces/libpq/fe-secure.o: In function `pqsecure_close’:
    fe-secure.c:(.text+0x51): undefined reference to `pgtls_close’
    ../../src/interfaces/libpq/fe-secure.o: In function `pqsecure_read’:
    fe-secure.c:(.text+0x151): undefined reference to `pgtls_read’
    ../../src/interfaces/libpq/fe-secure.o: In function `pqsecure_write’:
    fe-secure.c:(.text+0x4f1): undefined reference to `pgtls_write’
    ../../src/interfaces/libpq/fe-misc.o: In function `pqSocketCheck’:
    fe-misc.c:(.text+0x162): undefined reference to `pgtls_read_pending’
    collect2: error: ld returned 1 exit status
    make[2]: *** [postgres] Error 1
    make[2]: Leaving directory `/home/pgxl/pgxl_install/postgres-xl/src/backend’
    make[1]: *** [all-backend-recurse] Error 2
    make[1]: Leaving directory `/home/pgxl/pgxl_install/postgres-xl/src’
    make: *** [all-src-recurse] Error 2

    Are there any docs yet that list requirements? I was just basically following the same steaps as my 9.2 build.

    Thanks again.


Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *