Showing posts with label Data. Show all posts
Showing posts with label Data. Show all posts

Dec 5, 2008

Data migration Strategy (Contd.)

Continuing from the earlier post on Data Migration, here is the concluding piece on various Data Migration Strategies (by Soumendra Mohanty inDM Review Special Report, May 2004):


In Part 1, we discussed what could be the phases in a typical data migration project. The same questions will keep on coming back to the project managers again and again-

  1. How am I going to determine the performance criteria?
  2. What are the risks and how am I going to manage those?
  3. Do I have a failure mode effect analysis document which captures the failure modes and does a cause and effect analysis?

There are many other questions that arise. Let us look at the different strategies and checkpoints which are an integral part of a data migration project.


While implementing data migration architecture, the data migration team has to take a number of considerations. Following are a few of such considerations:

  • Data volume analysis
  • Source system and target system processing power
  • Complexity of data mapping rules and business rules


Point-to-Point Data Migration Architecture

If during transformation, several records are normalized into separate database records that will result in a significant increase in the overall data volume, extract data from the source system(s) as is and move it to a staging area in the target system, then apply cleansing and transformations locally.

Highlights:

  • Reduced network round trip
  • Local transformations means the actual data migration process is over, data has actually reached the targeted server.
  • Leverage processing power of target server


Hub-Spoke Data Migration Architecture

Figure 2 shows partitioning source data and preconverting the historic data in the source environment and supports any number of source and target systems (spokes) while managing the overall ETL processes through a hub.

Highlights:

  • Can accommodate any number of sources and/or targets
  • Data rules are kept at a separate layer
  • Load balanced on target server

1. Making Sense of Data Migration

The biggest challenge with a data migration project is: Making the target system understand what the source system is telling it.

Here are a few key practices and issues with data migration projects.

Comprehensive Mapping. Every data field that is going to be migrated from the source system to the target system must be defined and examined to ensure compliance with field lengths, data types, domain values permitted, system rules, integrity checks and any other possible issues.

A detailed data map is critical to understanding where information is going as well as whether there are any known or avoidable obstacles in the way of successfully arriving there.

A good data map will detail an in-depth cross-referencing of all mutual fields across the source system and the target system. Ideally it should include:

  • Names of applicable to and from fields
  • Lengths and data types of these fields
  • Any logic involved in mapping such as string truncations or validations against any business rules

Extract Validation. Data in source system is known to contain problems or can be unknowingly incorrect due to many possible factors including human keying-in errors and/or a lack of checks and accountability particularly in less sophisticated systems. Any validation rules that can be utilized to locate and fix these problems should be performed on the first-pass data extract extending the process to multiple iterations if required.

It is common that some errors will not surface until others have been identified and fixed. Whereas the source system may ignore the discrepancies with, for example, items like same persons billing address recorded different in different files or database tables, the target system, potentially having better business rules, may opt for a Type I or Type II slowly changing dimension implementation for the same address change. Data validation and clean up is an essential and key component of a good migration plan.

Quality Transformation. Data extracted from the source system needs to be transformed or translated into a format that the target system can import and understand. This transformation will not only the defined data mappings, but will also execute any underlying business logic functions that may be essential to populating more complex data structures.

Fortunately, these stages can be efficiently performed by technically advanced ETL tools such as Informatica, Ab Initio, DataStage, etc.

So far we have discussed the technical aspect of data migration. However, as with many IT projects, the what, where and when is just as important as the how. When dealing with the management aspect of a data migration project, following issues should be considered.

2. Phased or Big Bang Approach?

When choosing to migrate data from one system to another, does it make sense to try to accomplish this all at once or move data over through a controlled phase of multiple releases?

Naturally there will be pros and cons to both options, considering which approach will best fit your organization needs to be evaluated on a variety of factors.

Some examples of these factors can be as straightforward as how much data there is to migrate or as seemingly abstract as the amount of training effort it will take to make a "big bang" worthwhile to your organization in terms of the ROI.

3. Stakeholder Expectation

How long will the migration take place? How many internal resources must the client IS team commit to the migration and for what period of time? What is the impact on the other business-critical processes? What is the cost?

The answers to these questions should all be addressed before a single object is extracted or a single transformation is designed. A data migration project cannot succeed if it is poorly scoped therefore project schedules, estimated level of effort, costs and resource requirements should be all provided and adhered to.

4. Rollback

When importing data into a target system, what happens if the data migration fails? Are we prepared to either utilize existing transaction rollback functionality or do we have capacity to design and build our own if none exists? How do we manage the client expectation in such cases? Do we have a mitigation plan in place? Have we discussed these with the client IS team and business users?

Answers to these questions gives us an additional layer of security and contributes a lot in terms of executing the project in time, within the budget as well as managing customer expectation all along.

5. Scalability

Naturally, when one starts to talk about data migrations with information owing back and forth, and how this will improve business, the issue of scalability is bound to surface.

As a manager, just as you should ensure that you have the infrastructure in place to support foreseeable growth, you should also ensure that your data migration can be leveraged for this growth as well.

6. Replication

The issue being: what happens in case of disaster or irrecoverable system failure? Commonly this issue will rear its head during a data migration project - typically born from the pressure placed on the manager to get a migration right so that 100 percent production is never at a stake.

Migrating data to a backup system at the same time as a new target system should be seriously considered to add one more layer of security and ensure that the disaster recovery plan is in place.

Data migration is an important aspect of most software development efforts yet that importance is often overlooked or inadvisably minimized. It is the rare software development effort indeed where the eventual measure of success is not in some way dependent upon the accurate migration of data. The reason for this is quite simple - opting for a new system is a business decision having its own priority. However, migrating historical data to make the new system work may not be a top priority factor, rather making the new system work and sustain the business critical processes are the top most factors.

The success of the data migration project lies in a seamless data movement and always remains on the shadow of implementing the new system.

Following are few common risks that will summarize the data migration project discussion we had so far.

Failure to treat data migration as a project unto itself. Data migration is complex undertaking that should not be regarded as merely a peripheral effort to the main development project. The data migration effort should be treated as a complete sub-project with a defined process, a thoughtfully derived time and cost estimate, and a series of phases that can be tracked or managed.

Underestimating the time and cost of data migration. It is important to perform a reasonably diligent survey of source systems in order to determine the quality of those source system's documentation and source data. If the source system does not have up-to-date data documentation in the form of data model and data dictionary, the task of determining the structure and data types of the desired source data and it's mapping to the target data will be increased in time and cost. If the source system has less stringent data quality requirements than the target system or if the data quality of the source system has been allowed to lapse over time, the actual act of performing the migration will take longer time due to the need to perform post-migration data clean up.

Lack of end-state data quality. If the migration effort does not formally specify the level of end-state data quality and the set of quality control tests that will be used to verify that data quality, the target domain may wind up with poor data quality. This will negatively impact the perceived outcome of the development effort.

Failure to support the organizational support. When the complexity and importance of data migration is not adequately appreciated it may be difficult to gain organizational support for that data migration, especially in terms of funding and resources. It may be even more difficult to garner a positive level support in separate organizations that have primary responsibility for the source data. This can happen when the organization supporting the source data feels threatened by the new system or it can happen simply because the migration effort is not a top priority for that organization.

Lack of appreciation for the complexities of data mapping. The central effort of data migration is understanding the source data and developing the mapping that allows the data in the source domain to be accurately transformed and moved to the target domain. There are many factors affecting mapping that can be ignored:

  • Ensuring that the semantics sense of a given attribute is correctly mapped: the same datum may carry a different name in the source domain than in the target domain; the source domain and the target domain may carry the same name for what is conceptually a different datum.
  • Understanding that the number of entities and their respective relationships may be vastly different between the source domain and the target domain.
  • Strategies and extensions may have to be developed to handle certain intractable mappings if they are discovered. An attribute may exit in the source domain that does not exist in the target domain and vice versa.

These issues and subsequent impacts may manifest themselves in both quantitative and qualitative ways:

In quantitative sense this can result in:

  • Costs associated with error detection
  • Costs associated with error rework
  • Costs associated with error prevention
  • Time delays in operations
  • Costs associated with delays in processing

In a qualitative sense this can result in:

  • Difficult and/or erroneous decisions
  • Organization wide data inconsistency
  • Low acceptance level by users of the new system

The most important factors in mitigating the risks of data migration are to treat the data migration as a project and to use a sound methodical process having the following KPIs:

Data Profiling - Gain a complete understanding of the content, structure, quality, and integrity of the data of the source system.

Data Mapping - Develop an accurate set of data mapping specifications from the source system to the target system.

Migration Approach and Architectural Considerations - Whether point-to-point migration or hub-and-spoke migration, this needs to be evaluated and carefully articulated.

Development - Selecting an ETL tool to automate the migration process and make it more scalable should be a high-priority item.

Quality Assurance - Conduct mock migrations, pilot migrations before the final migration run; this will ensure that the migration process is robust and trusted.

Nov 27, 2008

Data Migration Strategy

Here is a good reference on understanding Data Migration Issues, Approach and Strategy by Soumendra Mohanty, published by DM Review Special Report:

PART 1

Business focus and strategies driving business change over a span of time. Inevitably the core business processes captured in numerous information systems applications get retired and replaced with newer, more functional systems.

Since such driving forces are inevitable, what does the business do with the existing data? Existing data should not be scrapped or forgotten, because this data was used for several years to define the very existence of the same business. Instead the information must be massaged and tailored for the new system, thereby safeguarding the history and linking with the new or enhanced system.

However, the massaging and tailoring of this massive amount of data and propagating it to the new system is not so straightforward. Rather, it leads to the whole new world of data migration.

Let us look at a few real-life scenarios to understand the complexity and enormity of challenges in data migration:

  • Database schemas are going to be different, business entities change to portray different functional meaning, and format and usage of data captured in a new system can be totally different.
  • Data field lengths might change and pose severe data integrity issues.
  • Other trouble points:
    What is the size of the historical data?
    How many source systems are involved?
    How much processing power is available in the existing system?
    Is any of the system's CPU and memory expandable?
    Are there any production applications that may conflict with the migration?
    What is the available network throughput?
    What is the network bandwidth utilization? - Peak hours/off-peak hours

Fortunately enough, through the use of best practices, technology-driven focus and domain experience, the task of data migration does not have to be such a challenging issue. The process of migrating data can be broken down into a series of well-defined atomic level tasks, control metrics and procedures that reduce both cost and time to completion.

1. Data Migration Approach

There are a number of considerations and well-defined phases to execute a data migration project.

Phase 1 - Data Migration Planning. Develop migration strategy and approach, define scope, schedule, resource plan, technical requirements and detailed execution plan.

Phase 2 - Analysis and Design. Develop migration routines, validate business requirements for historical data, data analysis (profiler), mappings, referential integrity and certification scripts.

Phase 3 - Mock Migration. Conduct dress rehearsals for each planned release. Mock migrations may be partial or complete end-to-end cycles to verify migration procedures and benchmark the cycle times for each migration task.

Phase 4 - Pilot Migration. Complete end-to-end migration in the pilot environment. Coordinate with business users in doing data validation, verify and evaluate the control mechanism and metrics.

Phase 5 - Live Migration. Execute full-scale migration into production environment.

Phase 6 - Post-Migration Activities

Typical deliverables for the defined phases include:

  • Data Migration Approach and Road Map
  • Data Source Documents
  • Infrastructure Planning and Metrics
  • Technical Design Documents
  • Failure Routines
  • FMEA Document - Failure Mode Execution and Analysis
  • Migration Status - Dashboards
  • Data Migration Metrics and Control Charts

Diagnostics on the current environment on the following parameters also should be gathered:

  • How much data will be moving from point to point (server to server)?
  • How much processing power is available at each point covering both peak and off-peak hours?
  • What is the estimation of the amount of transformation and cleansing needed?
  • What are the data profiling and data validation rules/phases applicable to the data?

2. Data Migration Phases

A data migration project also has defined phases.

Figure 1 depicts the six phases of a data migration project. The phases may happen concurrently or in an iterative fashion. Entry and exit criteria should be defined for each phase and milestones should be set to trigger auditing, reviews as well as stakeholder expectation and communication processes.

3. Phase 1 - Data Assessment

Key Activities

  • Identify data sources
  • Run system extracts and queries
  • Conduct user interviews and awareness programs on data migration process
  • Review migration scope and validation strategy
  • Create work plan and milestone dates

Key Participating Groups

  • Data migration leads
  • Business users
  • Program sponsors

Deliverables/Outputs

  • Migration scope document
  • Migration validation strategy document
  • Work plan with milestone dates

4. Phase 2 - Data Cleansing

Key Activities

  • Identify data cleansing needs and expectations
  • Create data prep worksheets
  • Clean up source data in current system
  • Format unstructured data in other systems
  • Run extracts and queries to determine data quality
  • Create metrics to capture data volume, peak hours and off-peak hours

Key Participating Groups

  • Data migration team
  • Client IS team

Deliverables/Outputs

  • Modified source data that increases the success of automated data conversion
  • Control metrics and dashboards

5. Phase 3 - Test Extract and Load

Key Activities

  • Create/verify data element mappings
  • Run data extracts from current system(s)
  • Create tables, scripts, jobs to automate the extraction
  • Address additional data clean-up issues
  • Execute application specific customizations
  • Run mock migrations
  • Load extracts into the new system using ETL tools or SQL loader with bulk loading functions
  • Conduct internal data validation checks including business rules and referential integrity checks
  • Report exceptions to client team
  • Perform data validation

Key Participating Groups

  • Data migration team
  • Client IS team
  • DBA team

Deliverables/Outputs

  • Extracts from source system
  • Data migration modules, jobs, scripts
  • Application loaded with converted data
  • Exceptions, alerts and error handling control points

6. Phase 4 - Final Extract and Load

Key Activities

  • Run final extracts from the current system(s)
  • Execute specific customizations on target database
  • Execute application specific customizations
  • Run pilot migrations
  • Load extracts into the new system using ETL tools or SQL loader with bulk loading functions
  • Conduct internal data validation checks including business rules and referential integrity checks
  • Report exceptions to client team
  • Perform data validation

Key Participating Groups

  • Data migration team
  • Client IS team
  • DBA team

Deliverables/Outputs

  • Extracts from source system
  • Data migration modules, jobs, scripts
  • Application loaded with converted data
  • Exceptions, alerts and error handling control points

7. Phase 5 - Migration Validation

Key Activities

  • Prepare migration validation reports and data movement metrics
  • Review migration validation reports and metrics
  • Record count verifications on the new system
  • Reconcile or resolve any exceptions or unexpected variations
  • Sign off on migration validation

Key Participating Groups

  • Data migration team
  • Client IS team
  • Business users

Deliverables/Outputs

  • Signed-off migration validation document

8. Phase 6 - Post Migration Activities

Key Activities

  • Complete data migration reports and cross-reference files/manuals
  • Data sanity reports
  • Target system usage reports
  • Infrastructure capacity report and dashboards
  • Sign off on data migration project

Key Participating Groups

  • Data migration team
  • Client IS team
  • Business users
  • Business sponsor

Deliverables/Outputs

  • Exception reports, cross-reference files/manuals
  • Infrastructure dashboards
  • Signed-off data migration project closure document

Part 2 will focus on data migration strategies (and is being published as a separate entry).

Jul 17, 2008

The Long Tail...

Here's an extract of the review of Chris Anderson's book (last in the series of six books recommended by John) from The New Yorker:

Anderson’s inspiration for writing “The Long Tail,” which grew out of a story in the October, 2004, issue of Wired, was a visit he paid to a digital jukebox company called Ecast. In business, it’s often said that twenty per cent of the products generate about eighty per cent of the revenue. This version of the so-called 80 / 20 rule might suggest that most of a retailer’s inventory—in the case of Ecast, about ten thousand albums ready to download—is worthless. But when Anderson spoke with Ecast’s chief executive he found that ninety-eight per cent of the albums in the library sold at least one track every three months. “And because these were just bits in a database that cost nearly nothing to store and deliver,” Anderson writes, “all these onesies and twosies started to add up.”


Anderson began to suspect that he was onto something. Another online music retailer, Rhapsody, which has a library of about 1.5 million songs, provided him with monthly sales statistics that he presents in a series of graphs, with the horizontal axis showing songs ranked by popularity and the vertical axis showing the number of times each one was downloaded. In a typical month, each of the top thousand tracks, which appear on the extreme left of the graph, was downloaded more than ten thousand times. But these hits represented less than one-hundredth of one per cent of Rhapsody’s vast catalogue. What about the other 1,499,000 songs? Anderson writes:


What’s extraordinary is that virtually every single one of those tracks will sell. From the perspective of a store like Wal-Mart, the music industry stops at less than 60,000 tracks. However, for online retailers like Rhapsody the market is seemingly never-ending. Not only is every one of Rhapsody’s top 60,000 tracks streamed at least once each month, but the same is true for its top 100,000, top 200,000, and top 400,000—even its top 600,000, top 900,000, and beyond. As fast as Rhapsody adds tracks to its library, those songs find an audience, even if it’s just a handful of people every month, somewhere in the world.
This is the Long Tail.

------------------------------------------------------

Also, here is an interesting take on Date deluge by the above author, taken from The Edge:


Sixty years ago, digital computers made information readable. Twenty years ago, the Internet made it reachable. Ten years ago, the first search engine crawlers made it a single database. Now Google and like-minded companies are sifting through the most measured age in history, treating this massive corpus as a laboratory of the human condition. They are the children of the Petabyte Age.

The Petabyte Age is different because more is different. Kilobytes were stored on floppy disks. Megabytes were stored on hard disks. Terabytes were stored in disk arrays. Petabytes are stored in the cloud. As we moved along that progression, we went from the folder analogy to the file cabinet analogy to the library analogy to — well, at petabytes we ran out of organizational analogies.




May 28, 2008

Devil in the data

Whatever the choice of transaction system, IBM’s Mark Pemberton warns:
“One of the hardest things to do in an MRO environment is actually to take the data from the old systems, convert it and put it into the new system.” Older systems typically have a lower level of functionality than the new systems, “but to use all this new functionality you need the data. So in a lot of cases you have to manually create it so that you can use the new functionality. It’s a big effort. IBM has tools, and we have experience over many projects to help make it easier, but there’s no getting away from the fact that to cleanse and create data, the only people who can do that are the business, and it’s a lot of work.”

- Source: Airline Fleet & Network Management

Blog Archive