When the CEO of a major Bank asked me why Postgres?
Sameer Kumar I Senior Solution Architect, Singapore
For the last few weeks, I have been working with a key opportunity of Ashnik – a major Bank in Singapore, on designing a database solution for them. The solution will be based on EDB Postgres and will support one of the key applications for the bank. It can be considered as one of the most ambitious implementations of Postgres in the BFSI segment.
On meeting their team for the first time, I realized that the bank is a mature user of enterprise open source, already using Red Hat, JBoss, Docker, Openshift and MariaDB. Hence, it took very less efforts comparatively, in educating them on value of Enterprise Open Source, the growing popularity of Postgres and why it is turning into a CIO’s choice of database.
Further, on meeting the architects and infrastructure team at the Bank, the discussions hopped around the deployment model and high availability architecture to suit the bank’s RPO and RTO. We had been struggling to get this meeting confirmed – given the busy schedules of all stake holders. Eventually, an impromptu meeting happened and I decided to settle down in one of the coffee shops downstairs.
We were mid-way though our discussion on storage layout and storage requirements and suddenly a distant voice comes in “What are you guys discussing out here?”. I look up and see a well-suited man walking towards us. It took me a while to recognize the face. He was the CEO of the bank. His colleagues briefed him about the discussion of a new database – Postgres, to be considered for adoption by the bank for one of their key applications. He could not get the name right at first but once he did, he asked – “What is it?”. His team told him that it is an enterprise open source database like MariaDB, which the bank is already using. Then he had a valid question– “Oh! Then why not MariaDB?”. I could not help but chip in. “EDB Postgres is based on PostgreSQL – which is little more open than other open source databases available. EDB Postgres does not tie down the key features like reliability, consistency, scalability and replication to storage engines. Postgres has a rich procedural language support. All this makes Postgres eligible for critical workloads. A better comparison is not with MySQL or MariaDB but with Oracle”. He smiled back and wished us luck and went back to enjoy his coffee.
Let me now elaborate on these points –
1. PostgreSQL is more open!
PostgreSQL has a very rich and vibrant community. The community is not controlled by one single organization – though it is influenced by aspirations and requirements from multiple organizations. This means that while the software roadmap is not dictated by one single organization, it does get enriched by customer inputs across multiple organizations. The community is very well tiered, with core-members, committers and developers/contributors. The code going in is very well reviewed and goes through a lot of criticism before getting committed.
2. Key features of EDB Postgres are not coupled to storage engine
EDB Postgres does not tie down key features to storage engine. PostgreSQL provides capability to plug-in any storage engine to it, but the default storage engine in PostgreSQL and EDB Postgres supports – ACID compliance, integrity, consistency, MVCC and Replication out of the box.
In v9.0, Postgres community added streaming replication which increases the availability and durability of database transactions. In v9.4, PostgreSQL also got logical decoding, enabling users and vendors to create logical replication utilities/tools which can replicate specific tables using WAL files. EDB Replication Server is one such tool. It allows users to setup Multi Master Replication, Reporting DB Server and achieve Near Zero downtime upgrades. These features in PostgreSQL cores coupled with enhancements and tools from EDB makes Postgres highly available and durable.
3. Postgres has a rich procedural language support
PostgreSQL supports various different procedural language – pl/pgsql being the default one. It also supports other languages like PL/Perl, PL/Python, PL/TCL etc. PostgreSQL allows users to write their own extension for a procedural language. There are many different languages provided by other third party vendors/communities. Postgres supports triggers and functions. EDB Postgres adds Oracle compatibility thereby enabling users to use Oracle’s pl/sql procedural language. This not only reduces the risk of migration, but also enables users to use features like queues, scheduler, packages and stored procedures in database. This makes it easy for banks to move their existing applications (using Oracle dependent Database side code) to Postgres further allowing them to use these advanced features for implementing DB side business logic for high performance.
4. Postgres is used for critical workloads
PostgreSQL is used by different organizations across the globe and industries. The value add by EDB further enhances Postgres’ durability and availability – making it popular among customers for new applications, modernization of applications and migration. Its popularity can be gauged by the mention of Postgres in Gartner’s report on State of Open Source RDBMS. The features in EDB Postgres are quite comparable with Oracle and that is why it is recognized in Gartner’s quadrant.
Coming back to our opportunity with this major Singaporean Bank, we are in the final stages of firming up the architecture for Postgres deployment. Very soon, you will be “banking” on Postgres for your money – quite literally. At Ashnik, we help customers move their critical applications to Postgres and build high performance database backend for new applications. If you are looking for support for Postgres deployment or need consulting for porting your application from Oracle/SQL Server to Postgres you can rely on Ashnik as your technology partner. You can reach out to us via email to firstname.lastname@example.org.
- Sameer Kumar is Database Solution Architect working with Ashnik. He has worked on many complex setups and migration assignments for some of the key customers from Retail, BFSI and Telecom Sector. Sameer is a certified PostgreSQL and EDB Postgres Plus Advanced Server Professional. He is also a certified Postgres Trainer and has delivered many trainings for public and corporate batches. He is well versed with other RDBMS e.g. DB2, Oracle and SQL Server and is also trained on noSQL technologies viz MongoDB. He has worked closely with customer and helped them build analytics platform on noSQL databases and migrate from RDBMS to MongoDB. And while he’s in the free mode, he loves to take his cycle around Singapore for a spin.