Our approach to database unification
Many Independent Software Vendors (ISVs) have come to realize that customers prefer the convenience of Software-as-a-Service (SaaS) solutions. These solutions would allow the customer’s DBAs to spend more time adding value to their business rather than supporting ISV applications. Simply fork-lifting Oracle Database to run on virtual machines in the cloud requires extensive provisioning to meet scalability, high availability, and secure solutions. To help ISVs make the jump to managed database platforms like Amazon Aurora for PostgreSQL, Azure SQL Database, and Google Cloud SQL for PostgreSQL, we have developed a proven process called database unification.
The key benefits of Database Unification include:
- Lowering operating costs by moving to a SaaS model in the cloud using a less expensive database platform at its core
- Stay relevant as your competitors run on open-source MySQL or PostgreSQL don’t have to pay on-premises licenses for Oracle and other traditional databases
- Meet stringent governance and security regulations using the cloud along with the latest innovations for databases like row-level security, data encryption, and high-availability
- Build using a platform designed for the future that can leverage the latest technologies for deep learning, big data analytics, and more
After migrating an original database to a new platform, we modify the application code to work against either database. Here are the high-level tasks we use for code unification.
- Creating database-agnostic application code by moving away from database platform-specific code and using ANSI SQL
- Developing an abstraction layer at the database which interfaces with SQL syntax compatible with the top of database vendors and open-source databases
- Delivering a single source code branch of the application and database objects compatible with Continuous Integration (CI) and Continuous Deployment (CD) solutions
There is also an alternative approach that requires fewer changes in the application code:
- Refactor the source database code to make it more compatible with migration automation tools, like SSMA or AWS SCT
- Use these migration automation tools to achieve a 100% conversion rate
- Integrate this migration automation step into your CI/CD solutions to achieve a simultaneous build for two database platforms.
Using PostgreSQL in the cloud alongside Oracle
One of the leading independent software vendors in the education vertical needed to expand their original Oracle database system. They wanted to add a new PostgreSQL database running on AWS RDS to their original system. Also, they needed to upgrade the connected Java application to support both database platforms. We came up with a proof of concept and converted one of the largest customer’s database schemas to PostgreSQL, demonstrating how the upgraded system might work. To do so, we updated the application by adding the unified SQL code. We also changed the application architecture to support two database platforms. As a result, the newly created system could meet the customer’s performance requirements.
Our customer needed to support both Oracle and PostgreSQL databases in parallel, keeping the upgrade path for both components of this complex system in the future. The customer wanted to unify the Java application so that it could interact with both databases. Unification of complex systems including two or more database environments is a rational decision for product evolution.
Modern market demands force customers to upgrade from old database environments, but very often they need to keep the original system running as well.
To solve this problem, we built an application compatible with both Oracle and PostgreSQL platforms. We also kept the databases on these two platforms synchronized. In the end, the customer received the following benefits:
- Meeting the latest industry security standards with the new cloud database platform;
- Ability to opt for compatibility either with Oracle or PostgreSQL while building an application;
- Received documentation including best practices for developing unified source code of the Java application to ensure compatibility with both database platforms.
Watch the following video to learn more about the technical approach that we’ve used for code unification.
Getting started with database unification
Our team usually goes well beyond standard point-to-point database migration and takes a vested interest in your migration strategy, providing innovation, back-end integration, accelerated return on investment. Most importantly, we deliver an end-to-end solution that meets not only industry best practices but, more importantly, your business needs.
With unprecedented expertise in managing enterprise-grade databases on different platforms, you can rest assured that our team finds the best possible solution and then handles your project with care, accuracy, and in coordination with meeting your deadlines.
We recommend starting with designing the future-state architecture of your data environment. Our experienced solution architects, database experts, and software engineers will provide you with comprehensive technical and financial information about your database unification project. After establishing the scope of work, we will guide you through all steps of the database unification project, which include database conversion, application modernization, data migration, performance tuning, and many other important steps.
Everyone is talking about the need for a digital transformation, but how do you get there? See how our future-state architecture design can use cutting edge technology to meet your organization’s needs.
Looking for a reliable partner who knows both application development and data platform migration? We have the people, process, and products to help you move to the cloud or migrate to new platforms.