Migrating to Object Data Management

Similar documents
Architecting Object Applications for High Performance with Relational Databases

Full file at

Symantec Data Center Transformation

Dell helps you simplify IT

A Visual Guide to Automated MVC Reengineering

DAVID M. MALON, EDWARD N. MAY. University of Illinois at Chicago Chicago, IL, USA. Lawrence Berkeley National Laboratory Berkeley, CA, USA

CS630. Object-Oriented DBMS Fundamentals. Les Waguespack, Ph.D. LJW 2014 : OODBMS::

Business Intelligence and Decision Support Systems

Continuous Processing versus Oracle RAC: An Analyst s Review

Jean-Marc Krikorian Strategic Alliance Director

Hybrid WAN Operations: Extend Network Monitoring Across SD-WAN and Legacy WAN Infrastructure

Of Objects and Databases: A Decade of Turmoil Michael J. Carey, David J. DeWitt. Discussion by: Shervin Presentation by: Roland

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Database Fundamentals Chapter 1

ARCHIVE ESSENTIALS: Key Considerations When Moving to Office 365 DISCUSSION PAPER

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs

Case Study. Encode helps University of Aberdeen strengthen security and reduce false positives with advanced security intelligence platform

Total Cost of Ownership: Benefits of ECM in the OpenText Cloud

Total Cost of Ownership: Benefits of the OpenText Cloud

August Oracle - GoldenGate Statement of Direction

ARCHIVE ESSENTIALS

Supports 1-1, 1-many, and many to many relationships between objects

Systems Analysis & Design

Information Technology Engineers Examination. Database Specialist Examination. (Level 4) Syllabus. Details of Knowledge and Skills Required for

Core Services for ediscovery Perfection

Rational Software White paper

Getting a Quick Start with RUP

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their

SYMANTEC: SECURITY ADVISORY SERVICES. Symantec Security Advisory Services The World Leader in Information Security

FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION

Updates through Views

Agent-Oriented Software Engineering

Three Key Considerations for Your Public Cloud Infrastructure Strategy

Reengineering II. Transforming the System

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

New Zealand Government IBM Infrastructure as a Service

Predictive Insight, Automation and Expertise Drive Added Value for Managed Services

Ensuring a Successful DCIM Project. What You Need to Know. Paul Goodison CEO, Cormant Inc.

APNIC input to the Vietnam Ministry of Information and Communications ICT Journal on IPv6

ITCS Jing Yang 2010 Fall. Class 16: Object and Object- Relational Databases (ch.11) References

What is database continuous integration?

WEB CONFERENCE Improve Collaboration, Increase Productivity and Control Costs

Oracle and Tangosol Acquisition Announcement

NORTH CAROLINA NC MRITE. Nominating Category: Enterprise IT Management Initiatives

THE AUTOMATED TEST FRAMEWORK

SERVICE OVERVIEW SERVICES CATALOGUE

Systems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases

Metadata Architectures

TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java

ebook library PAGE 1 HOW TO OPTIMIZE TRANSLATIONS AND ACCELERATE TIME TO MARKET

DISCUSSION 5min 2/24/2009. DTD to relational schema. Inlining. Basic inlining

Creating Enterprise and WorkGroup Applications with 4D ODBC

DELL EMC VALIDATED SYSTEM FOR VIRTUALIZATION

Assessment of the OpenAccess Standard: Insights on the new EDA Industry Standard from Hewlett-Packard, a Beta Partner and Contributing Developer

The Value of Certification in the Wonderware Solution Provider Program. By Jay S. David, Senior Product Marketing Specialist

The Need for a Holistic Automation Solution to Overcome the Pitfalls in Test Automation

Use of Inheritance Feature in Relational Database Development

Systems Analysis & Design

New Zealand Government IbM Infrastructure as a service

A Strategic Approach to Web Application Security

White Paper How IP is impacting Physical Access Control

Guide to Mitigating Risk in Industrial Automation with Database

SAP Security Remediation: Three Steps for Success Using SAP GRC

WHITE PAPER Cloud FastPath: A Highly Secure Data Transfer Solution

Managed Enterprise Phishing Protection. Comprehensive protection delivered 24/7 by anti-phishing experts

The Connected Water Plant. Immediate Value. Long-Term Flexibility.

Department of Management Services REQUEST FOR INFORMATION

CS317 File and Database Systems

Microsoft Office SharePoint Server 2007

DATA SHEET RSA NETWITNESS PLATFORM PROFESSIONAL SERVICES ACCELERATE TIME-TO-VALUE & MAXIMIZE ROI

ARC VIEW. Critical Industries Need Active Defense and Intelligence-driven Cybersecurity. Keywords. Summary. By Sid Snitkin

Enterprise Data Architecture: Why, What and How

*ANSWERS * **********************************

DATABASE TECHNOLOGY - 1DL124

Lesson 19 Software engineering aspects

IT Consulting and Implementation Services

NEXT GENERATION SECURITY OPERATIONS CENTER

Systems Alliance. VPP-1: Charter Document

Understanding Virtual System Data Protection

IPv6 Migration Framework Case of Institutions in Ethiopia

Data Replication Buying Guide

Data Virtualization Implementation Methodology and Best Practices

Object Identifiers for Relational Legacy Data

Cisco Director Class SAN Planning and Design Service

Red Hat Virtualization Increases Efficiency And Cost Effectiveness Of Virtualization

SAINT PETERSBURG DECLARATION Building Confidence and Security in the Use of ICT to Promote Economic Growth and Prosperity

Intermedia s Private Cloud Exchange

SQL Azure as a Self- Managing Database Service: Lessons Learned and Challenges Ahead

Best Practices in Securing a Multicloud World

Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

PAGE - 16 PAGE - 1. Sometimes, the solution is just a benchmark away..

Jonathan Ragan-Kelley P.O. Box Stanford, CA

GDPR: An Opportunity to Transform Your Security Operations

Integrating Data into Objects Using Structural Knowledge

BEFORE THE PUBLIC UTILITIES COMMISSION OF THE STATE OF CALIFORNIA

Four Essential Steps for Removing Risk and Downtime from Your POWER9 Migration

COMPTIA CLO-001 EXAM QUESTIONS & ANSWERS

First Financial Bank. Highly available, centralized, tiered storage brings simplicity, reliability, and significant cost advantages to operations

CRM-to-CRM Data Migration. CRM system. The CRM systems included Know What Data Will Map...3

Market Report. Scale-out 2.0: Simple, Scalable, Services- Oriented Storage. Scale-out Storage Meets the Enterprise. June 2010.

Transcription:

Migrating to Object Data Management Arthur M. Keller * Stanford University and Persistence Software Paul Turner Persistence Software Abstract. We discuss issues of migrating to object data management. We consider reasons for migration, pitfalls in and benefits of migration. We also address risk management, medium term issues and the migration process. We identify options for migration to object data management. In particular, we describe the alternative of storing data in relational databases and building object-oriented applications using C++. 1. Reasons for Migration Let us first consider some reasons for migrating to object data management. Object technology enables application development that can effectively model the organization and structure of the real-world environment. Objects encapsulating both state and behavior can concisely describe the semantics of the application while facilitating code re-use. Using object technology, data can be organized according to the needs of the application. When a company engages in process reengineering, object technology allows information system technology to mirror a company's business. The organization of the * Author's address: Stanford University, Computer Science Dept., Stanford, CA 94305, ark@cs.stanford.edu; Dr. Keller is also Chief Technical Advisor to Persistence Software. This work was supported by Persistence Software, but the opinions expressed in this paper are solely those of the author. Author's address: Persistence Software, 1700 South Amphlett Blvd., Suite 250, San Mateo, CA 94402, turner@persistence.com.. company can be reflected in the organization of the software, and the processes of the company can be supported by the processes of the software. Software that allows flexibility can be restructured to reflect new business processes. 2. Benefits of Migrating There are a variety of benefits that companies expect by migrating to object data management. By programming in an object programming language, companies can achieve faster program development, improved maintainability, and better performance. Companies intend to use migration to realign software to better serve the needs to the company. Migration can facilitate support for new applications. The combination of migration and re-engineering allows better integration of various information system processes with corporate processes. Note that migration does not require complete elimination of the old systems: co-existence is possible. Experiences from Persistence s customers confirm much of the above: several telecommunications customers have reported application extensibility and ease of application upgrade through the use of object technology. 3. Pitfalls to Migration However, there are several potential downsides to consider when migrating to object technology. How will any given application benefit from object technology? What will be lost? One common example is legacy systems. Many companies have a significant investment in legacy software and legacy data. It is critical that any migration 1

path accommodate these. Accommodating legacy data is particularly important, because data formats, once created, can live for decades. Over the last decade, many companies have made a significant investment in relational databases. They have converted many applications using CODASYL and other data organizations to use relational databases. These companies are rightfully leery of converting once again to object technology. An important question is whether companies can retain the large investment in relational technology, while adopting object technology. Within this question, there are several sub-issues, including how far to migrate and which mechanisms to employ. We will investigate these issues in more depth below. Another strategic consideration is vendor relationships and longevity. For those interested in object technology, a pressing question is which object-oriented database companies will be around in 5 years. There are probably more OODBMS vendors around than the market can support. In part this is because there are currently more OODB vendors than relational DBMS vendors. Will the OODBMS vendor you choose be one of the survivors? 4. Risks to Migration Application developers need to carefully manage the risks associated with migrating to object technology. By risks, we mean those factors that affect the successful implementation of a migration (as opposed to the value of the end result). At the outset, we must stress that technical factors may be the least of one s worries. We have seen several projects run into trouble due to non-technical issues. For example, while many are aware of external political considerations, internal issues are often ignored. The development team must be on-board; they must view the OO migration as an opportunity, not a threat. Other issues include resources, training and tools. While such issues may be the critical risk factors to manage, discussion of them is beyond the scope of this paper. At a high-level, we think that the increments and speed of migration may be one of the most important factors. We believe companies should not migrate all at once but should keep old systems running in parallel with experimental systems and develop a cutover/cut-back plan for deployment. Object data management also requires a different design process. Developing an object schema requires more care than developing a relational schema because there are more choices, that is, there are more decisions to make. There is no formal notion of an object model, so developers need to think more about object design. More strategically, developers need to consider the second system problem what do you do for an encore? Modifying systems that already exist has its own set of issues. Relational schemata are flat and can be restructured by access as needed, while object schemata are already structured according to the needs of a set of applications. The next application that is built using the set of objects may not have the same needs as the original application. 5. Medium-term Issues in Migration Let us consider some medium-term issues in migrating to object data management. First, is it better to migrate the existing data into an object-oriented database, create multiple copies in both the existing formats and object-oriented database, or leave all the data in existing relational databases? Migrating existing data into an OODB requires that all applications be modified to handle the new database. Such modification is expensive and probably must be done over time. Storing data in both formats allows a transition period but entails integrity 2

problems. Which copy of each data item is the latest one? What procedures are there for synchronizing the data in the two formats. How expensive is it to maintain both systems? Concurrency control is also an important problem with the replicated data approach. The last alternative is to keep the data in relational databases and continue using existing applications, but write new applications (and also re-engineer existing ones) using object technology. For many situations, we believe this last approach is the most flexible and safest approach. Developers can afford the time to implement and evaluate without putting existing users at risk. Altering migration plans is much easier and feedback from evaluation cycles is encouraged instead of avoided. Persistence Software provides a product, Persistence, that provides a C++ to relational database solution. A related issue is that of the degree of migration. Application developers should be mindful of the appropriate data source for an application. Even when object databases become a reliable and tested technology, relational databases will always be better suited for certain types of data. Even beyond the legacy database issue, there is going to be an ongoing need for a connection between objects and relational data. Planning an object-based information system involves determining what kind of data storage to use for what types of data. In our experience, we have found that telecommunications applications are good examples of using C++ and RDBMSes together. Much of the data is well-suited to an RDBMS (customer information, call records, billing information, etc.) and, because of the premium on leveraging information, high-performance C++ applications are desired. These applications often require quick turnaround and must be enhanced on short notice. Can all applications use the same object schema, or do we need a different object schema for each application? Relational databases support views and queries that allow applications to organize their data according to their needs for representing data. Object-oriented databases do not support the view concept, and their queries do not support data reorganization. When there are future corporate reorganizations or mergers and acquisitions, it is likely that there will be the need to integrate multiple object schemata, but object-oriented database systems have little or no support for object schema integration or object views. What techniques exist for integrating multiple object schemata? In the near term, no commercial technology for such integration exists, merely limited experiments in the laboratory. In the long-term, we believe that these problems will be addressed by a combination of deductive and object-oriented databases. With this combination, different programming teams working on different parts of a system will describe declaratively what basic functions they want the deductive part. Then they will throw the specifications together in a compiler that will synthesize the specifications into a single declarative structure and generate objects to implement basic functions. Above this structure, programmers will develop detailed algorithms using object technology using the generated object schema. We can see the beginnings of such an approach with products like Persistence, where the object schema and code to support it are generated automatically, while detailed application algorithms are written on top in C++. 6. Future of Relational Databases Relational databases provide very little flexibility for data structuring. In comparison, object databases provide more flexibility. Relational database vendors are working on adding more flexibility and generally incorporating many of the features available in OODBMSes. Though the current proposal for SQL3 is too complex, it is an indication that relational database vendors recognize the need to provide more support for flexibility. But despite these 3

developments, there will still exist an "impedance mismatch" between object programming languages and enhanced relational databases, so the niche for interfacing functionality like that provided by Persistence will continue to exist. We expect that the coming improvements in data structuring, representation, and storage will make the combination of relational databases with access through Persistence comparable to that claimed for object-oriented databases. 7. Future of Object Databases As previously mentioned, the lack of a robust view mechanism makes it difficult for objects designed for one application to be effectively re-used by other applications while retaining the encapsulation central to the object paradigm. However, adding views to object-oriented database systems is still a research problem that has not even been solved in the laboratory yet. Object-oriented database vendors now recognize the need to integrate with relational databases. Furthermore, object-oriented database vendors are rapidly expanding their suite of support tools. Currently, most OODBMS support tools are significantly behind those of state-of-the-art relational DBMS products. We do not expect the object-oriented database market ever to exceed the size of the relational database market. Consequently, there are more companies producing objectoriented databases than the market will support, as there are more OODBMS vendors than relational DBMS vendors. 8. Risk Management We identify several principles for risk management in migrating to object data management. Most importantly, do not migrate at once. Instead keep the old systems running in parallel with the new (experimental) systems until the latter have been proven successful. Develop a cutover/cut-back plan. Choose a simple application to migrate first; build in adequate evaluation and refinement time. Furthermore, insure that sufficient resources are available to both the new system and the maintenance of the old. We observed a severe problem in one project due to personnel being required to maintain the existing system while trying to design a new OO implementation. Do not hesitate to bring in outside help (or second opinions) early. In our experiences with the telecommunications industry, the willingness to bring in outside expertise has been a success marker. Organize data as most appropriate for the data and applications using it. Some data really does fit best in relational databases. Keep that data in the relational databases, and use object interfaces for object-oriented programming. Insure that you have the necessary expertise: you will need both OO and relational skills. Be wary of religious factioning (OO vs. RDBMS) amongst the developers (we have witnessed such factioning far too often). Create a clean, quality design first, tune later. However, do make sure you take the time to effectively evaluate and tune. In one project, we observed upwards of a year of wasted time due to inadequate evaluation and tuning periods. If you choose the OO language and RDBMS approach, you will find the maturity and variety of measuring and tuning tools very helpful. Take extra care in developing object schemata. There are more decisions and choices than there were in developing relational schemata. The absence of view mechanisms for object-oriented databases makes further migration more difficult. Remember any schema you create will need to be used by many applications and for a long time. Consider the second system problem. How well will object schemata and classes developed for the first (experimental) 4

application fit usage patterns required by subsequent applications? 9. Conclusion We have analyzed the process of migrating to object data management. We have considered risks and benefits and how to mitigate those risks. We have observed that often, much of the benefit of using object data management arises from object-oriented programming and does not require storing data in an object-oriented database. In fact, continuing to store data in a relational database, and accessing that data using a product like Persistence to allow programming in an object programming language provides much of the benefit at significantly reduced risk and cost, as compared with migrating to an objectoriented database. Arthur M. Keller, Richard Jensen, and Shailesh Agarwal, "Persistence Software: Bridging Object-Oriented Programming and Relational Databases," ACM SIGMOD, May 1993. References Thierry Barsalou, Niki Siambela, Arthur M. Keller, and Gio Wiederhold, "Updating Relational Databases through Object-Based Views," ACM SIGMOD, Denver, CO, May 1991. Michael R. Brodie, Migrating Legacy Systems: Gateways: Interfaces & The Incremental Approach, Morgan-Kaufmann, 1995. R.G.G. Cattell, Object Data Management Object-Oriented and Extended Relational Database Systems, Addison-Wesley, 1991. R.G.G. Cattell (ed.), The ODMG-93 Standard, Addison-Wesley, 1993. Arthur M. Keller, "Unifying Database and Programming Language Concepts Using the Object Model" (extended abstract), Int. Workshop on Object-Oriented Database Systems, IEEE Computer Society, Pacific Grove, CA, September 1986. 5