Modernizing the Oracle ODS Data Warehouse for SaaS flexibility with PostgreSQL on AWS

Imagine trying to keep up with the evolving needs of higher education institutions while ensuring your systems are cost-effective and scalable. This was the challenge faced by our client, a company providing a suite of software solutions for educational institutions. They needed to modernize one of their core components—an Operational Data Storage (ODS) system, which essentially served as a Data Warehouse for preparing data for BI (reporting), originally built on Oracle—by migrating to PostgreSQL in AWS. The primary goal of […]

Oleksii Savchenko (DB Developer), Oleksii Svitlychnyi (Technical writer)
Database migration with AWS SCT: Solutions for typical conversion issues

Migrating Oracle databases to PostgreSQL or MySQL with AWS Schema Conversion Tool (AWS SCT) can present a range of challenges, from unsupported data types to limitations in automated code conversion and potential performance issues. AWS SCT offers powerful capabilities to automate these migrations, but it may not always deliver optimal results or handle complex Oracle constructs efficiently. In these cases, manual adjustments and optimizations are required to ensure a seamless transition to the target database. At ABCloudz, our team has […]

Oleksii Svitlychnyi
Handling null and empty string differences in Oracle and PostgreSQL

When migrating from Oracle to PostgreSQL, one of the most important differences to consider is the treatment of null and empty string values. In Oracle, null and empty string are treated as the same entity, but in PostgreSQL, they are distinct. Failing to account for this distinction during migration can lead to logical errors and unexpected behavior in the database. This post will explore key nuances and demonstrate how to handle these differences effectively. Comparing null and empty string In […]

Oleksii Savchenko
Handling PostgreSQL Routines with More Than 100 Arguments

When working with PostgreSQL, database developers may encounter a limitation when attempting to create routines with more than 100 arguments. PostgreSQL enforces this restriction by setting FUNC_MAX_ARGS to 100 during the server build. Although this limitation is rarely an issue, complex procedures, particularly those migrated from Oracle, may have a significantly higher number of arguments. This blog post outlines a solution to handle such situations by utilizing composite data types to bypass the argument limit, ensuring routine compilation without significant […]

Oleksii Savchenko
How to Optimize Oracle-to-PostgreSQL Migrations Using AWS SCT Extension Pack

The AWS SCT Extension Pack is designed to emulate Oracle’s system functions, procedures, and other database objects within PostgreSQL. This emulation is achieved by creating a special schema in PostgreSQL, named aws_oracle_ext, where these functions and objects are stored. This pack simplifies migration by replacing Oracle-specific calls with their PostgreSQL equivalents, ensuring that the code functions correctly post-migration. For example, consider the following transformations: Oracle PostgreSQL SELECT sysdate FROM dual; SELECT aws_oracle_ext.sysdate() SELECT to_char(sysdate, ‘dd.mm.yyyy hh24:mi:ss’), to_char(sysdate, ‘dd.mm.rrrr’) FROM dual; […]

Oleksii Savchenko
Natural Language Interface for Data Platform

Imagine a business analyst whose task is to extract necessary information from a data warehouse to generate various reports. They need to be proficient in crafting SQL queries of any complexity—a challenging and time-consuming feat that requires deep understanding of database structures and SQL language. But what if this business analyst had an AI assistant to whom they could describe the required data and format in natural language? This assistant would understand the request and convert it into an SQL […]

Maksym Kurhanetskyi, Oleksii Svitlychnyi
AI Text Classification and Matching for Better Decisions

Picture this: You have an AI-powered assistant that helps manage your team’s growth. It works with three types of text data: job descriptions, employee skills, and training programs. You give it a job description and an employee’s skill set, and it pinpoints the perfect training programs to bridge any skill gaps. It’s like having a tailor-made career coach that ensures your team is always ready for their next big challenge. We have developed precisely this kind of solution — an […]

Maksym Kurhanetskyi, Oleksii Svitlychnyi
Calculate the Total Cost of a RAG-Based Solution

This blog post examines the operational expenses of the AI-powered chatbot solution introduced in our previous blog posts, Custom AI chatbot using RAG and Deployment of AI-Powered Chatbot. This solution operates on the AWS cloud while integrating OpenAI’s language model. We will discuss the financial aspects of infrastructure costs and analyze how to estimate expenses for AI resources, such as Language Model as a service. Cost Structure of a Custom AI Chatbot Solution Operating expenses for our AI chatbot solution […]

Oleksii Svitlychnyi
Deployment of AI-Powered Chatbot

This blog post focuses on the architecture and deployment of the AI-powered Chatbot solution that we described in our earlier blog post Custom AI Chatbot Development Using RAG. This solution is built for the AWS cloud but uses OpenAI as an LLM. We’ll dive deep into the CI/CD process and AWS deployment architecture of the backend application. AWS Deployment Architecture Our solution represents a rather typical configuration of a web project deployed to AWS. Click or tap on the picture […]

Kostiantyn Odynets, Oleksii Svitlychnyi
Custom AI Chatbot Development Using RAG

You have probably seen and heard about AI-powered chatbots that can converse with the user about website content, or some piece of knowledge related to a company. The world is full of buzz on all things AI, with chatbots driving the headlines. In this article, we’ll share our experience building a full-blown solution from scratch that empowers such chatbots. The goal is to build a framework that can be plugged in with any knowledge sources and be easily integrated into […]

Maksym Kurhanetskyi, Oleksii Svitlychnyi
SaaS Platform Modernization and Database Migration to PostgreSQL on Amazon RDS

Executive Summary Challenge: To modernize its Project and Portfolio Management (PPM) SaaS platform,  OpenText (formerly Micro Focus) made the call to shift its products from on-premises Oracle servers to PostgreSQL on Amazon RDS. They faced various hurdles due to inconsistencies within the database and the legacy architecture of their app. They also requested a reusable custom algorithm for forthcoming migrations. Solution: The ABCloudz team successfully migrated the OpenText database from Oracle to Amazon RDS cloud. The ABCloudz team leveraged DMS […]

Alexander Gora
Custom data migration solution for a complex Oracle to PostgreSQL migration project using AWS DMS

In this post we’d like to share with you our experience in delivering a sophisticated database migration solution on top of AWS DMS for one of our large enterprise customers. The client is a large technology corporation that provides software solutions and services for telecom giants and mid-size companies. They ran numerous Oracle databases where they stored billing and other financial data. In an effort to cut costs for operational infrastructure, the company started the migration of their Oracle systems […]

Alexander Gora
Data management strategy: How to reduce costs and eliminate downtime

Data infrastructure is what powers the proper performance of your software. However, unexpected issues can occur making your system unavailable. That’s where the notion of a downtime, a time period when the system is not available, comes in. Downtime may have different causes and outcomes. But one thing is certain, downtime can be extremely expensive. One hour of system downtime can cost you more than $300,000. And, apart from direct losses, it is extremely damaging to your reputation. Especially when […]

Sergii Zymbytskyi
Oracle to PostgreSQL migration with AWS SCT: How to handle unsupported NumToDSInterval function

In this post we continue exploring the technical aspects of Oracle to PostgreSQL migration using AWS SCT. We were using AWS SCT build#660 to convert one of our Oracle test databases. AWS SCT provides functionalities for the most efficient migration from Oracle to PostgreSQL. However, there is a common challenge with implementing the Oracle NumToDSInterval function in PostgreSQL. The Oracle NumToDSInterval function is responsible for the conversion of the provided number value of specified time units or expressions to an […]

Oleksii Savchenko
Oracle to PostgreSQL migration with AWS SCT: How to convert INSERT ALL statement

In this post we continue exploring the technical aspects of Oracle to PostgreSQL migration using AWS SCT. AWS SCT promises a very high level of migration efforts, however it is very rare that 100% automation is achieved. In this article we’ll look into conversion of INSERT ALL statements, which are quite popular in Oracle code. We were using AWS SCT build #660 to convert one of our Oracle test databases. Oracle gives you an option to use the conditional insert […]

Oleksii Savchenko

Ready to start the conversation?

ABCloudz emerged from the world of data and established itself as a go-to partner for any IT needs. Our professionals are ready to help. Drop us a line today!

Hi there! How can I help you?

ABCAssist