SlideShare a Scribd company logo
1 of 10
Download to read offline
D.C. Wyld, et al. (Eds): CCSEA 2011, CS & IT 02, pp. 86–95, 2011.
© CS & IT-CSCP 2011 DOI: 10.5121/csit.2011.1210
MIGRATION OF AN OLTP SYSTEM FROM ORACLE
TO MYSQL AND COMPARATIVE PERFORMANCE
EVALUATION
Mohit Nanda1
and Amol Khanapurkar2
1,2
Performance Engineering Research Center,
Tata Consultancy Services Ltd., Mumbai
1
mohit.nanda@tcs.com,
2
amol.khanapurkar@tcs.com
ABSTRACT
Across the various RDBMS vendors Oracle has more than 60% [6] of market share, with a
complete feature-rich and secure offering. This has made Oracle as default choice as the
database choice for systems of all sizes.
There many open source databases as MySQL, PostgreS, etc. which has now evolved into
complete feature rich offerings and come with zero-licensing fee. This makes it an attractive
proposition to migrate from Oracle to an open-source distribution, to cut-down on licensing
costs.
Migrating an application from a commercial vendor to open source is based on typical
concerns of functionality and performabilty. Though there are various tools and offerings
available to migrate but currently there exists no reference points for the exact effort and impact
of migration on the application.
Thus we did a study of impact analysis and effort involved in migrating on OLTP application.
We successfully migrated the application and did a performance comparison, which is covered
in the paper. The paper also covers the tool and methodology used, along with the limitations of
MySQL and presents learnings of the entire exercise.
1. INTRODUCTION
The commercial databases used in the applications today come with a high licensing fee and
plethora of features. Many a times, an application can fit in a system with smaller subset of
features and commercial databases are overkill. At the same time the feature-overload and high
licensing fee add to perpetual support and licensing costs.
Over the time, the open-source database systems have caught up with the commercial vendors, in
terms of features and performance claims. This has created new opportunities to lower the costs
by migrating from commercial vendors to open-source vendors, and enter the zero-licensing-cost
bracket.
Migration of a running system is a risky proposition, with a lot of gray areas. Thus we took this
exercise of migrating an OLTP application from Oracle to MySQL.
We did a thorough analysis of effort required and functional & performance impact, hence
throwing light to the gray areas. Along the course, we also compared the two databases
extensively and have documented our experience, learnings and results in this paper.
Computer Science & Information Technology (CS & IT) 87
2. THE OLTP APPLICATION - EQUIZ
The application we chose to migrate is an Online Quizzing Platform, eQuiz, which is currently
being used in production in a large scale IT Company. The application empowers an organisation-
wide quizzing platform, as the online quizzing solution for its Qualifying round, for 3 years now.
2.1 Technology Stack
The application is built on a three-tier stack of using JSPs, Java Servlets and Oracle Stored
Procedures.
Fig 1. Application Technology Stack
Since the application relies heavily on PL/SQL Stored Procedures for data-access, migrating them
accurately was the most vital task.
2.2 Database User Objects
The database user objects in the application had a fair mix of nearly all type of objects [Table 1].
With 256 stored procedures, inside 32 packages, migrating them was the core of the migration
process.
Table 1. Database User Objects
User Object Count
Tables with Data 63
Sequences 22
Triggers 5
Packages [Stored Procedures] 32 [256]
Views 7
Functions 5
3. COMPARISON: ORACLE V/S MYSQL
Oracle is one of the most widely used commercial RDBMS and comes packed with a huge
number of features. MySQL is relatively a newer database but it nearly has all the features that
Oracle has. We did a detailed comparison of both the systems and found the overlaps and
exclusions in both the systems. [Fig 2]
88 Computer Science & Information Technology (CS & IT)
Fig 2. Oracle v/s MySQL Features
3.1 Server Side Features
• MySQL supports only built-in authentication methods, with no support for LDAP, CAS,
et al
• There does not exist groups or roles, hence limiting the control on ACL
• Execution plans are not cached globally, only per-connection.
3.2 SQL & Other Database Objects
• MySQL does not have support for Packages enclosing stored procedures.
• There exists no Sequences in MySQL; however an alternate is to use AutoNumber field
type.
• Materialized Views are not presents.
• Recursive queries are not supported in MySQL.
3.3 Indexes, Joins and Storage Engines
• Each storage engine supports different types of indexes with B-Tree indexes, supported
by most of them.
• MySQL does not support bitmap indexes.
• Sort-merge joins or hash joins are not present in MySQL, There is only one type of join
plan: nested-loop.
• In MySQL, the number of joins per query is limited to 61.
• In MySQL index on an expression are not allowed, you can only index columns.
• In MySQL, each table can have a different storage engine, with each engine having
different features.
• InnoDB is one of the most advanced and popular storage engine, with transactions and
row-level locking granularity.
Computer Science & Information Technology (CS & IT) 89
4. COMPATIBILITY
Before proceeding with the migration, we did a compatibility check for the application. We did a
break-down of all objects, major keywords and features used and checked them for availability in
MySQL.
Doing this, we also analyzed the differences in different versions on MySQL and alternatives
available if an exact match was not present. Since, lack of an exact match would require manual
effort to rewrite/modify existing code, this was an important exercise.
4.1 Features and Versions
The earlier versions of MySQL (before v5.5) did not support Stored Procedures, thus making it
difficult to migrate applications, which extensively used Oracle PL/SQL.
From version 5.5 onwards MySQL supports Stored Procedures along with all other Database
User Objects that are used in this application. Thus we decided on using MySQL Server 5.5 as the
target database.
4.2 Database Objects
Nearly all database objects that our application used, were present in MySQL, except the two
listed below:
• Sequences
The application used sequences for generation various recordIDs as primary keys. We
overcame that using AutoNumber data-type in MySQL.
• Utl_raw package for encryption/decryption
The application used utl_raw package to encrypt the questions kept in the question bank
• Functions as RANK() and 4-argument INSTR()
The two functions mentioned above did not have an exact match present in MySQL and
hence we had to require the functionality using SQL in MySQL Stored Procedures. The effort
was not huge and we could achieve desired functionality by implementing the logic in SQL.
Fig 3. Application requirements w.r.t. Oracle & MySQL
90 Computer Science & Information Technology (CS & IT)
4.3 Keywords
There are several keywords which differ in MySQL against Oracle but most of the time, their
purpose remains the same. The tool did most of the job of conversion, but we analyzed the
equivalents available and some of them are listed in Table 2.
Table 2. Difference in Keywords
Oracle MySQL
NVL IFNULL
SYSDATE CURRENT_TIMESTAMP
TO_CHAR DATE_FORMAT / STR
TO_NUMBER CAST
dateA – dateB TIMESTAMPDIFF
dateA + dateB TIMESTAMPADD
5. THE MIGRATION EXERCISE
5.1 The Tool – Ispirer SQLWays
Migrating all database user Objects manually was a mammoth task, hence evaluated a number of
tools available in the market and closed on Ispirer SQLWays [5]. It is a fairly mature tool with a
large set of supported databases for heterogeneous migrations. It also provided with a whitepaper
[3] for the task which covers the basics.
The tool is pretty straightforward to use and uses System DSNs to connect to source and target
databases. It reads the source database, gives you a selectable list of objects to migrate. It
generates executable SQL scripts for the target database and logs the entire cycle well, for each
transformation.
Using the tool, we could easily 90% migrate all database objects including Stored Procedures.
The remaining work had to be done manually by going through the cycle of functional testing and
debugging.
5.2 Changes in Application Code
• Stored-Procedure Calls
Due to change in procedure names, all calls to stored procedures had to be modified to
support the new nomenclature. Rename from PkgName.ProcName to PkgName_ProcName
was done using regular expressions:
FIND : (getStatementHandle([^)]+)(.)([^)]+))
REPLACE : 1_3
• Resultset Handling
The resultset(s) returned by Stored Procedures in MySQL required handling in Java in a
different way. Instead of accessing them using getObject(cursorPos), cStmt.getResultSet()
was used.
Computer Science & Information Technology (CS & IT) 91
• Connection String
The connection string was modified to use MySQL ODBC drivers.
5.3 Changes at Database End
• Package-Procedure Nomenclature
Since there exists no packages in MySQL, the stored procedures’ names were modified in a
way that PkgName.ProcName was renamed in MySQL as PkgName_ProcName. It was done
automatically by the tool.
5.4 Effort Required
The tool generates executable SQL scripts and nearly 90% of the Database User objects got
migrated out-of-the-box using these scripts. However, the remaining 10% required manual effort
to analyze and modify the SQL to fit the need. This was done using Regression testing of
modules, along with debugging.
The entire process tool close to 33 PD for the process, where time was spent in Analysis,
Migration, Functional Testing and Debugging.
5.5 Limitations of tool
• The tool could not convert date formats used in TO_DATE and TO_CHAR statements, and
hence those had to be modified manually.
• Oracle supports || operator for String Concatenation while MySQL does not and treats it as
logical OR. The tool could not transform String Concatenations automatically. They had to be
manually modified using STRCAT.
• It converted statement with 4-argument INSTR() to 3-argument LOCATE(), which is not-an-
exact equivalent and thus resulting in logical errors. Had to be fixed later manually.
6. IMPACT ANALYSIS
6.1 Functional Verification
The system did undergo a full round of regression testing to assert that all functionalities were
still behaving in the same way. For the few functions which did not pass the tests, the Stored
Procedure code had to be modified / rewritten to accommodate compatibility issues. These were
chiefly due to:
• Lack of sequences in MySQL
• Lack of inbuilt Encryption/Decryption functions
After the required changes, the application with MySQL now behaves as desired with no
compromises on functionality.
6.2 Performance Tests
We conducted performance tests to compare the performance of the system with MySQL against
Oracle. The tests were conducted using a suite with Open Source Load Testing Tool Grinder [7].
The tests were conducted in the same test environment to get apples-to- apples comparison.
92 Computer Science & Information Technology (CS & IT)
6.2.1 Load Tests
The load tests were conducted using real-time scenarios:
Workload : 1000 – 3000 concurrent users
Think-time : 30 seconds
Transaction Mix : Login -> Take Test -> Logout
Table 3. System Utilisations under workload
#Users
Oracle MySQL
App CPU
Utilisation (%)
DB CPU
Utilisation (%)
App CPU
Utilisation (%)
DB CPU
Utilisation (%)
1000 5 5 8 10
2000 6 7 10 12
3000 8 9 12 16
The CPU utilizations were slightly higher, in case of MySQL as compared to Oracle. However
all workloads executed within acceptable utilizations close to 15%. [Table 3]
Fig 4. DB & App CPU Utilisations (%)
The tests depict that the MySQL system gives a competitive performance with approx 5% less
Response Times and Throughput [Fig 5] than Oracle.
Table 4. Avg. Response Time & Throughput
#Users
Oracle MySQL
Response Time (ms)
Throughput Response Time
(ms)
Throughput
(pps) (pps)
1000 0.28 34.49 0.27 32.9
2000 0.73 68.85 0.71 64.62
3000 0.86 103.2 0.82 101.3
Computer Science & Information Technology (CS & IT) 93
Fig. 5. Average Throughput (Pages/sec) & Response Times (ms)
6.2.2 Point-load Stress Test
We also did a point-load stress test with zero think time to see if the system can sustain high peak
loads with zero think times.
The stress tests were conducted as the following real-time scenario:
Workload : 500 concurrent users (no ramp-up) x 1 iteration each
Think-time : 0 seconds
Transaction Mix : Login -> Take Test -> Logout
The system handled the load with acceptable response times and CPU utilizations [Table 5].
Table 5. Point-load Stress test
500 concurrent users x 15 iterations with Zero Think Time
Database
App CPU
Utilisation (%)
CPU Utilisation
(%)
Avg. Response
Time (ms)
Avg. Throughput
(pps)
Oracle 12 35 1.73 272.00
MySQL 15 30 1.90 262.30
6.2.3 Test Environment
The test environment comprised of two server class machines used for Application and DB
Server Respectively. The load testing tool was deployed on a separate server along with other
machines, used as load generators. For monitoring system utilizations, system utilities as sar and
top were used.
Table 6. Application & Database Server Configuration
Hardware Configuration
CPU 16 core 1.7 GHz Xeon
Memory 8 GB
Software Configuration
OS Ubuntu Linux
App Server Apache Tomcat 6.0.14
Hardware Configuration
CPU 4 core 2.66 GHz Xeon
Memory 4 GB
Software Configuration
OS CentOS 5.0
DB Server (1) Oracle 10.2.0.1
DB Server (2) MySQL 5.5
94 Computer Science & Information Technology (CS & IT)
7 CONCLUSIONS
The entire exercise of analysis and migration took close to 33 PD, with almost 11 PD spent in
analysis of feature compatibility and feasibility of migration. The results suggested that we could
successfully migrate such type of an OLTP application with no compromises on features. The
performance evaluation proved that for this application there would be no major impact on
performance.
All the database objects were successfully migrated, with most of the effort spent in migrating
stored procedures. The effort chiefly was spent in functional testing and writing equivalent logic
where an exact match of Oracle PL/SQL function was not available.
The effort spent in the migration activity is justified by the cost benefit achieved by it. This has
brought the application to Zero-cost licensing fee bracket. Using MySQL as the database for our
application which is not mission critical, we have been able to cut down on total cost of
ownership.
Other peripheral advantages of this migration include easier deployment on cloud. This is because
lot of cloud service providers, provide standard off-the-shelf images with MySQL installed.
The paper has given analysis of feature compatibility and performance comparison between
Oracle & MySQL. If the suitability of migration of an application/project to MySQL is
established, then its attractive proposition to enter zero-cost licensing fee bracket.
Table 7: Abbreviations & Terms used
Abbreviation/Term Definition
PL/SQL Procedural Language /
Structured Query Language
pps Pages per second
DSN Data Source Name
RDBMS Relational Database
Management System
LDAP Lightweight Directory
Access Protocol
CAS Central Authentication
Service
OLTP Online Transaction
Processing
OLAP Online Analytical
Processing
ACKNOWLEDGEMENTS
We would like to thank Dr. Rajesh Mansharamani, VP & Head, Performance Engineering
Research Center, TCS for supporting us with his able and effective guidance.
We would also like to thank Mr. Ajeet Ojha from TCS and Mr. Jayanti Murthy from Global
Consulting Practice–Performance Engineering, TCS for their expert guidance on databases
throughout the process.
Computer Science & Information Technology (CS & IT) 95
REFERENCES
[1] Jutta Horstmann, “Migration to Open Source Databases”, Technical University Berlin, September
2005
[2] [Online] AmazonTech Inc., “Database Migration to MySQL”
http://www.mysql.com/why-mysql/white-papers/mysql_amazontech_mssql2mysql_paper.pdf
[3] [Online] Ispirer’s whitepaper on “Oracle to MySQL migration”, March 2009
http://www.ispirer.com/doc/sqlways-oracle-to-mysql-whitepaper.pdf
[4] [Online] MySQL Migration Toolkit
http://dev.mysql.com/doc/migration-toolkit/en/index.html
[5] [Online] Ispirer SQLWays
http://www.ispirer.com/products
[6] [Online] Oracle India Pvt. Ltd. Flyer
http://www.ibef.org/attachdisplay.aspx?cat_id=432&art_id=6021
[7] [Online] The Grinder, a java load testing framework
http://grinder.sourceforge.net

More Related Content

What's hot

Eng systems oracle_overview
Eng systems oracle_overviewEng systems oracle_overview
Eng systems oracle_overviewFran Navarro
 
Biswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_AdministratorBiswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_AdministratorBiswajit Sarkar
 
MOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical ExamplesMOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical ExamplesMonica Li
 
Oracle & sql server comparison 2
Oracle & sql server comparison 2Oracle & sql server comparison 2
Oracle & sql server comparison 2Mohsen B
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2Dobler Consulting
 
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)Satishbabu Gunukula
 
MOUG17: How to Build Multi-Client APEX Applications
MOUG17: How to Build Multi-Client APEX ApplicationsMOUG17: How to Build Multi-Client APEX Applications
MOUG17: How to Build Multi-Client APEX ApplicationsMonica Li
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 noveltiesMSDEVMTL
 
Maruthi_YH_resume
Maruthi_YH_resumeMaruthi_YH_resume
Maruthi_YH_resumeMaruthi YH
 
Pankaj_Gupta_Resume
Pankaj_Gupta_ResumePankaj_Gupta_Resume
Pankaj_Gupta_ResumePankaj Gupta
 
MOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEX
MOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEXMOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEX
MOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEXMonica Li
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsPini Dibask
 
AutoUpgrade and Best Practices
AutoUpgrade and Best PracticesAutoUpgrade and Best Practices
AutoUpgrade and Best PracticesJitendra Singh
 

What's hot (20)

Oracle
OracleOracle
Oracle
 
Eng systems oracle_overview
Eng systems oracle_overviewEng systems oracle_overview
Eng systems oracle_overview
 
Biswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_AdministratorBiswajit_Sarkar_Database_Administrator
Biswajit_Sarkar_Database_Administrator
 
MOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical ExamplesMOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical Examples
 
Oracle archi ppt
Oracle archi pptOracle archi ppt
Oracle archi ppt
 
Oracle & sql server comparison 2
Oracle & sql server comparison 2Oracle & sql server comparison 2
Oracle & sql server comparison 2
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
 
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)What's new in Oracle 19c & 18c Recovery Manager (RMAN)
What's new in Oracle 19c & 18c Recovery Manager (RMAN)
 
MOUG17: How to Build Multi-Client APEX Applications
MOUG17: How to Build Multi-Client APEX ApplicationsMOUG17: How to Build Multi-Client APEX Applications
MOUG17: How to Build Multi-Client APEX Applications
 
Sybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAsSybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAs
 
Siva-Resume
Siva-ResumeSiva-Resume
Siva-Resume
 
Sybase To Oracle Migration for Developers
Sybase To Oracle Migration for DevelopersSybase To Oracle Migration for Developers
Sybase To Oracle Migration for Developers
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 novelties
 
Maruthi_YH_resume
Maruthi_YH_resumeMaruthi_YH_resume
Maruthi_YH_resume
 
Oracle's history
Oracle's historyOracle's history
Oracle's history
 
Pankaj_Gupta_Resume
Pankaj_Gupta_ResumePankaj_Gupta_Resume
Pankaj_Gupta_Resume
 
Rohit_Panot
Rohit_PanotRohit_Panot
Rohit_Panot
 
MOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEX
MOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEXMOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEX
MOUG17: Oracle APEX - Tame IT Backlog Low Code Micro Apps in APEX
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editions
 
AutoUpgrade and Best Practices
AutoUpgrade and Best PracticesAutoUpgrade and Best Practices
AutoUpgrade and Best Practices
 

Similar to MIGRATION OF AN OLTP SYSTEM FROM ORACLE TO MYSQL AND COMPARATIVE PERFORMANCE EVALUATION

SQL PPT.pptx
SQL PPT.pptxSQL PPT.pptx
SQL PPT.pptxKulbir4
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?Markus Michalewicz
 
Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard Fuad Arshad
 
My sql performance tuning course
My sql performance tuning courseMy sql performance tuning course
My sql performance tuning courseAlberto Centanni
 
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...Trivadis
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql databasePARIKSHIT SAVJANI
 
oracle_workprofile.pptx
oracle_workprofile.pptxoracle_workprofile.pptx
oracle_workprofile.pptxssuser20fcbe
 
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...djkucera
 
Orca: A Modular Query Optimizer Architecture for Big Data
Orca: A Modular Query Optimizer Architecture for Big DataOrca: A Modular Query Optimizer Architecture for Big Data
Orca: A Modular Query Optimizer Architecture for Big DataEMC
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft Private Cloud
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL SupportMysql User Camp
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudVitor Oliveira
 
Presentation application change management and data masking strategies for ...
Presentation   application change management and data masking strategies for ...Presentation   application change management and data masking strategies for ...
Presentation application change management and data masking strategies for ...xKinAnx
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationMark Ginnebaugh
 

Similar to MIGRATION OF AN OLTP SYSTEM FROM ORACLE TO MYSQL AND COMPARATIVE PERFORMANCE EVALUATION (20)

SQL PPT.pptx
SQL PPT.pptxSQL PPT.pptx
SQL PPT.pptx
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
 
Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard Migrating from Single Instance to RAC Data guard
Migrating from Single Instance to RAC Data guard
 
My sql performance tuning course
My sql performance tuning courseMy sql performance tuning course
My sql performance tuning course
 
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
Trivadis TechEvent 2017 Oracle to My SQL Migration - Challenges by Robert Bia...
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
 
oracle_workprofile.pptx
oracle_workprofile.pptxoracle_workprofile.pptx
oracle_workprofile.pptx
 
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
Collaborate 2009 - Migrating a Data Warehouse from Microsoft SQL Server to Or...
 
Orca: A Modular Query Optimizer Architecture for Big Data
Orca: A Modular Query Optimizer Architecture for Big DataOrca: A Modular Query Optimizer Architecture for Big Data
Orca: A Modular Query Optimizer Architecture for Big Data
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations Presentation
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the Cloud
 
Presentation application change management and data masking strategies for ...
Presentation   application change management and data masking strategies for ...Presentation   application change management and data masking strategies for ...
Presentation application change management and data masking strategies for ...
 
Store procedures
Store proceduresStore procedures
Store procedures
 
Tips and Tricks for Toad
Tips and Tricks for ToadTips and Tricks for Toad
Tips and Tricks for Toad
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 Migration
 
MarkAndrews
MarkAndrewsMarkAndrews
MarkAndrews
 

More from cscpconf

ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR cscpconf
 
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATIONcscpconf
 
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...cscpconf
 
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIESPROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIEScscpconf
 
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGICA SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGICcscpconf
 
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS cscpconf
 
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS cscpconf
 
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTICTWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTICcscpconf
 
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAINDETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAINcscpconf
 
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...cscpconf
 
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEMIMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEMcscpconf
 
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...cscpconf
 
AUTOMATED PENETRATION TESTING: AN OVERVIEW
AUTOMATED PENETRATION TESTING: AN OVERVIEWAUTOMATED PENETRATION TESTING: AN OVERVIEW
AUTOMATED PENETRATION TESTING: AN OVERVIEWcscpconf
 
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORKCLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORKcscpconf
 
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...cscpconf
 
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATAPROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATAcscpconf
 
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCHCHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCHcscpconf
 
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...cscpconf
 
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGESOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGEcscpconf
 
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXTGENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXTcscpconf
 

More from cscpconf (20)

ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
 
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
 
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
 
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIESPROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
 
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGICA SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
 
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
 
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
 
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTICTWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
 
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAINDETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
 
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
 
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEMIMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
 
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
 
AUTOMATED PENETRATION TESTING: AN OVERVIEW
AUTOMATED PENETRATION TESTING: AN OVERVIEWAUTOMATED PENETRATION TESTING: AN OVERVIEW
AUTOMATED PENETRATION TESTING: AN OVERVIEW
 
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORKCLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
 
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
 
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATAPROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
 
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCHCHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
 
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
 
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGESOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
 
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXTGENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
 

Recently uploaded

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 

Recently uploaded (20)

ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 

MIGRATION OF AN OLTP SYSTEM FROM ORACLE TO MYSQL AND COMPARATIVE PERFORMANCE EVALUATION

  • 1. D.C. Wyld, et al. (Eds): CCSEA 2011, CS & IT 02, pp. 86–95, 2011. © CS & IT-CSCP 2011 DOI: 10.5121/csit.2011.1210 MIGRATION OF AN OLTP SYSTEM FROM ORACLE TO MYSQL AND COMPARATIVE PERFORMANCE EVALUATION Mohit Nanda1 and Amol Khanapurkar2 1,2 Performance Engineering Research Center, Tata Consultancy Services Ltd., Mumbai 1 mohit.nanda@tcs.com, 2 amol.khanapurkar@tcs.com ABSTRACT Across the various RDBMS vendors Oracle has more than 60% [6] of market share, with a complete feature-rich and secure offering. This has made Oracle as default choice as the database choice for systems of all sizes. There many open source databases as MySQL, PostgreS, etc. which has now evolved into complete feature rich offerings and come with zero-licensing fee. This makes it an attractive proposition to migrate from Oracle to an open-source distribution, to cut-down on licensing costs. Migrating an application from a commercial vendor to open source is based on typical concerns of functionality and performabilty. Though there are various tools and offerings available to migrate but currently there exists no reference points for the exact effort and impact of migration on the application. Thus we did a study of impact analysis and effort involved in migrating on OLTP application. We successfully migrated the application and did a performance comparison, which is covered in the paper. The paper also covers the tool and methodology used, along with the limitations of MySQL and presents learnings of the entire exercise. 1. INTRODUCTION The commercial databases used in the applications today come with a high licensing fee and plethora of features. Many a times, an application can fit in a system with smaller subset of features and commercial databases are overkill. At the same time the feature-overload and high licensing fee add to perpetual support and licensing costs. Over the time, the open-source database systems have caught up with the commercial vendors, in terms of features and performance claims. This has created new opportunities to lower the costs by migrating from commercial vendors to open-source vendors, and enter the zero-licensing-cost bracket. Migration of a running system is a risky proposition, with a lot of gray areas. Thus we took this exercise of migrating an OLTP application from Oracle to MySQL. We did a thorough analysis of effort required and functional & performance impact, hence throwing light to the gray areas. Along the course, we also compared the two databases extensively and have documented our experience, learnings and results in this paper.
  • 2. Computer Science & Information Technology (CS & IT) 87 2. THE OLTP APPLICATION - EQUIZ The application we chose to migrate is an Online Quizzing Platform, eQuiz, which is currently being used in production in a large scale IT Company. The application empowers an organisation- wide quizzing platform, as the online quizzing solution for its Qualifying round, for 3 years now. 2.1 Technology Stack The application is built on a three-tier stack of using JSPs, Java Servlets and Oracle Stored Procedures. Fig 1. Application Technology Stack Since the application relies heavily on PL/SQL Stored Procedures for data-access, migrating them accurately was the most vital task. 2.2 Database User Objects The database user objects in the application had a fair mix of nearly all type of objects [Table 1]. With 256 stored procedures, inside 32 packages, migrating them was the core of the migration process. Table 1. Database User Objects User Object Count Tables with Data 63 Sequences 22 Triggers 5 Packages [Stored Procedures] 32 [256] Views 7 Functions 5 3. COMPARISON: ORACLE V/S MYSQL Oracle is one of the most widely used commercial RDBMS and comes packed with a huge number of features. MySQL is relatively a newer database but it nearly has all the features that Oracle has. We did a detailed comparison of both the systems and found the overlaps and exclusions in both the systems. [Fig 2]
  • 3. 88 Computer Science & Information Technology (CS & IT) Fig 2. Oracle v/s MySQL Features 3.1 Server Side Features • MySQL supports only built-in authentication methods, with no support for LDAP, CAS, et al • There does not exist groups or roles, hence limiting the control on ACL • Execution plans are not cached globally, only per-connection. 3.2 SQL & Other Database Objects • MySQL does not have support for Packages enclosing stored procedures. • There exists no Sequences in MySQL; however an alternate is to use AutoNumber field type. • Materialized Views are not presents. • Recursive queries are not supported in MySQL. 3.3 Indexes, Joins and Storage Engines • Each storage engine supports different types of indexes with B-Tree indexes, supported by most of them. • MySQL does not support bitmap indexes. • Sort-merge joins or hash joins are not present in MySQL, There is only one type of join plan: nested-loop. • In MySQL, the number of joins per query is limited to 61. • In MySQL index on an expression are not allowed, you can only index columns. • In MySQL, each table can have a different storage engine, with each engine having different features. • InnoDB is one of the most advanced and popular storage engine, with transactions and row-level locking granularity.
  • 4. Computer Science & Information Technology (CS & IT) 89 4. COMPATIBILITY Before proceeding with the migration, we did a compatibility check for the application. We did a break-down of all objects, major keywords and features used and checked them for availability in MySQL. Doing this, we also analyzed the differences in different versions on MySQL and alternatives available if an exact match was not present. Since, lack of an exact match would require manual effort to rewrite/modify existing code, this was an important exercise. 4.1 Features and Versions The earlier versions of MySQL (before v5.5) did not support Stored Procedures, thus making it difficult to migrate applications, which extensively used Oracle PL/SQL. From version 5.5 onwards MySQL supports Stored Procedures along with all other Database User Objects that are used in this application. Thus we decided on using MySQL Server 5.5 as the target database. 4.2 Database Objects Nearly all database objects that our application used, were present in MySQL, except the two listed below: • Sequences The application used sequences for generation various recordIDs as primary keys. We overcame that using AutoNumber data-type in MySQL. • Utl_raw package for encryption/decryption The application used utl_raw package to encrypt the questions kept in the question bank • Functions as RANK() and 4-argument INSTR() The two functions mentioned above did not have an exact match present in MySQL and hence we had to require the functionality using SQL in MySQL Stored Procedures. The effort was not huge and we could achieve desired functionality by implementing the logic in SQL. Fig 3. Application requirements w.r.t. Oracle & MySQL
  • 5. 90 Computer Science & Information Technology (CS & IT) 4.3 Keywords There are several keywords which differ in MySQL against Oracle but most of the time, their purpose remains the same. The tool did most of the job of conversion, but we analyzed the equivalents available and some of them are listed in Table 2. Table 2. Difference in Keywords Oracle MySQL NVL IFNULL SYSDATE CURRENT_TIMESTAMP TO_CHAR DATE_FORMAT / STR TO_NUMBER CAST dateA – dateB TIMESTAMPDIFF dateA + dateB TIMESTAMPADD 5. THE MIGRATION EXERCISE 5.1 The Tool – Ispirer SQLWays Migrating all database user Objects manually was a mammoth task, hence evaluated a number of tools available in the market and closed on Ispirer SQLWays [5]. It is a fairly mature tool with a large set of supported databases for heterogeneous migrations. It also provided with a whitepaper [3] for the task which covers the basics. The tool is pretty straightforward to use and uses System DSNs to connect to source and target databases. It reads the source database, gives you a selectable list of objects to migrate. It generates executable SQL scripts for the target database and logs the entire cycle well, for each transformation. Using the tool, we could easily 90% migrate all database objects including Stored Procedures. The remaining work had to be done manually by going through the cycle of functional testing and debugging. 5.2 Changes in Application Code • Stored-Procedure Calls Due to change in procedure names, all calls to stored procedures had to be modified to support the new nomenclature. Rename from PkgName.ProcName to PkgName_ProcName was done using regular expressions: FIND : (getStatementHandle([^)]+)(.)([^)]+)) REPLACE : 1_3 • Resultset Handling The resultset(s) returned by Stored Procedures in MySQL required handling in Java in a different way. Instead of accessing them using getObject(cursorPos), cStmt.getResultSet() was used.
  • 6. Computer Science & Information Technology (CS & IT) 91 • Connection String The connection string was modified to use MySQL ODBC drivers. 5.3 Changes at Database End • Package-Procedure Nomenclature Since there exists no packages in MySQL, the stored procedures’ names were modified in a way that PkgName.ProcName was renamed in MySQL as PkgName_ProcName. It was done automatically by the tool. 5.4 Effort Required The tool generates executable SQL scripts and nearly 90% of the Database User objects got migrated out-of-the-box using these scripts. However, the remaining 10% required manual effort to analyze and modify the SQL to fit the need. This was done using Regression testing of modules, along with debugging. The entire process tool close to 33 PD for the process, where time was spent in Analysis, Migration, Functional Testing and Debugging. 5.5 Limitations of tool • The tool could not convert date formats used in TO_DATE and TO_CHAR statements, and hence those had to be modified manually. • Oracle supports || operator for String Concatenation while MySQL does not and treats it as logical OR. The tool could not transform String Concatenations automatically. They had to be manually modified using STRCAT. • It converted statement with 4-argument INSTR() to 3-argument LOCATE(), which is not-an- exact equivalent and thus resulting in logical errors. Had to be fixed later manually. 6. IMPACT ANALYSIS 6.1 Functional Verification The system did undergo a full round of regression testing to assert that all functionalities were still behaving in the same way. For the few functions which did not pass the tests, the Stored Procedure code had to be modified / rewritten to accommodate compatibility issues. These were chiefly due to: • Lack of sequences in MySQL • Lack of inbuilt Encryption/Decryption functions After the required changes, the application with MySQL now behaves as desired with no compromises on functionality. 6.2 Performance Tests We conducted performance tests to compare the performance of the system with MySQL against Oracle. The tests were conducted using a suite with Open Source Load Testing Tool Grinder [7]. The tests were conducted in the same test environment to get apples-to- apples comparison.
  • 7. 92 Computer Science & Information Technology (CS & IT) 6.2.1 Load Tests The load tests were conducted using real-time scenarios: Workload : 1000 – 3000 concurrent users Think-time : 30 seconds Transaction Mix : Login -> Take Test -> Logout Table 3. System Utilisations under workload #Users Oracle MySQL App CPU Utilisation (%) DB CPU Utilisation (%) App CPU Utilisation (%) DB CPU Utilisation (%) 1000 5 5 8 10 2000 6 7 10 12 3000 8 9 12 16 The CPU utilizations were slightly higher, in case of MySQL as compared to Oracle. However all workloads executed within acceptable utilizations close to 15%. [Table 3] Fig 4. DB & App CPU Utilisations (%) The tests depict that the MySQL system gives a competitive performance with approx 5% less Response Times and Throughput [Fig 5] than Oracle. Table 4. Avg. Response Time & Throughput #Users Oracle MySQL Response Time (ms) Throughput Response Time (ms) Throughput (pps) (pps) 1000 0.28 34.49 0.27 32.9 2000 0.73 68.85 0.71 64.62 3000 0.86 103.2 0.82 101.3
  • 8. Computer Science & Information Technology (CS & IT) 93 Fig. 5. Average Throughput (Pages/sec) & Response Times (ms) 6.2.2 Point-load Stress Test We also did a point-load stress test with zero think time to see if the system can sustain high peak loads with zero think times. The stress tests were conducted as the following real-time scenario: Workload : 500 concurrent users (no ramp-up) x 1 iteration each Think-time : 0 seconds Transaction Mix : Login -> Take Test -> Logout The system handled the load with acceptable response times and CPU utilizations [Table 5]. Table 5. Point-load Stress test 500 concurrent users x 15 iterations with Zero Think Time Database App CPU Utilisation (%) CPU Utilisation (%) Avg. Response Time (ms) Avg. Throughput (pps) Oracle 12 35 1.73 272.00 MySQL 15 30 1.90 262.30 6.2.3 Test Environment The test environment comprised of two server class machines used for Application and DB Server Respectively. The load testing tool was deployed on a separate server along with other machines, used as load generators. For monitoring system utilizations, system utilities as sar and top were used. Table 6. Application & Database Server Configuration Hardware Configuration CPU 16 core 1.7 GHz Xeon Memory 8 GB Software Configuration OS Ubuntu Linux App Server Apache Tomcat 6.0.14 Hardware Configuration CPU 4 core 2.66 GHz Xeon Memory 4 GB Software Configuration OS CentOS 5.0 DB Server (1) Oracle 10.2.0.1 DB Server (2) MySQL 5.5
  • 9. 94 Computer Science & Information Technology (CS & IT) 7 CONCLUSIONS The entire exercise of analysis and migration took close to 33 PD, with almost 11 PD spent in analysis of feature compatibility and feasibility of migration. The results suggested that we could successfully migrate such type of an OLTP application with no compromises on features. The performance evaluation proved that for this application there would be no major impact on performance. All the database objects were successfully migrated, with most of the effort spent in migrating stored procedures. The effort chiefly was spent in functional testing and writing equivalent logic where an exact match of Oracle PL/SQL function was not available. The effort spent in the migration activity is justified by the cost benefit achieved by it. This has brought the application to Zero-cost licensing fee bracket. Using MySQL as the database for our application which is not mission critical, we have been able to cut down on total cost of ownership. Other peripheral advantages of this migration include easier deployment on cloud. This is because lot of cloud service providers, provide standard off-the-shelf images with MySQL installed. The paper has given analysis of feature compatibility and performance comparison between Oracle & MySQL. If the suitability of migration of an application/project to MySQL is established, then its attractive proposition to enter zero-cost licensing fee bracket. Table 7: Abbreviations & Terms used Abbreviation/Term Definition PL/SQL Procedural Language / Structured Query Language pps Pages per second DSN Data Source Name RDBMS Relational Database Management System LDAP Lightweight Directory Access Protocol CAS Central Authentication Service OLTP Online Transaction Processing OLAP Online Analytical Processing ACKNOWLEDGEMENTS We would like to thank Dr. Rajesh Mansharamani, VP & Head, Performance Engineering Research Center, TCS for supporting us with his able and effective guidance. We would also like to thank Mr. Ajeet Ojha from TCS and Mr. Jayanti Murthy from Global Consulting Practice–Performance Engineering, TCS for their expert guidance on databases throughout the process.
  • 10. Computer Science & Information Technology (CS & IT) 95 REFERENCES [1] Jutta Horstmann, “Migration to Open Source Databases”, Technical University Berlin, September 2005 [2] [Online] AmazonTech Inc., “Database Migration to MySQL” http://www.mysql.com/why-mysql/white-papers/mysql_amazontech_mssql2mysql_paper.pdf [3] [Online] Ispirer’s whitepaper on “Oracle to MySQL migration”, March 2009 http://www.ispirer.com/doc/sqlways-oracle-to-mysql-whitepaper.pdf [4] [Online] MySQL Migration Toolkit http://dev.mysql.com/doc/migration-toolkit/en/index.html [5] [Online] Ispirer SQLWays http://www.ispirer.com/products [6] [Online] Oracle India Pvt. Ltd. Flyer http://www.ibef.org/attachdisplay.aspx?cat_id=432&art_id=6021 [7] [Online] The Grinder, a java load testing framework http://grinder.sourceforge.net