CompilerWorks is now part of Google Cloud

You are considering migrating from Redshift to BigQuery and want your code migration to go as smoothly as possible.  

Compilerworks can help make your Redshift to BigQuery migration fast, predictable, and accurate.

In this guide, we will talk about Redshift to BigQuery migration challenges and how CompilerWorks can help. 

Table of Contents

  • Migrate Redshift to Bigquery – The Manual Way
  • Redshift to BigQuery Migration Challenges
  • What is CompilerWorks?
  • How CompilerWorks’ Platform Migration Benefits
  • CompilerWorks’ Best Migration Practices
  • Simplify Your Migration From Redshift to BigQuery with CompilerWorks

Migrate Redshift To BigQuery – The Manual Way 

Is There An Easier Way To Migrate Data From SQL Server To Snowflake

An analysis report conducted by Gartner revealed that 83% of platform migrations either fail to meet an organization’s expectations or fail completely. Oftentimes, this failure occurs because an organization does not fully understand the fundamentals of manual migration. Additionally, manual migration can be a lengthy, error prone process due to inescapable human error. This can lead to delays and multi-year projects.

Manually migrating code involves: 

  • Understanding the landscape of the code
  • Manually converting the code
  • Testing the code on copied data

In order to manually migrate from Redshift to Bigquery, there are a number of steps that you must take: 

  • Preparation
  • Planning
  • Migration
  • Verification and Validation


In order to prepare for your manual migration, it is imperative to conduct an analysis by asking yourself questions like:

  • Why are you migrating to BigQuery?
  • Which databases are going to be migrated? What can be migrated with the least amount of effort?
  • Who and what have access to these databases?
  • How will the data be used?


Begin planning your manual migration by:

  • Assess the current state
  • Create a backlog
  • Prioritize cases 
  • Define your measures of success
  • Define done
  • Design a proof of concept (POC) 
  • Estimate the time and costs of migration


With Redshift and BigQuery having different data types, conversions may be required. Manually converting code is a complex, tedious process that is inevitable to human error. Delays are almost to be expected.Once the code is successfully converted, you’ll perform an offload migration or a full migration.

Verification and Validation

After the data is converted, it is imperative to test all of the codes to make sure there are no mistakes. This process can be lengthy as millions of lines of code may need to be tested, but it is essential to find and fix errors as soon as possible to avoid longer project delays.Using a manual process inevitably leads to problems that are discovered after the switch to BigQuery. This extended issue discovery and the requirement to fix is rarely considered when deciding to migrate manually.

Redshift to BigQuery Migration Challenges

Manual migration is a complex task that can lead to frustrating challenges and delays.

A large amount of code needs to be added, read, and understood when completing a manual migration. 

Even with a full understanding of the manual migration process, human error can be an unavoidable challenge in this process, leading to weeks, even months of delays. 

Humans get tired, machines don’t. 

CompilerWorks eliminates migration challenges caused by human errors by relying on smart technology to provide the same, accurate results every time.

What is CompilerWorks?

CompilerWorks can help accelerate your migration to the cloud with a robust solution that covers:

  • Structuring the migration project
  • Automatic and accurate SQL code migration
  • Automated testing and verification

This solution is comprised of two core applications: 

  1. The Transpiler Solution— which aids in the migration of SQL code between platforms.

The Lineage Solution— which provides detailed insights concerning how data is used across an enterprise, which answers by who, for what, and at what cost.

CompilerWorks’ Core Technology

The CompilerWorks’ core technology works by ingesting source code and converting it into Algebraic Representation to mathematically represent the actions of the ingested code.

Traditionally, compilers only work when they are given the complete code and full description of the execution environment. However, in the realm of data processing code, this is a nearly impossible feat.

CompilerWorks’ software is able to overcome this obstacle with its ability to make the same intelligent inferences as a human and report deductions to the user.

CompilerWorks’ compilers can also emit code as either a high-level language (Transpiler solution) or in the lineage fabric (Lineage solution).

CompilerWorks’ Supporting Infrastructure

Code rarely exists as simple .sql files.

Typically, database code is wrapped in: 

  • Scripts
  • B reports
  • ETL tools

With CompilerWorks, all of the necessary tools to extract the SQL code from these various wrappers are provided. The code is transpiled and re-wrapped for immediate execution and testing.

Hundreds of transformers are embedded, including platform-specific optimization transpilers, in the transpiler solution.

The lineage fabric makes use of information captured by:

  • Delivering global static analysis of data processing activities
  • Providing GUI, CLI, Graph QL, and API interfaces

The CompilerWorks core technology and infrastructure work seamlessly together to represent the Transpiler Solution— which results in a fast, accurate, and predictable platform migration.

CompilerWorks’ Platform Migration Benefits

CompilerWorks’ Transpiler Solution is designed for accurate and automated SQL code migration between platforms. 

At the beginning of a migration project, CompilerWorks software scopes the entire project by creating a comprehensive data lineage of source systems automatically. Any gaps in the source code are identified automatically to avoid any project delays, which typically last up for months. 

The three key benefits of using the CompilerWorks Transpiler to automate this process are: 

  • Accuracy
  • Predictability
  • Speed


The traditional approach to code migration typically requires following a set of rules to rewrite a query and performing an execution test to ensure the query will run on the target platform. This approach is highly prone to error, as mistakes can slip through basic testing strategies. 

CompilerWorks Transpiler is designed to automatically produce the same, accurate answer on both the source and target system every time.


When it comes to managing and executing code migration projects, the CompilerWorks’ Transpiler offers a predictable, end-to-end solution.

CompilerWorks processes execution logs from the source system to immediately identify:    

  • Code that is missing in the source system
  • All functionality on the source system that needs to be replicated on the target system
  • Any gaps in functionality in the target system that will require human intervention for migration [further review and assessment]

The result is: 

  • No more surprises during migration projects.
  • No re-scoping because a new code or functionality is discovered.
  • No more delays due to missing functionality in the target system that was only discovered halfway into the migration project.
  • No surprises AFTER the switch to BigQuery is complete


Transpiler can generate performant and accurate code at rapid speed. 

This is due to the compiler having the abilities to understand all the nuances and capabilities of the code being converted and the platform that it is generating code for. With this information, the performant code is delivered to the target platform.

The CompilerWorks’ Transpiler solution can reduce time spent on code migration projects by 50% or more.

CompilerWorks’ Best Migration Practices

There are four key best migration practices involving the CompilerWorks Transpiler Solution, including: 

  • Structured migration
  • Iterative process
  • Integrated testing
  • Security review

Structured Migration

The entire migration project is guided by the CompilerWorks lineage fabric.

Compilerworks eliminates the need to manually review code. Instead, ComplierWorks automates this process and provides a rich user interface for planning the migration.

If you are working on a “lift, improve, and shift” migration, the lineage model can immediately show you where you can wipe out unused processing and data. This is completed while also directing you to modifications in the data processing landscape that make the most logical sense.

 If you are working on a “redesign, re-architect, and consolidate” migration, the lineage model will provide the necessary information pulled from multiple source systems to drive the entirety of the migration project.

The most ideal approach to “lift and shift” migration involves following these eight steps: 

  1. Select a key management report that you want to migrate.
  2. Discover all immediate upstream requirements by reviewing the lineage.
  3. Transpile the upstream table DDL on the target system.
  4. Execute the translated DDL on the target system.
  5. Copy the required data.
  6. Execute the transpiled DML.
  7. Execute the provided verification queries.
  8. Use the lineage model to guide the next level of migration (loop back to step 1).

Iterative Process

CompilerWorks leverages the core capabilities of the transpiler to deliver a complete migration solution by enabling the testing of multiple migration strategies and selecting the best approach for the particular migration project involved.

The iterative process workflow is completed in five steps: 

  1. Assemble all inputs.
  2. Configure the transpiler.
  3. Execute the transpiler.
  4. Inspect the outputs.
  • Loop back to step 1 if missing inputs are found.
  • Loop back to step 2 if the transpiler configuration needs tuning.
  1. Copy the required data.

Because this cycle is a rapid process, you can experiment with comparing and testing the code in order to best meet requirements.

Integrated Testing

The transpiler generates a thorough suite of test queries to validate DML and DDML migration in integrative testing.

Integrated testing is completed in four steps: 

  1. Produce the table on the target system.
  2. Compare SourceReadDQ to TargetReadDQ.
  3. Execute the pipeline on the source and target systems.
  4. Compare SourceWriteDQ to TargetWriteDQ.

The test queries are assembled in a machine-readable file in order to facilitate the automation of test query execution on both the source and target systems. The verified execution of the test query suite will confirm that the migration is completed correctly. 

Security Review

Security reviews are easy with CompilerWorks. 

CompilerWorks’ software was designed with security as a top priority. You can have ease of mind that: 

  • CompilerWorks only processes code and never touches data. 
  • Compiler works can run on an air-gapped machine and is a standalone package. 
  • CompilerWorks creates clean logs— values are obfuscated.
  • CompilerWorks frequently updates.
  • CompilerWorks leaves zero footprint.

Simplify Your Migration From Redshift to BigQuery With CompilerWorks

The CompilerWorks Transpiler solution can simplify and eliminate delays in your migration from Redshift to Bigquery.

Say goodbye to traditionally large, high-risk, slow, and error-prone migration projects and step into the future with CompilerWorks’ Transpiler solution for a predictable, fast, and accurate migration.