en flag +1 214 306 68 37
RDBMS Product Modernization to Rival Oracle in Asia

RDBMS Product Modernization to Rival Oracle in Asia

Industry
Software products
Technologies
C/C++

About Our Client

With over 15 years of experience, the Client is a leading Asian provider of database and big data solutions. Its primary mission is to provide enterprises with robust, reliable alternatives to Oracle. Today, the Client’s solutions drive efficiency and innovation across all critical sectors in Asia, including energy, government, healthcare, and finance.

Need to Modernize a Hybrid RDBMS

In August 2021, the Client identified a pressing need to enhance one of its flagship products — a hybrid relational database management system (RDBMS), which integrates in-memory and disk-based database technologies. The goal was to align the product more closely with Oracle's advanced security features, SQL capabilities, and performance, enabling it to be a seamless Oracle replacement for enterprise users across diverse sectors. The project presented significant challenges:

  • Outdated codebase. The system's codebase, containing over three million lines, was built using old C++ practices, making it challenging to implement modern enhancements.
  • Lack of documentation. The absence of comprehensive development documentation complicated the process of understanding and safely modifying existing RDBMS functionality.

RDBMS Security, Performance, and Functionality Enhancement

Given the complexity of the task, ScienceSoft assigned a team of four senior C++ developers with expertise in database engine internals, legacy code refactoring, relational algebra, and the formal grammar essential for defining and processing database queries. The team studied the system's architecture, reverse engineered critical components, and examined how the existing functionality aligned with modern database standards. They also reviewed the historical design decisions behind the RDBMS to understand why it was built in its current form. This thorough analysis helped identify areas for improvement and ensured that planned changes would not disrupt core functionality.

Once they had gained a complete understanding of the system's intricacies, the team proceeded to implement targeted enhancements.

Expanded SQL dialect support

To improve SQL capabilities and enable complex queries similar to Oracle’s functionality, ScienceSoft’s team:

  • Introduced the WITH FUNCTION/PROCEDURE clause within SELECT statements. This enhancement enables users to define temporary functions or procedures directly within queries, streamlining complex data manipulations without requiring persistent changes to the database schema. It provides developers and analysts with greater flexibility in crafting sophisticated queries, reducing the overhead of managing external procedures.
  • Extended the capabilities of the CASE expression, enabling more advanced conditional querying, which is essential for handling intricate enterprise data logic.

XML-based column type

We added support for XML-based column types to bring the Client’s RDBMS in line with Oracle’s support for XML data. This feature allows users to store and query hierarchical, semi-structured data directly in the database, improving compatibility with XML-based enterprise workflows. It also supports efficient data exchange between applications, which is crucial for industries relying on XML as a standard format for inter-system communication.

Parallel processing

We introduced parallel processing for SELECT and INSERT statements, both on host and cluster configurations. This improvement significantly enhanced the performance of large-scale data retrieval and insertion operations.

Security features

ScienceSoft’s team enhanced data security by integrating robust encryption algorithms, such as AES and SM4, into the existing data encryption and decryption pipeline. This upgrade ensured compliance with modern data protection standards and offered peace of mind to enterprise users handling sensitive information. Mirroring Oracle’s advanced security features, we also improved role-specific access mechanisms to provide more fine-grained permissions for database resources. We implemented an additional layer of security for sensitive operations by incorporating hidden table columns.

Proactive codebase and process enhancements

Beyond the planned enhancements, ScienceSoft’s team identified and implemented improvements to the codebase and development processes:

  • Parallel building. By enabling parallel building, we sped up the build process, enhancing developer productivity and reducing build times.
  • GCC code sanitizer integration. We implemented GCC code sanitizer to uncover hidden bugs, improving overall code stability and reliability.
  • Unit test restoration and expansion. We restored previously neglected unit tests in the source code and created additional tests to cover new changes. The expanded test coverage ensured that all recent improvements were stable and reliable and minimized future regression risks.
  • Continuous integration and deployment (CI/CD) pipelines. We developed foundational CI/CD components, streamlining fast and quality releases and updates.

Competitive RDBMS Alternative to Oracle

By improving security, SQL dialect, and performance within the hybrid RDBMS, ScienceSoft transformed the Client’s system into a more competitive and attractive alternative to Oracle Database. Alongside these upgrades, the team refined the source code and optimized development processes, increasing system stability and simplifying future enhancements.

Technologies and Tools

C++, GLR parser, Shell scripting, CMake, GlusterFS, ODBC, pyodbc, Docker, Linux, MS Windows.

Have a question to our team or need help with your project?

Our team is ready to provide client references, estimate your project, or answer any other question related to your IT initiative.

Upload file

Drag and drop or to upload your file(s)

?

Max file size 10MB, up to 5 files and 20MB total

Supported formats:

doc, docx, xls, xlsx, ppt, pptx, pps, ppsx, odp, jpeg, jpg, png, psd, webp, svg, mp3, mp4, webm, odt, ods, pdf, rtf, txt, csv, log

More Case Studies