SlideShare a Scribd company logo
1 of 17
Download to read offline
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Developing Applications with
MySQL and Java
Mark Matthews
Consulting Member, Technical Staff - Oracle

2Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12

Insert Picture Here
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.

3Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Graphic Section Divider

4Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Please ask Questions!

● This is not a lecture – but an opportunity to learn from each other
● The only assumption I'm making is that you're not expecting to write PHP
● (if you haven't seen some of these frameworks, methods, etc. it's okay) e

5Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Elements of Scalability

● Vertical Scalability – single component responding to load
●
Largely driven by efficient resource usage
● Horizontal Scalability – more components responding to load
●

Architecture that allows “divide and conquer”

6Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Designing for Scalability

● Vertical Scalability
●
Algorithms
●

Persistence tuning

● Horizontal Scalability
●

Partitioning by workload

●

Partitioning by service

7Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Architecture – Birth of an Application
UI
Business Logic
Persistence

MySQL

8Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Architecture – Growing the Application
UI

3rd Party

Client APIs
Business Logic
Persistence

Write
9Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Read

Insert Information Protection Policy Classification from Slide 12
Architecture – Growing the Application Again
UI

3rd Party

Client APIs
Business Logic
Caching
Persistence

Write
10Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Read

Insert Information Protection Policy Classification from Slide 12
Architecture – Growing the Application Again
UI

3rd Party

Client APIs
Business Logic
Caching
Persistence

Write
11Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Read

Insert Information Protection Policy Classification from Slide 12
Architecture – Growing the Application Again
by-data A

12Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

by-data B

Insert Information Protection Policy Classification from Slide 12

by-data C
Architecture – Growing the Application Again
Customers
by-data A

by-data B

by-data C

Inventory/Rentals
by-data A

by-data B

by-data C

13Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12

Comments/Rating
by-data A

by-data B

by-data C
Design for Growth from the Start

● Separation of concerns from the start
● Business Logic
●

Natural place for units of work, partitioning

●

Natural point to build APIs to deliver services

● Persistence Logic
●

Easier to tune/fix persistence performance issues – once -

●

Easy to cache if in one place

14Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
This Lab

● MySQL in a replication hierarchy
●
Managed by MySQL Sandbox
●

“Sakila” Schema

● Simple harness over a layered service architecture
●

Spring, Hibernate, EhCache

● Evolution
●

Performance, Partitioning by workload, (further into cells)

15Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
Take Aways

● Design for scale up front
● Demarcate units of work with transactions
●
Makes it possible to load balance
●

Natural cleave point for partitioning by service

● Compartmentalize persistence
●

Fix performance issues once

●

Add caching in one place

●

Testability

16Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12
17Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Insert Information Protection Policy Classification from Slide 12

More Related Content

What's hot

What's hot (20)

OOW16 - Running your E-Business Suite on Oracle Cloud (IaaS + PaaS) - Why, Wh...
OOW16 - Running your E-Business Suite on Oracle Cloud (IaaS + PaaS) - Why, Wh...OOW16 - Running your E-Business Suite on Oracle Cloud (IaaS + PaaS) - Why, Wh...
OOW16 - Running your E-Business Suite on Oracle Cloud (IaaS + PaaS) - Why, Wh...
 
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA SuiteBest Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
 
Oracle Enterprise Manager Security: A Practitioners Guide
Oracle Enterprise Manager Security: A Practitioners GuideOracle Enterprise Manager Security: A Practitioners Guide
Oracle Enterprise Manager Security: A Practitioners Guide
 
OOW16 - Oracle E-Business Suite in Oracle Cloud: Technical Insight [CON6723]
OOW16 - Oracle E-Business Suite in Oracle Cloud: Technical Insight [CON6723]OOW16 - Oracle E-Business Suite in Oracle Cloud: Technical Insight [CON6723]
OOW16 - Oracle E-Business Suite in Oracle Cloud: Technical Insight [CON6723]
 
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
 
E-Business Suite on Oracle Cloud
E-Business Suite on Oracle CloudE-Business Suite on Oracle Cloud
E-Business Suite on Oracle Cloud
 
Performance in the Oracle Cloud
Performance in the Oracle CloudPerformance in the Oracle Cloud
Performance in the Oracle Cloud
 
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
 
OOW16 - Planning Your Upgrade to Oracle E-Business Suite 12.2 [CON1423]
OOW16 - Planning Your Upgrade to Oracle E-Business Suite 12.2 [CON1423]OOW16 - Planning Your Upgrade to Oracle E-Business Suite 12.2 [CON1423]
OOW16 - Planning Your Upgrade to Oracle E-Business Suite 12.2 [CON1423]
 
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
 
MySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinarMySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinar
 
01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c
01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c
01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
 
Introdução ao Oracle NoSQL
Introdução ao Oracle NoSQLIntrodução ao Oracle NoSQL
Introdução ao Oracle NoSQL
 
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
OOW16 - Oracle E-Business Suite: What’s New in Release 12.2 Beyond Online Pat...
 
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
Zero to Manageability in 60 Minutes: Building a Solid Foundation for Oracle E...
 
MySQL 5.7: Focus on Replication
MySQL 5.7: Focus on ReplicationMySQL 5.7: Focus on Replication
MySQL 5.7: Focus on Replication
 
OOW15 - Oracle E-Business Suite Integration Best Practices
OOW15 - Oracle E-Business Suite Integration Best PracticesOOW15 - Oracle E-Business Suite Integration Best Practices
OOW15 - Oracle E-Business Suite Integration Best Practices
 
Oracle Database Cloud Service
Oracle Database Cloud ServiceOracle Database Cloud Service
Oracle Database Cloud Service
 
Total cloud control with oracle enterprise manager 12c
Total cloud control with oracle enterprise manager 12cTotal cloud control with oracle enterprise manager 12c
Total cloud control with oracle enterprise manager 12c
 

Similar to Developing Applications with MySQL and Java

Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Berry Clemens
 
Step-by-Step Cookbook for Identifying and Tuning SQL Problems
Step-by-Step Cookbook for Identifying and Tuning SQL ProblemsStep-by-Step Cookbook for Identifying and Tuning SQL Problems
Step-by-Step Cookbook for Identifying and Tuning SQL Problems
Minh237839
 
PaaSing a Java EE Application
PaaSing a Java EE ApplicationPaaSing a Java EE Application
PaaSing a Java EE Application
Jagadish Prasath
 
B2 whats new with oracle exalogic worlds best foundation for applications
B2   whats new with oracle exalogic worlds best foundation for applicationsB2   whats new with oracle exalogic worlds best foundation for applications
B2 whats new with oracle exalogic worlds best foundation for applications
Dr. Wilfred Lin (Ph.D.)
 
IOUG Collaborate 2014 ASH/AWR Deep Dive
IOUG Collaborate 2014 ASH/AWR Deep DiveIOUG Collaborate 2014 ASH/AWR Deep Dive
IOUG Collaborate 2014 ASH/AWR Deep Dive
Kellyn Pot'Vin-Gorman
 
Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup manager
Berry Clemens
 
Oracle DB 12c 加速企业转型之十大功能
Oracle DB 12c 加速企业转型之十大功能Oracle DB 12c 加速企业转型之十大功能
Oracle DB 12c 加速企业转型之十大功能
Ethan M. Liu
 
Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c Overview
Fred Sim
 
Reporting from contract management 14.0 using bi publisher 11g ppt
Reporting from contract management 14.0 using bi publisher 11g pptReporting from contract management 14.0 using bi publisher 11g ppt
Reporting from contract management 14.0 using bi publisher 11g ppt
p6academy
 
Oracle Cloud Marketplace
Oracle Cloud MarketplaceOracle Cloud Marketplace
Oracle Cloud Marketplace
Diby Malakar
 

Similar to Developing Applications with MySQL and Java (20)

Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
 
Oracle 360
Oracle 360Oracle 360
Oracle 360
 
206610 instantis for the enterprise
206610 instantis for the enterprise206610 instantis for the enterprise
206610 instantis for the enterprise
 
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
 
Step-by-Step Cookbook for Identifying and Tuning SQL Problems
Step-by-Step Cookbook for Identifying and Tuning SQL ProblemsStep-by-Step Cookbook for Identifying and Tuning SQL Problems
Step-by-Step Cookbook for Identifying and Tuning SQL Problems
 
Oracle Fusion functional setup manager
Oracle Fusion functional setup managerOracle Fusion functional setup manager
Oracle Fusion functional setup manager
 
whats-new-netbeans-ide-80.pptx
whats-new-netbeans-ide-80.pptxwhats-new-netbeans-ide-80.pptx
whats-new-netbeans-ide-80.pptx
 
PaaSing a Java EE Application
PaaSing a Java EE ApplicationPaaSing a Java EE Application
PaaSing a Java EE Application
 
B2 whats new with oracle exalogic worlds best foundation for applications
B2   whats new with oracle exalogic worlds best foundation for applicationsB2   whats new with oracle exalogic worlds best foundation for applications
B2 whats new with oracle exalogic worlds best foundation for applications
 
IOUG Collaborate 2014 ASH/AWR Deep Dive
IOUG Collaborate 2014 ASH/AWR Deep DiveIOUG Collaborate 2014 ASH/AWR Deep Dive
IOUG Collaborate 2014 ASH/AWR Deep Dive
 
Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup manager
 
Oracle DB 12c 加速企业转型之十大功能
Oracle DB 12c 加速企业转型之十大功能Oracle DB 12c 加速企业转型之十大功能
Oracle DB 12c 加速企业转型之十大功能
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
EBS-endeca-technical-considerations
EBS-endeca-technical-considerationsEBS-endeca-technical-considerations
EBS-endeca-technical-considerations
 
Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c Overview
 
Reporting from contract management 14.0 using bi publisher 11g ppt
Reporting from contract management 14.0 using bi publisher 11g pptReporting from contract management 14.0 using bi publisher 11g ppt
Reporting from contract management 14.0 using bi publisher 11g ppt
 
Oracle BPM Adaptive Case Management 2014
Oracle BPM Adaptive Case Management 2014Oracle BPM Adaptive Case Management 2014
Oracle BPM Adaptive Case Management 2014
 
Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]
 
Oracle Cloud Marketplace
Oracle Cloud MarketplaceOracle Cloud Marketplace
Oracle Cloud Marketplace
 
OSI_MySQL_Performance Schema
OSI_MySQL_Performance SchemaOSI_MySQL_Performance Schema
OSI_MySQL_Performance Schema
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Developing Applications with MySQL and Java

  • 1. 1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 2. Developing Applications with MySQL and Java Mark Matthews Consulting Member, Technical Staff - Oracle 2Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 Insert Picture Here
  • 3. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 4. Graphic Section Divider 4Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 5. Please ask Questions! ● This is not a lecture – but an opportunity to learn from each other ● The only assumption I'm making is that you're not expecting to write PHP ● (if you haven't seen some of these frameworks, methods, etc. it's okay) e 5Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 6. Elements of Scalability ● Vertical Scalability – single component responding to load ● Largely driven by efficient resource usage ● Horizontal Scalability – more components responding to load ● Architecture that allows “divide and conquer” 6Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 7. Designing for Scalability ● Vertical Scalability ● Algorithms ● Persistence tuning ● Horizontal Scalability ● Partitioning by workload ● Partitioning by service 7Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 8. Architecture – Birth of an Application UI Business Logic Persistence MySQL 8Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 9. Architecture – Growing the Application UI 3rd Party Client APIs Business Logic Persistence Write 9Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Read Insert Information Protection Policy Classification from Slide 12
  • 10. Architecture – Growing the Application Again UI 3rd Party Client APIs Business Logic Caching Persistence Write 10Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Read Insert Information Protection Policy Classification from Slide 12
  • 11. Architecture – Growing the Application Again UI 3rd Party Client APIs Business Logic Caching Persistence Write 11Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Read Insert Information Protection Policy Classification from Slide 12
  • 12. Architecture – Growing the Application Again by-data A 12Copyright © 2012, Oracle and/or its affiliates. All rights reserved. by-data B Insert Information Protection Policy Classification from Slide 12 by-data C
  • 13. Architecture – Growing the Application Again Customers by-data A by-data B by-data C Inventory/Rentals by-data A by-data B by-data C 13Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 Comments/Rating by-data A by-data B by-data C
  • 14. Design for Growth from the Start ● Separation of concerns from the start ● Business Logic ● Natural place for units of work, partitioning ● Natural point to build APIs to deliver services ● Persistence Logic ● Easier to tune/fix persistence performance issues – once - ● Easy to cache if in one place 14Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 15. This Lab ● MySQL in a replication hierarchy ● Managed by MySQL Sandbox ● “Sakila” Schema ● Simple harness over a layered service architecture ● Spring, Hibernate, EhCache ● Evolution ● Performance, Partitioning by workload, (further into cells) 15Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 16. Take Aways ● Design for scale up front ● Demarcate units of work with transactions ● Makes it possible to load balance ● Natural cleave point for partitioning by service ● Compartmentalize persistence ● Fix performance issues once ● Add caching in one place ● Testability 16Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
  • 17. 17Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12