databases

How AltexSoft Accelerated Migration of 5,000 Databases for a Hospitality BI Platform

Business domain
Travel
Technology
MS SQL Server.NET FrameworkPostgreSQL

Background

A European provider of financial planning and analysis (FP&A) solutions for the hospitality industry operates a multi-tenant platform serving 1,300 customers across more than 5,000 databases. Its data layer was built on Microsoft SQL Server, creating a growing financial burden as the business scaled. The company engaged AltexSoft to migrate the entire estate to open-source PostgreSQL—without downtime and without customers noticing the transition.

Challenges

The client’s dependency on Microsoft SQL Server had become a strategic constraint: the company could not freely change its hosting model, optimize infrastructure costs, or move toward a more flexible technology stack. So the project had to solve several challenges at once:

Eliminate recurring licensing costs
Improve scalability across a multi-tenant platform

Align the data stack with the company’s long-term technology strategy

Value Delivered

The migration process went through several stages, including writing automation scripts, planning the multi-tenant data transfer, and adapting both utilities and the codebase to support the changes. 

<h3 dir="ltr" id="cutting-migration-time-from-30-minutes-to-seconds">Cutting migration time from 30 minutes to seconds</h3>

Cutting migration time from 30 minutes to seconds

AltexSoft’s team tested two data transfer methods. The first used an ODBC driver—a standard interface for direct database-to-database migration—but it moved data in small batches, resulting in performance issues. We then switched to a bulk workflow: MS SQL exported data into files on separate servers, the scripts applied the required transformations, and PostgreSQL loaded everything in one go. This cut migration time for a small database from about 30 minutes to just 5–10 seconds, so we adopted this approach.

<p><strong id="docs-internal-guid-15305dc0-7fff-7e76-e054-ab11f2d5197f">Ensuring a seamless transition at scale</strong></p>
Ensuring a seamless transition at scale

Initially, the client handled the migration one database at a time. They needed a more scalable solution that would allow entire tenants to be moved in a single step. We created a detailed plan to ensure a fast, seamless transition so customers wouldn’t notice the underlying database switch. The plan also included bringing all client databases to a unified, up-to-date version—since different customers were running on different schemas—and accounted for the fact that the client was actively releasing new features during the process. 

<h3 dir="ltr" id="adapting-the-system-to-changes">Adapting the system to changes</h3>

Adapting the system to changes

As part of the migration project, we updated an internal tool used for database operations such as merging, splitting, and creating backups. The utility required additional development to align it with the upcoming changes. We also modified the data source package. The original component enabled .NET applications to communicate with SQL Server. We replaced this layer and adapted the existing codebase to work with PostgreSQL.  

Approach and Technical Info

From writing automation scripts to handling post-migration bug fixes, AltexSoft specialists collaborated closely with the client’s internal team on the data migration effort for about a year. Our team consisted of a solution architect and three software engineers. The technology stack included .NET Framework 4.6, Entity Framework Core (EF Core), SQL, MS SQL, PostgreSQL, and both Windows and Linux environments.

MS SQL Server.NET FrameworkPostgreSQL