Meet DB2 is a standalone tool used to estimate the level of compatibility between the server side parts of an application (the DB schema) and DB2 for LUW. It has been widely used by IBM sales and partners.
many of them" ◦ ANSI SQL and ANSI SQL/PSM ◦ Oracle SQL and PL/SQL ◦ Sybase and Microsoft TSQL • User may want to switch vendors ◦ Price, performance. features, partnership • Question: How hard would it be to migrate?
time ◦ Provide both summary statistics and detailed list of issues ◦ Usable by technical sales staff ◦ Easy extensibility • Components ◦ Preprocessor: Deals with irrelevant code and substitutions ◦ Parser: Generates "Abstract Syntax Tree" (AST) in XML format ◦ Knowledge base: Catalog of known issues in XQuery format ◦ Analyzer: Executes XQueries to find problem instances ◦ Report generator: Transforms XML report into HTML report Note: Actual source and target DBs not needed
(tree) well • AST can be queried using XQuery ◦ Well suited to tree structures ◦ Dynamic execution of new XQueries ▪ No MEET re-compilation needed when knowledge base expanded ◦ Can leverage existing high performance XQuery engines • Can easily format reports via XSL transformations ◦ Potential connection to migration tools
of known migration issues, centrally maintained • Defines an issue as XQuery, with a small set of augmented APIs <problem name="function_in_java"> { reportNode($ast//node[@type="function" and @language="java"]) } </problem>
base (by junior and senior DBA) • Performance Evaluation ◦ Measure evaluation time (MEET vs expert) on 18 test cases • Accuracy Evaluation ◦ Measure report accuracy (MEET vs expert) on 18 test cases
pattern of the problem ◦ Step 2: implement the query to match the pattern ◦ Step 3: test and re-iterate • Four Tasks (1-yr Junior DBA vs 15-yr Senior DBA) ◦ Task 1: modifying an existing query ◦ Task 2: adding a query by expanding an existing query ◦ Task 3: designing a new query from scratch ◦ Task 4: removing a query
multiple dimensions ◦ Dramatically reduced time for evaluation ◦ Improved accuracy over human analysis ◦ Reduced skill requirements for migration analysis ◦ Generates useful information for product planning • Extensibility ◦ Can be easily extended ◦ Currently covers only DDL and procedural logic ◦ Future work: extend to support application logic (Java, C++) • Cost or "effort" estimation ◦ Currently coarse grained ◦ Future work: explore alternative cost models ▪ E.g. qualitative vs quantitative