SlideShare a Scribd company logo
1 of 27
Download to read offline
Migration: Replacing
Oracle Database at an
international bank
Migration d’une base de données
Oracle vers MariaDB par une Banque
de renommée international
Dr. Alexander Bienemann
Migration Practice Manager
Paris, 30.06.2017
Professional Services
Asia’s Safest, Asia’s Best Bank
is migrating their application from Oracle
to MariaDB.
DBS Bank | Singapore
Why migrate
to MariaDB?
What is different now?
Professional Services
Why migrate now?
MariaDB is ready for enterprise-grade migrations from Oracle and DB2:
• New features added in 10.2 and 10.3. Migrations are faster and easier than ever before.
– MariaDB is highly PL/SQL compliant now
– MariaDB has a sound HA and distribution concept
• Cloud flexibility. No CPU fees, flexible topologies, the works.
• Well-proven. Some of the biggest companies migrate.
• Cost. We offer a much lower TCO.
We are ready for enterprise-grade migrations from Oracle
• MariaDB is feature-rich:
– Through customer projects, we identify & close gaps
– We develop features and solutions
– Community and customers contribute actively
• Examples:
– SQL_MODE = ORACLE (10.2, 10.3)
– PL/SQL parser
– Returning tables from procedures
– Migrations of CONNECT_BY_ROOT, ISLEAF
– MaxScale for HA and Load Balancing
• SQL 2003:
– CTE’s / WITH
– Window Functions
• MariaDB is highly productive:
– TA throughput > 1 million queries/sec
– Data sizes of multiple TB
– CONNECT storage engine
– Fast data ingest with LOAD DATA INFILE
– JSON functions
• MariaDB helps with compliance:
– Encryption of data (data-at-rest)
– Encrypted connections with TLS, certificates
– Audit Plug-In for accountability
– World-class support
• Standard, widely used SQL.
– Think of the 80/20 Pareto principle!
– We are a relational DB - how many frills do you really use?
• Common Table Expressions.
– WITH construct, recursive and non-recursive, e.g. CONNECT_BY_ROOT, ISLEAF
– Having MariaDB 10.2, we implement directly 1:1 in MariaDB’s own database code
• Window Functions. For analytic queries: NTILE, RANK, DENSE_RANK etc.
• SQL_MODE = ORACLE. Procedure syntax extremely close to PL/SQL.
Features that make migrations easier
Features that are better than your legacy system
• Distributed, shared-nothing architecture. ColumnStore. Connect engine.
• Easy partitioning.
• Native replication. Choice of Galera, Master-Slave, or both.
• Solutions with MaxScale. Promotion of slaves to master with various topologies.
And, last but not least:
• Lower TCO. For instance, 70% lower according to our customer!
Ongoing migration
DBS Bank Singapore
Professional Services
• DBS Bank Singapore. One of the biggest banks in Southeast Asia.
– 12 applications have already been successfully migrated to MariaDB by 2016
– 15 application in pipeline for 2017 → 3 of which are the most complex ones
• Heavy-duty transactional data mart for OLTP applications
– Data is then provided to customer-facing applications
– 16 countries, 250 tables, 130 procedures, 4 TB hot data, 15 TB cold data (approx.)
• Online corporate banking application
– 9 countries, several million financial TA/month
• Integrated payment engine
– 9 countries, several million financial TA/month
Migration projects at DBS Bank
• Phase 1: Migration of the Transactional Data Mart
– Started with Migration Assessment (analysis of feature gap and major challenges)
– Feature development started in Sept. 2016 => SQL_MODE = ORACLE
– Migration work started in January 2017
– Go-live in July/August 2017
• Phase 2: Design for hot and cold data incl. ColumnStore
– PoC for the target architecture is completed
– Scheduled for Q3-Q4 2017
– Go-live in Q1 2018
Example of migration: Transactional Data Mart
• Migration Assessments:
– Gap analysis in the beginning
– Mid-project assessment for streamlining the migration
• Feature development:
– Analysis results lead to prioritization and Statement of Work
– Features are customer-driven and community-driven => the community benefits in this way
• Application migration:
– Database experts of the Customer are trained by MariaDB
– Application adaptation by Customer’s own developers
– Direct migration to high extent with SQL_MODE = ORACLE
– Migration validation, in particular on procedural level
• Migration consulting by MariaDB:
– Knowledge transfer to the Customer
– Additional know-how on specific topics, e.g. HA architectures
How we conduct the migration
Joint work of the DBS and MariaDB
• Necessity of a Proof of Concept:
– Solution: One of the most complex application cases was deliberately chosen.
• Density of internal application knowledge:
– Live application which has been growing over years → hundreds of procedures etc.
– Solution:
• 1:1 migration whenever possible
• analysis of legacy semantics in the few cases where necessary
• Complexity due to Oracle features used:
– Oracle-specific features had been used, e.g. CONNECT BY, PIPE ROW, non-1NF custom types
– Solution:
• feature development for frequently used constructs → tradeoff “development cost vs. migration cost”
• solution/workaround development for less frequently used constructs, e.g. collections
• Complexity due to long-term growing architecture:
– Tight couplings and dependencies with neighboring systems
– Direct access to tables from/to other applications, i.e. bypassing application calls
– Solution:
• analysis of the architecture “as is”, check for optimal options in sync with migration plan
• develop a REST interface and/or use dedicated slaves
Challenges and how we managed them
How do we migrate?
The general idea
Professional Services
How to choose first candidates for migration
• What requires further analysis:
– Applications highly dependent on
DBMS-specific constructs, e.g.
• Functions monitoring of DBMS internals
• Parallelism issues etc.
– Documentation of semantic differences
between MariaDB and Oracle types is
available
• Customers can work with MariaDB to resolve
some of the documented differences where
necessary
• Good candidates for a migration:
– Application stacks where the DBMS is used by
well-documented interfaces, e.g.
• Oracle with Java
• Oracle with C++
• Vendor-neutral, as long as they maintain clear
or documented interfaces
– We are open to work with new vendors
who do not support MariaDB yet
• Application logic remains unchanged
→ We adapt the data access layer
• Migration process:
– Migration Questionnaire
– Migration Assessment
– Migration project planning,
migration doing, and QA
– Switchovers, forward and rollback
planning, points of no return
– Pilot phase
• Migration project planning,
migration doing, and QA:
– Deepened analysis of existing DB
application and IT infrastructure
• Migration of schema
• Migration of interfaces to other systems
• Choice of the right tools
• Analysis of slow-running queries
• Tuning opportunities
– MariaDB migration expertise,
validation of application behavior
• Performance, load, parallelism tests
• User Acceptance Tests (UAT)
• System Integration Tests (SIT)
The migration process
• Starting point of a migration:
Migration Assessment Package
– Approx. 10 days
– Our consultants analyze your database
applications
– Target architecture is developed based
on MariaDB and MaxScale and further
products if necessary
– Tasks and effort estimation
– Findings can be refined later on during
actual migration project
First step: Migration Assessment
• Benefits of this service:
– Ensure a precise, non-biased, externally
objective analysis of your applications
– Minimize the risk of wrong planning and
non-purposeful activities
– Ensure a purposeful, straightforward
procedure, and prioritization of steps
– Benefit from the broad experience and
deep technical insight of MariaDB
consultants, comprising knowledge in both
MariaDB as well as Oracle
• In order to plan a migration:
– Migration Assessment Package
– Proof of Concept of Target Architecture
• In order to conduct a migration:
– Adaptation of Procedural Code
– Data Migration Package
– Performance Tuning
– Integration Tests and Switchovers
• It is crucial for us to make you successful with your migration
How we help customers to succeed in migrations
Some of our
best practices
Migration Practice
Professional Services
Customized quality criteria
• Customized quality criteria based on the application environment and usage:
– specific for every single case
• Various tests are developed and conducted:
– Functional tests
– Load tests
– Parallel operation tests
– User acceptance tests
– Integration tests — including interfaces to neighboring systems
• Criteria on process change
• Criteria on the change of monitoring systems
• On project and team level: tolerances
MariaDB:
use payroll
select * from hr.employee;
Oracle:
connect payroll/<password>
create synonym employee for hr.employee;
select * from employee;
• In Oracle, you need synonyms and database links usually to access objects that are
outside of your user-specific “schema”
• In MariaDB, objects in different databases can be accessed directly
• Thus, before migrating one should check if synonyms/links will actually be needed
Best practice: Migration of SYNONYM
Solution 2: Synonym access on the same
server with VIEWs
CREATE VIEW LOCALDB.LOCALNAME (
`ID`,
`ATTR`,
`WHEN_CREATED`,
)
AS
SELECT `ID`, `ATTR`, `WHEN_CREATED`,`
FROM DBNAME.TABLENAME;
Solution 1: Synonym access between two
servers with FederatedX
CREATE SERVER 'MariaDB_Link_NAME' FOREIGN DATA
WRAPPER 'mysql' OPTIONS
(
HOST '<ip_address>',
DATABASE '<DBNAME>',
USER '<username>',
PASSWORD '<password>',
PORT 3306,
SOCKET '',
OWNER '<owner>'
);
CREATE TABLE LOCALDB.LOCALNAME (
`ID` varchar(11),
`ATTR` varchar(35),
`WHEN_CREATED` timestamp(6)
) ENGINE=FEDERATED DEFAULT CHARSET=latin1
CONNECTION='MariaDB_Link_NAME/TABLENAME';
• If you need synonyms and database links, we provide a solution for migrating it
depending on the application case
• Example for table/view synonyms:
Best practice: Migration of SYNONYM
Best practices for proprietary solutions
• Legacy applications may contain specific proprietary technical solutions, e.g.
– Replication protocols (other than those of database systems)
– Backup solutions
• We analyze and help to decide how these solutions can be supported in the best way: by
state-of-the-art technical constructs,
– e.g. MariaDB replication
• Depending on the specific case, preserving existing legacy mechanisms may be
temporarily helpful
• A roadmap for improvements can be defined
Conclusions
Possible migration scenarios
Professional Services
• Experts from MariaDB Corporation
perform both preparation work and
actual migration
• We are responsible for the actual
migration process
• We coordinate all accountable parties
and stakeholders involved
Complete migration PoC migration plus own work
• Experts from MariaDB Corporation
perform the Migration Assessment and
a Proof of Concept migration
• The customer is responsible for the
actual migration process
• The customer coordinates all
accountable parties and stakeholders
involved
• MariaDB provides advisory capacity
Different scenarios for using our migration services
→ See our packages
Assessment in the beginning:
• Experts from MariaDB Corporation
analyze the legacy application
• We analyze the feature gap (if any) and
develop an optimal target architecture with
MariaDB
• We provide an effort estimation
Assessment in the middle of a project:
• Experts from MariaDB Corporation analyze
the already ongoing migration project of the
customer
• We analyze and improve the chosen target
architecture
• We analyze and improve the migration
process of the customer, especially:
– optimize the software adaptation process
– secure the switchover planning
– provide best practices
Real-life examples of Migration Assessment usage
• Implementation of legacy functionalities
with existing MariaDB constructs
• When a feature is missing, we discuss
together with the customer whether to
– develop the feature, or
– provide a workaround/solution
• Advantages for the Customer:
– faster time-to-market through
development of Oracle-compatible features
– optimal migration cost as only selected
features needed to be developed
• Implementation of legacy functionalities
with existing MariaDB constructs
• When a feature is missing, we provide a
solution, i.e. a workaround on the basis of
current MariaDB version
Migration without new features: Migration with closing feature gap:
Migration scenarios
Thank you

More Related Content

What's hot

Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)
Witold Rzepnicki
 
Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast
Serena Software
 
Senthilkumar.Anabalagan_Testing_5_Years
Senthilkumar.Anabalagan_Testing_5_YearsSenthilkumar.Anabalagan_Testing_5_Years
Senthilkumar.Anabalagan_Testing_5_Years
senthil kumar
 
Bhabani_Bal -RMS_DWH
Bhabani_Bal -RMS_DWHBhabani_Bal -RMS_DWH
Bhabani_Bal -RMS_DWH
Bhabani Bal
 
Alejandro Chico Resume
Alejandro Chico ResumeAlejandro Chico Resume
Alejandro Chico Resume
Alex Chico
 
AnandhR_Resume_2016
AnandhR_Resume_2016AnandhR_Resume_2016
AnandhR_Resume_2016
Anandh R
 
Ramesh_Informatica_Power_Centre
Ramesh_Informatica_Power_CentreRamesh_Informatica_Power_Centre
Ramesh_Informatica_Power_Centre
Ramesh Togari
 
Arun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-DeveloperArun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-Developer
Arun Kumar
 

What's hot (19)

Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)
 
Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast
 
FatDB Intro
FatDB IntroFatDB Intro
FatDB Intro
 
PradeepDWH
PradeepDWHPradeepDWH
PradeepDWH
 
Senthilkumar.Anabalagan_Testing_5_Years
Senthilkumar.Anabalagan_Testing_5_YearsSenthilkumar.Anabalagan_Testing_5_Years
Senthilkumar.Anabalagan_Testing_5_Years
 
Oracle XML Publisher / BI Publisher
Oracle XML Publisher / BI PublisherOracle XML Publisher / BI Publisher
Oracle XML Publisher / BI Publisher
 
Bhabani_Bal -RMS_DWH
Bhabani_Bal -RMS_DWHBhabani_Bal -RMS_DWH
Bhabani_Bal -RMS_DWH
 
SAP Communication & Integration Technologies
SAP Communication & Integration TechnologiesSAP Communication & Integration Technologies
SAP Communication & Integration Technologies
 
Creating a Hybrid Approach to Legacy Conversion
Creating a Hybrid Approach to Legacy ConversionCreating a Hybrid Approach to Legacy Conversion
Creating a Hybrid Approach to Legacy Conversion
 
AhmedWasfi2015
AhmedWasfi2015AhmedWasfi2015
AhmedWasfi2015
 
Alejandro Chico Resume
Alejandro Chico ResumeAlejandro Chico Resume
Alejandro Chico Resume
 
AnandhR_Resume_2016
AnandhR_Resume_2016AnandhR_Resume_2016
AnandhR_Resume_2016
 
Resume - Deepak v.s
Resume -  Deepak v.sResume -  Deepak v.s
Resume - Deepak v.s
 
A sane approach to microservices
A sane approach to microservicesA sane approach to microservices
A sane approach to microservices
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iib
 
Ramesh_Informatica_Power_Centre
Ramesh_Informatica_Power_CentreRamesh_Informatica_Power_Centre
Ramesh_Informatica_Power_Centre
 
Nippon It Solutions Data services offering 2015
Nippon It Solutions Data services offering 2015Nippon It Solutions Data services offering 2015
Nippon It Solutions Data services offering 2015
 
oracle openworld review UX presentation 2016
oracle openworld review UX presentation 2016oracle openworld review UX presentation 2016
oracle openworld review UX presentation 2016
 
Arun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-DeveloperArun-Kumar-OEDQ-Developer
Arun-Kumar-OEDQ-Developer
 

Similar to Replacing Oracle Database at an International Bank

Rajesh Reddi_9_Years_Demantra_Consultant
Rajesh Reddi_9_Years_Demantra_ConsultantRajesh Reddi_9_Years_Demantra_Consultant
Rajesh Reddi_9_Years_Demantra_Consultant
RAJESH REDDI
 

Similar to Replacing Oracle Database at an International Bank (20)

[db tech showcase Tokyo 2017] C34: Replacing Oracle Database at DBS Bank ~Ora...
[db tech showcase Tokyo 2017] C34: Replacing Oracle Database at DBS Bank ~Ora...[db tech showcase Tokyo 2017] C34: Replacing Oracle Database at DBS Bank ~Ora...
[db tech showcase Tokyo 2017] C34: Replacing Oracle Database at DBS Bank ~Ora...
 
Migration from Oracle to PostgreSQL: NEED vs REALITY
Migration from Oracle to PostgreSQL: NEED vs REALITYMigration from Oracle to PostgreSQL: NEED vs REALITY
Migration from Oracle to PostgreSQL: NEED vs REALITY
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
Evolutionary database design
Evolutionary database designEvolutionary database design
Evolutionary database design
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference
 
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
ГАННА КАПЛУН «noSQL vs SQL: порівняння використання реляційних та нереляційни...
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Webinar: Migrating from RDBMS to MongoDB
Webinar: Migrating from RDBMS to MongoDBWebinar: Migrating from RDBMS to MongoDB
Webinar: Migrating from RDBMS to MongoDB
 
Microsoft on AWS
Microsoft on AWS  Microsoft on AWS
Microsoft on AWS
 
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
Building and Deploying Large Scale SSRS using Lessons Learned from Customer D...
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 Migration
 
Rajesh Reddi_9_Years_Demantra_Consultant
Rajesh Reddi_9_Years_Demantra_ConsultantRajesh Reddi_9_Years_Demantra_Consultant
Rajesh Reddi_9_Years_Demantra_Consultant
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
Pr dc 2015 sql server is cheaper than open source
Pr dc 2015 sql server is cheaper than open sourcePr dc 2015 sql server is cheaper than open source
Pr dc 2015 sql server is cheaper than open source
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Sap migration to cloud
Sap migration to cloudSap migration to cloud
Sap migration to cloud
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
OLAP
OLAPOLAP
OLAP
 
How Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDBHow Pixid dropped Oracle and went hybrid with MariaDB
How Pixid dropped Oracle and went hybrid with MariaDB
 
Enterprise Data Integration for Microsoft Dynamics CRM
Enterprise Data Integration for Microsoft Dynamics CRMEnterprise Data Integration for Microsoft Dynamics CRM
Enterprise Data Integration for Microsoft Dynamics CRM
 

More from MariaDB plc

More from MariaDB plc (20)

MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Newpharma
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - Cloud
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB Enterprise
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
 
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale
 
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentationMariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentation
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentation
 
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
 
Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerDie Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
 
Introducing workload analysis
Introducing workload analysisIntroducing workload analysis
Introducing workload analysis
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoringUnder the hood: SkySQL monitoring
Under the hood: SkySQL monitoring
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connector
 
MariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introductionMariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introduction
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDB
 
The architecture of SkySQL
The architecture of SkySQLThe architecture of SkySQL
The architecture of SkySQL
 

Recently uploaded

Recently uploaded (20)

Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
Abortion Pill Prices Jozini ](+27832195400*)[ 🏥 Women's Abortion Clinic in Jo...
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 

Replacing Oracle Database at an International Bank

  • 1. Migration: Replacing Oracle Database at an international bank Migration d’une base de données Oracle vers MariaDB par une Banque de renommée international Dr. Alexander Bienemann Migration Practice Manager Paris, 30.06.2017 Professional Services
  • 2. Asia’s Safest, Asia’s Best Bank is migrating their application from Oracle to MariaDB. DBS Bank | Singapore
  • 3. Why migrate to MariaDB? What is different now? Professional Services
  • 4. Why migrate now? MariaDB is ready for enterprise-grade migrations from Oracle and DB2: • New features added in 10.2 and 10.3. Migrations are faster and easier than ever before. – MariaDB is highly PL/SQL compliant now – MariaDB has a sound HA and distribution concept • Cloud flexibility. No CPU fees, flexible topologies, the works. • Well-proven. Some of the biggest companies migrate. • Cost. We offer a much lower TCO.
  • 5. We are ready for enterprise-grade migrations from Oracle • MariaDB is feature-rich: – Through customer projects, we identify & close gaps – We develop features and solutions – Community and customers contribute actively • Examples: – SQL_MODE = ORACLE (10.2, 10.3) – PL/SQL parser – Returning tables from procedures – Migrations of CONNECT_BY_ROOT, ISLEAF – MaxScale for HA and Load Balancing • SQL 2003: – CTE’s / WITH – Window Functions • MariaDB is highly productive: – TA throughput > 1 million queries/sec – Data sizes of multiple TB – CONNECT storage engine – Fast data ingest with LOAD DATA INFILE – JSON functions • MariaDB helps with compliance: – Encryption of data (data-at-rest) – Encrypted connections with TLS, certificates – Audit Plug-In for accountability – World-class support
  • 6. • Standard, widely used SQL. – Think of the 80/20 Pareto principle! – We are a relational DB - how many frills do you really use? • Common Table Expressions. – WITH construct, recursive and non-recursive, e.g. CONNECT_BY_ROOT, ISLEAF – Having MariaDB 10.2, we implement directly 1:1 in MariaDB’s own database code • Window Functions. For analytic queries: NTILE, RANK, DENSE_RANK etc. • SQL_MODE = ORACLE. Procedure syntax extremely close to PL/SQL. Features that make migrations easier
  • 7. Features that are better than your legacy system • Distributed, shared-nothing architecture. ColumnStore. Connect engine. • Easy partitioning. • Native replication. Choice of Galera, Master-Slave, or both. • Solutions with MaxScale. Promotion of slaves to master with various topologies. And, last but not least: • Lower TCO. For instance, 70% lower according to our customer!
  • 8. Ongoing migration DBS Bank Singapore Professional Services
  • 9. • DBS Bank Singapore. One of the biggest banks in Southeast Asia. – 12 applications have already been successfully migrated to MariaDB by 2016 – 15 application in pipeline for 2017 → 3 of which are the most complex ones • Heavy-duty transactional data mart for OLTP applications – Data is then provided to customer-facing applications – 16 countries, 250 tables, 130 procedures, 4 TB hot data, 15 TB cold data (approx.) • Online corporate banking application – 9 countries, several million financial TA/month • Integrated payment engine – 9 countries, several million financial TA/month Migration projects at DBS Bank
  • 10. • Phase 1: Migration of the Transactional Data Mart – Started with Migration Assessment (analysis of feature gap and major challenges) – Feature development started in Sept. 2016 => SQL_MODE = ORACLE – Migration work started in January 2017 – Go-live in July/August 2017 • Phase 2: Design for hot and cold data incl. ColumnStore – PoC for the target architecture is completed – Scheduled for Q3-Q4 2017 – Go-live in Q1 2018 Example of migration: Transactional Data Mart
  • 11. • Migration Assessments: – Gap analysis in the beginning – Mid-project assessment for streamlining the migration • Feature development: – Analysis results lead to prioritization and Statement of Work – Features are customer-driven and community-driven => the community benefits in this way • Application migration: – Database experts of the Customer are trained by MariaDB – Application adaptation by Customer’s own developers – Direct migration to high extent with SQL_MODE = ORACLE – Migration validation, in particular on procedural level • Migration consulting by MariaDB: – Knowledge transfer to the Customer – Additional know-how on specific topics, e.g. HA architectures How we conduct the migration Joint work of the DBS and MariaDB
  • 12. • Necessity of a Proof of Concept: – Solution: One of the most complex application cases was deliberately chosen. • Density of internal application knowledge: – Live application which has been growing over years → hundreds of procedures etc. – Solution: • 1:1 migration whenever possible • analysis of legacy semantics in the few cases where necessary • Complexity due to Oracle features used: – Oracle-specific features had been used, e.g. CONNECT BY, PIPE ROW, non-1NF custom types – Solution: • feature development for frequently used constructs → tradeoff “development cost vs. migration cost” • solution/workaround development for less frequently used constructs, e.g. collections • Complexity due to long-term growing architecture: – Tight couplings and dependencies with neighboring systems – Direct access to tables from/to other applications, i.e. bypassing application calls – Solution: • analysis of the architecture “as is”, check for optimal options in sync with migration plan • develop a REST interface and/or use dedicated slaves Challenges and how we managed them
  • 13. How do we migrate? The general idea Professional Services
  • 14. How to choose first candidates for migration • What requires further analysis: – Applications highly dependent on DBMS-specific constructs, e.g. • Functions monitoring of DBMS internals • Parallelism issues etc. – Documentation of semantic differences between MariaDB and Oracle types is available • Customers can work with MariaDB to resolve some of the documented differences where necessary • Good candidates for a migration: – Application stacks where the DBMS is used by well-documented interfaces, e.g. • Oracle with Java • Oracle with C++ • Vendor-neutral, as long as they maintain clear or documented interfaces – We are open to work with new vendors who do not support MariaDB yet • Application logic remains unchanged → We adapt the data access layer
  • 15. • Migration process: – Migration Questionnaire – Migration Assessment – Migration project planning, migration doing, and QA – Switchovers, forward and rollback planning, points of no return – Pilot phase • Migration project planning, migration doing, and QA: – Deepened analysis of existing DB application and IT infrastructure • Migration of schema • Migration of interfaces to other systems • Choice of the right tools • Analysis of slow-running queries • Tuning opportunities – MariaDB migration expertise, validation of application behavior • Performance, load, parallelism tests • User Acceptance Tests (UAT) • System Integration Tests (SIT) The migration process
  • 16. • Starting point of a migration: Migration Assessment Package – Approx. 10 days – Our consultants analyze your database applications – Target architecture is developed based on MariaDB and MaxScale and further products if necessary – Tasks and effort estimation – Findings can be refined later on during actual migration project First step: Migration Assessment • Benefits of this service: – Ensure a precise, non-biased, externally objective analysis of your applications – Minimize the risk of wrong planning and non-purposeful activities – Ensure a purposeful, straightforward procedure, and prioritization of steps – Benefit from the broad experience and deep technical insight of MariaDB consultants, comprising knowledge in both MariaDB as well as Oracle
  • 17. • In order to plan a migration: – Migration Assessment Package – Proof of Concept of Target Architecture • In order to conduct a migration: – Adaptation of Procedural Code – Data Migration Package – Performance Tuning – Integration Tests and Switchovers • It is crucial for us to make you successful with your migration How we help customers to succeed in migrations
  • 18. Some of our best practices Migration Practice Professional Services
  • 19. Customized quality criteria • Customized quality criteria based on the application environment and usage: – specific for every single case • Various tests are developed and conducted: – Functional tests – Load tests – Parallel operation tests – User acceptance tests – Integration tests — including interfaces to neighboring systems • Criteria on process change • Criteria on the change of monitoring systems • On project and team level: tolerances
  • 20. MariaDB: use payroll select * from hr.employee; Oracle: connect payroll/<password> create synonym employee for hr.employee; select * from employee; • In Oracle, you need synonyms and database links usually to access objects that are outside of your user-specific “schema” • In MariaDB, objects in different databases can be accessed directly • Thus, before migrating one should check if synonyms/links will actually be needed Best practice: Migration of SYNONYM
  • 21. Solution 2: Synonym access on the same server with VIEWs CREATE VIEW LOCALDB.LOCALNAME ( `ID`, `ATTR`, `WHEN_CREATED`, ) AS SELECT `ID`, `ATTR`, `WHEN_CREATED`,` FROM DBNAME.TABLENAME; Solution 1: Synonym access between two servers with FederatedX CREATE SERVER 'MariaDB_Link_NAME' FOREIGN DATA WRAPPER 'mysql' OPTIONS ( HOST '<ip_address>', DATABASE '<DBNAME>', USER '<username>', PASSWORD '<password>', PORT 3306, SOCKET '', OWNER '<owner>' ); CREATE TABLE LOCALDB.LOCALNAME ( `ID` varchar(11), `ATTR` varchar(35), `WHEN_CREATED` timestamp(6) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='MariaDB_Link_NAME/TABLENAME'; • If you need synonyms and database links, we provide a solution for migrating it depending on the application case • Example for table/view synonyms: Best practice: Migration of SYNONYM
  • 22. Best practices for proprietary solutions • Legacy applications may contain specific proprietary technical solutions, e.g. – Replication protocols (other than those of database systems) – Backup solutions • We analyze and help to decide how these solutions can be supported in the best way: by state-of-the-art technical constructs, – e.g. MariaDB replication • Depending on the specific case, preserving existing legacy mechanisms may be temporarily helpful • A roadmap for improvements can be defined
  • 24. • Experts from MariaDB Corporation perform both preparation work and actual migration • We are responsible for the actual migration process • We coordinate all accountable parties and stakeholders involved Complete migration PoC migration plus own work • Experts from MariaDB Corporation perform the Migration Assessment and a Proof of Concept migration • The customer is responsible for the actual migration process • The customer coordinates all accountable parties and stakeholders involved • MariaDB provides advisory capacity Different scenarios for using our migration services → See our packages
  • 25. Assessment in the beginning: • Experts from MariaDB Corporation analyze the legacy application • We analyze the feature gap (if any) and develop an optimal target architecture with MariaDB • We provide an effort estimation Assessment in the middle of a project: • Experts from MariaDB Corporation analyze the already ongoing migration project of the customer • We analyze and improve the chosen target architecture • We analyze and improve the migration process of the customer, especially: – optimize the software adaptation process – secure the switchover planning – provide best practices Real-life examples of Migration Assessment usage
  • 26. • Implementation of legacy functionalities with existing MariaDB constructs • When a feature is missing, we discuss together with the customer whether to – develop the feature, or – provide a workaround/solution • Advantages for the Customer: – faster time-to-market through development of Oracle-compatible features – optimal migration cost as only selected features needed to be developed • Implementation of legacy functionalities with existing MariaDB constructs • When a feature is missing, we provide a solution, i.e. a workaround on the basis of current MariaDB version Migration without new features: Migration with closing feature gap: Migration scenarios