Migration to NoSql



DB Migration from SQL DB to NOSQL (Cassandra) is possible and it is in practice in the real-time. Migration tools (like DataStax Enterprise) are readily available in the market to migrate data from SQL to NOSQL DBs

A big reason why many businesses are moving to NoSQL-based solutions is because
  • Legacy RDBMS data model is not flexible enough to handle big data use cases that contain a mixture of structured, semi-structured, and unstructured data.
  • If they are planning new applications that are big data in nature and need something “more” than traditional RDBMS for their database platform.

Though I understand the driving factors for this DB migration plan is cost, maintainability and performance

Need to ask the business user if any other factors would impact them as below
  • Is RDBMS currently preventing development of new features?
  • Is NOT providing acceptable uptime?
  • Is NOT scalable for incoming data traffic?

If the decision to migrate to NOSQL only bcos of Cost and Maintainability, then we are lagging the confident to say go with NoSQL. Better to stay with RDBMS.

Just summarized the NoSQL (Cassandra) DB migration plan at very high level as below,

Data Migration

  • Export the data(in JSON file format) into csv or text as per Cassandra table structure and run CQL query to import into Cassandra
  • Otherwise you may use Sqoop very well to import data directly from RDBMS to Hadoop-HDFS or NOSQL DB

DB Objects Migration

  • Understand the application behavior and functionalities
  • Redesign the existing whole data model (RDBMS) to Cassandra (query-driven approach - need to know data access pattern ahead of time), denormalized
  • Convert SQL to Cassandra Queries (CQL) to fetch data for application (may not be one to one)
  • Recreate the required DB objects which support Cassandra (manually )

FYI, Last year we did work on SQL Server 2012 to Oracle 12C DB migration, we did follow manual approach to convert all DB Objects and we had some challenges in syntax conversion and DB compatible issues in DB objects migration and we did overcome it. This is for the case RDBMS to RDBMS.

But for RDBMS to Non-relational like Cassandra would be quite difficult (but it is achievable) and really need an impact study before proceed.

Attached the article published on SQL to NoSQL DB migration for your reference.
Also, Please browse the below link to get a fair idea on this subject.


Comments