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 […]
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 […]
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 […]
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; […]
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 […]
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 […]
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 […]
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 […]
We’ve developed a mobile app and web admin panel that allow a specialized headphone manufacturer for Heavy Metal enthusiasts to swiftly and conveniently deliver firmware updates for their headphones over the air. These headphones do more than just play music; they’re designed to precisely render sound, enhanced by continually evolving custom firmware for each model. How can users stay informed about the latest updates and improvements? This is where our expertise in wireless connected devices truly shines. We have crafted […]
This case study shows how ABCloudz engineering team resolved site performance issues using Amazon CloudFront and Lambda@Edge of AWS. Challenge Our partner iCleanse offers its clients the Swift UV devices, designed to disinfect hands and mobile phones. As the device disinfects a phone within 15 seconds, it simultaneously displays sponsored video content, generating advertising revenue. Businesses of any type can benefit from installing these disinfection stations, not only by reducing costs on traditional disinfection methods and aligning with green initiatives […]
Our client aimed to develop an online marketplace for building materials, designed to manage intricate online transactions and ensure a top-notch global user experience, supported by stringent security and exceptional performance standards. This case study details how ABCloudz utilized Amazon CloudFront, coupled with Lambda@Edge for dynamic content delivery. By deploying CloudFront, we significantly reduced web application load times, which is directly linked to improved user satisfaction and higher conversion rates. This deployment addressed key technical challenges, such as high traffic […]
Chatbots as they come are not something new under the sky. They have populated the web since long ago leaving behind an impressive trail of user annoyance and frustration. Wild repetitions, endless question-answer loops, and downright stupidity were the common laments to splash in jokes among the cubicle drones. The only improvements seemed to be expected from the further growth of output speed and size of Q&A database. The recent breakthroughs in Artificial Intelligence (AI) brought the benefits of this […]
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 […]
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 […]
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 […]