- January 9, 2025
- Posted by: Suresh Senthil
- Category: Snowflake
Introduction
With the exponential growth of data and the rising need for scalable, secure, and fast data platforms, organizations are increasingly migrating their workloads to cloud-native platforms like Snowflake. However, migrating legacy code and applications to Snowflake is often perceived as a complex, time-consuming process. This is where tools like SnowConvert come into play, simplifying and accelerating code migration without compromising data integrity or performance.
In this blog, we will explore how SnowConvert can streamline your migration process, minimize risks, and ensure a smooth transition to Snowflake.
Why Migrate to Snowflake?
Snowflake offers a highly scalable, multi-cluster shared data architecture that separates storage and compute, allowing businesses to handle massive data volumes efficiently. Key benefits include:
- Elastic Scalability: Instantly scale up or down based on workload needs.
- Seamless Data Sharing: Securely share data across business units and partners.
- Simplified Management: No infrastructure to manage, allowing teams to focus on data insights.
What is SnowConvert?
SnowConvert is a code migration tool that helps businesses automate the process of converting existing code to be compatible with Snowflake. SnowConvert supports various source platforms like:
- Teradata
- Netezza
- Oracle
- SQL Server
The Smart Way to Use SnowConvert: The Iterative Approach
Here’s where it gets interesting. Instead of dumping all your code into SnowConvert at once (which might seem tempting), the smart approach is iterative. Here’s why:
1. Start with a Solid Conversion Plan
First things first – organize your code into logical chunks. This is also the perfect time to do some spring cleaning:
- Remove backup code you don’t need
- Clear out system-specific code
- Ditch those old DBA tasks that won’t matter in Snowflake
2. Run Your Assessment
This is where SnowConvert shows its true value:
- It analyses your code quality
- Flags potential issues
- Identifies missing dependencies (this is huge – missing a dependency can tank your conversion quality)
3. The Conversion Loop
Here’s where the magic happens. You’ll:
- Run the conversion
- Review the output
- Tweak your input code
- Rinse and repeat
The tool gets updates frequently, so each iteration might give you better results than the last.
4. The Human Touch
Once the automated conversion is done, proceed with the following:
- Manual code review and adjustments
- Testing for conformation
- Performance optimization
- Deployment
Pro Tips for Success
- Don’t Skip the Prep Work: Taking time to clean and organize your code before conversion pays off enormously.
- Watch Those Dependencies: Converting a procedure? Make sure you include all its related tables, views, and functions in the conversion batch. Understand the scope of migration and dependencies.
- Tune for Performance: SnowConvert focuses on functional equivalence, not performance optimization. Be prepared to tune your converted code.
- Use the Reports: SnowConvert provides detailed reports – use them to understand what needs manual attention.
- Optimize for Snowflake: Post-migration, optimize your queries and procedures for Snowflake’s architecture.
- Ensure Data Governance: Maintain data security and compliance throughout the migration.
How to obtain SnowConvert tool?
- Navigate to the following link and enroll for this course
https://training.snowflake.com/lmt/clmsCourseDetails.prMain?in_offeringid=130596852&in_sessionid=24JJ4282A2321201&in_from_module=CLMSBROWSEV2.PRMAIN&in_lp_id=0&in_filter=+ - Complete the course by passing with a final assessment score of 80% or higher
- Receive the official download links directly from Snowflake
These materials are restricted to individuals who complete the official training.
SnowConvert Conversion Process
Here’s how we go about the conversion process.
1. Getting the code to be migrated. Recommendation is to use the extraction scripts provided by Snowflake.
This process ensures that the shell scripts provided by Snowflake connects to the source environment and provides a one time download of all the DDL scripts in the source that needs to be migrated. This method is suggested to ensure that we have a higher percentage of code conversion. While Snowflake offers extraction scripts for various sources, the conversion process Is only available for Oracle, Teradata and SQL Server.
2. Getting the Access Code for Assessment.
Though Snowconvert can convert the DDL scripts, it is essential that an Access code is obtained from Snowflake to start the Assessment. Access codes are specific to the Source database and access code obtained for one database cannot be used for the other database.
Clicking on Get an Assessment Access code will launch the following screen. Snowflake would send the access code to the email address mentioned below.
3.Launch Snowconvert tool.
4. Create a New Project
Project name: Name to identify the conversion process.
Source: Source can be either Oracle, Teradata or SQL Server.
Input folder path: The folder where the scripts extracted from the source are available.
Output folder path: The folder where the converted scripts are available. This will be automatically populated based on the input folder.
Enter new access code or select one: Populate the access code received above to start the assessment.
Assessment process loops in through the Input folder, performs an inventory of different objects in scope and gives a detailed report which includes the conversion percentage, codes that can’t be converted, overall summary of the conversion process.
The detailed components present in the Report are as follows:
- Code Completeness – is an indication how complete the provided input codebase is.
- Excludes Scope Summary – This portion of the report indicates what portion of the code have been excluded.
- Assessed Conversion Scope Summary – This summarizes the total number of files taken for processing, how many unique objects are available and how many lines of code have been processed.
- Top Level Code Units – This summarizes the individual objects breakup of how many of them have been taken up for assessment and the individual conversion rate.
- Sample Code conversion will be available to compare how the source code will be converted to Snowflake during conversion. However the actual conversion would be taking place only during conversion.
The Comparison would indicate the following as well.
Functional Difference Messages (FDMs)
These messages act as flags to indicate areas where human review and business knowledge are necessary to ensure the converted code not only works syntactically but also meets all functional requirements in the new environment.
Errors, Warnings and Issues (EWIs)
These messages are indicators generated during code conversion that signal where manual intervention is needed. They appear when full automation isn’t possible, and the severity level indicates the estimated effort required for remediation:
5. Getting the Access Code for Conversion:
The Assessment access code cannot be used for conversion and a similar process of requesting access for conversion to be mailed to snowflake. But these access codes are provided only to users who are engaged in Snowflake Professional services. A similar access code would be mailed once approved.
6. Launch the Conversion Process:
This process will finally convert the input scripts and provide a report like the assessment giving the completeness of the code conversion in addition to the actual conversion as well.
Benefits of Using SnowConvert
- Time Savings: Automates repetitive tasks, reducing migration timelines.
- Reduced Risk: Minimizes errors with automated validation and error handling.
- Cost Efficiency: Reduces the need for extensive manual effort and consultation.
- Future-Proofing: Ensures that your code is optimized for Snowflake’s ever-evolving platform.
The Bottom Line
SnowConvert is a powerful tool, but it’s just one piece of your migration puzzle. Think of it as your code conversion accelerator, not your complete migration solution.
Remember: Migration is a journey, not a one-click solution. SnowConvert can significantly speed up the code conversion process, but it’s your expertise and attention to detail that will ultimately make the migration successful. Successful migrations will always require a balanced approach combining automated tools with human expertise and careful planning.
Looking Ahead
Snowconvert continues to evolve with new features being incorporated on a regular basis. As Snowflake continues to grow in popularity, tools like SnowConvert will become increasingly important for migration projects.
With the right tools and approach, your data transformation goals can be achieved seamlessly and efficiently.
Please reach out to us for expert guidance and tailored Snowflake migration solutions.