Database migration is the process of transferring databases between storage types, formats, or computer systems. Companies and organizations may need to migrate their databases for a variety of reasons, including server or storage equipment replacements, maintenance or upgrades, application migration, website consolidation and data center relocation. The process involves transfer of all database objects and categories: table definitions, data, indexes, constraints, views, triggers, stored procedures and functions, user accounts, roles and permissions.
Databases can be migrated manually or programmatically by using special software named database migration tools. Manual process usually consists of these steps:
- export table definitions along with indexes and constraints from the source database in form of SQL statements
- convert these statements into the destination format and import to the target database
- export data from the source database into an intermediate storage like comma separated values (CSV) files
- transform the data according to the destination format and load it to the target database
- extract views, stored procedures/functions and triggers from the original database in form of SQL statements and code
- convert these statements and code into the destination format and load into the target database
After loading into the new system, resulting data has to be verified in order to determine whether database was accurately migrated, is complete and has appropriate supports for applications in the new system. It may be required to run both source and destination database systems simultaneously during verification to identify areas of disparity, forestall data loss or corruption.
For large and complex database projects migration is usually performed programmatically to achieve an automated process flow, freeing up human resources from tedious tasks. It is very important to select the appropriate tool to migrate the database in the required time frame without data loss or corruption. Here is list of main features that must be provided by high quality database migration tools:
- all recent versions of source and destination DBMS are supported
- table definitions, indexes and constraints are converted with all necessary attributes
- conversion settings must be stored into a profile for next use
- full Unicode support
- option to customize types mapping, conversion rules, etc
- command line support
- comprehensive documentation and 24/7 support service
There are number of software companies that offer dedicated tools to automate database migration. One of such companies is Intelligent Converters specializing in database conversion, migration and synchronization since 2001. They develop wide range of conversion tool to migrate databases between all popular database management systems like PostgreSQL, MySQL, Oracle, SQL Server, Azure SQL, Microsoft Access, FoxPro and SQLite. Visit http://www.convert-in.com/ for more information about Intelligent Converters and their software.