SlideShare a Scribd company logo
1 of 24
Download to read offline
Experiences with Evangelizing Java Within
the Database
The impact of MultiTenant Architecture in the develop of Java within the
RDBMS
The impact of MultiTenant Architecture in the develop
of Java within the RDBMS
About
●
About me
– CTO at Scotas.com
– Founder of the ArOUG
– ACE Member since 2006
– Open Source Developer (DBPrism/ DBPrism CMS, LDI, ...)
– Oracle developer since 1999
●
About Scotas
– A company specialized in free text search, synchronization
and Oracle
– OLS, Native Solr integration
– External Solr/ ElasticSearch integration
www.scotas.com
www.scotas.com
Agenda
– Database resident JVM
– History of the JVM implementation
– Multitenant Architecture
●
Process
●
Storage
●
OS resources
– Conclusion
Database resident JVM time-line
●
8i (1999, JDK1.2, JSP, ORB, NCOMP)
●
9i (2001, JDK 1.3, NCOMP)
●
10g (2003 R1, 2005 R2, JDK 1.4, NCOMP)
●
11g (2007, JDK 1.5, JIT)
●
12c (2013, JDK 1.6/1.7/.., JIT)
www.scotas.com
Database resident JVM architecture
www.scotas.com
Components
Sun’s JDK versus Database resident JVM
Sun’s JDK VM
● Thread Based
● Sharing across Threads
● Limited Scalability
● Classes in file system
● Resolve classes with
“Classpath”
● JIT
● Preemptive multi-threading
● Limited Robustness (process
failure)
Database resident JVM
● Database Session Model
● Session Isolation
● Unlimited Scalability
● Classes in database
● Resolve classes with
“Resolver Spec”
● JIT (11g and up)
● Non-Preemptive multi-
threading
● Does not crash as a whole
www.scotas.com
Oracle’s Commitment to OJVM
●
Used by a growing number of database customers acording
to Oracle
●
Used by Oracle Components
– InterMedia
– Spatial
– Text
– XQuery (XMLDB)
– WareHouse Builder
– CDC (Change Data Capture)
– ODM (Oracle Data Mining analytics functions)
●
12c Enhancements
www.scotas.com
●
Many among Fortune 500 companies
●
Some examples from
“Java in the Oracle Database @ Work – Customer Case Studies”
●
And for sure Scotas & Cima
Who is Using OJVM
www.scotas.com
Java in the Database: What For
www.scotas.com
● Trigger-based Notification System using
RMI
● Secure Credit-Card Processing using JSSE
● Custom Alert applications that monitor
business data
● Sending emails with attachment from
within the database
● Produce PDF files from Result Set
● Execute external OS commands and
external procedures
●
Implement Md5 CRC
● Publish Repository Content to Portal
● Portable Logistic Applications
● Implement Parsers for various File
Formats (txt, zip, xml, binary)
● Implement Image Transformation
and Format Conversion (GIF, PNG,
JPEG, etc)
● Implement Database-resident
Content Management System
● HTTP Call-Out
● JDBC Call-Out
● RMI Call-Out to SAP
● Web Services Call-Out
● Messaging across Tiers
● RESTful Database Web Services
● Near Real Time Full Text Search
Multitenant Architecture - Process
www.scotas.com
Multitenant Architecture - Storage
www.scotas.com
Multitenant resources
www.scotas.com
● Process
– CPU
– Memory
● Filesystem
● Network
Process - CPU resources
www.scotas.com
● Estimate CPU usage by OJVM
– Process connected using shared servers
– Process connected using dedicted servers
– Jobs process
– AQ process implemented in Java
● DBMS Resource Manager
– CPU Caging
● Dedicated plan for each PDBs
– Shares
– % CPU
– % Parallel Servers
● Dedicated plan for Jobs process
Process - Memory resources
www.scotas.com
● Estimate memory usage by OJVM
– SGA/UGA used by dedicated or shared server
process
– Jobs process count as dedicated process
– Look for global parameters:
● memory_target
● memory_max_target
● shared_pool_size (8Kb x load class)
● java_pool_size (during executing)
● java_soft_sessionspace_limit (soft limit, warning msg)
● java_max_sessionspace_limit (hard limit, default 4Gb)
● Fine tunning using JMX monitoring
Filesystem resources
www.scotas.com
● Logging
– $ORACLE_HOME/javavm/lib/logging.properties
● Accesing to files
– dbms_java.grant_permission
● Properties files
– $ORACLE_HOME/javavm/lib/management/jmxremote.access
– $ORACLE_HOME/javavm/lib/management/management.properties
● Trace files (Diag. directory)
– alert_orcl.log
– orcl_jnnn.trc
● Tablespaces/Datafiles
● JDK version per CDB 1.6/1.7
● IO metrics (Max. IOPS)
– dbms_resource_manager.calibrate_io
Network resources
www.scotas.com
● ACLs
– DBMS_NETWORK_ACL_ADMIN
● Protocol handlers (XMLDB)
– dbms_xdb.setFtpPort
– dbms_xdb.setHttpPort
● Security
– dbms_java.grant_permission
Network resources
www.scotas.com
● ACLs
– DBMS_NETWORK_ACL_ADMIN
● Protocol handlers (XMLDB)
– dbms_xdb.setFtpPort
– dbms_xdb.setHttpPort
● Security
– dbms_java.grant_permission
Deployments best practices
www.scotas.com
● CDB/PDBs
● Patching
● Application segmentation
Examples - Scotas OLS
www.scotas.com
●
An Embedded version of Solr Framework running inside Oracle JVM
●
42 new Java Classes and several new PLSQL Object Types
●
Four new SQL operators scontains(), sscore(), smlt(), shighlight() and
poweful text analysis functionalities
●
An orthogonal/up-to-date Solr solution for any programming language, especially
Java, Ruby, Python, PHP and .Net, currently latest production version – 4.0.0.
●
Available to any Oracle product such as BI, Apex, ODM
CREATE INDEX SIDX_A ON TEST_SOURCE_BIG(TEXT)
INDEXTYPE IS LUCENE.SOLRINDEX
parameters('DefaultColumn:text_tn;BatchCount:5000;CommitOnSync:false;LockMasterTable:f
alse;IncludeMasterColumn:false;Updater:localhost@9099;Searcher:localhost@9099;SyncMod
e:OnLine;LogLevel:WARNING;ExtraCols:text "text_tn",line "line_tin", type
"type_sn",substr(text,1,256)
"title";HighlightColumn:title;MltColumn:title;LobStorageParameters:STORAGE
(BUFFER_POOL KEEP) CACHE READS FILESYSTEM_LIKE_LOGGING');
CREATE INDEX SIDX_A ON TEST_SOURCE_BIG(TEXT)
INDEXTYPE IS LUCENE.SOLRINDEX
parameters('DefaultColumn:text_tn;BatchCount:5000;CommitOnSync:false;LockMasterTable:f
alse;IncludeMasterColumn:false;Updater:localhost@9099;Searcher:localhost@9099;SyncMod
e:OnLine;LogLevel:WARNING;ExtraCols:text "text_tn",line "line_tin", type
"type_sn",substr(text,1,256)
"title";HighlightColumn:title;MltColumn:title;LobStorageParameters:STORAGE
(BUFFER_POOL KEEP) CACHE READS FILESYSTEM_LIKE_LOGGING');
Examples – Scotas OLS in action
www.scotas.com
Examples – Scotas OLS in action
www.scotas.com
Conclusions
●
Multitenant is about isolating data
●
OS resources are shared
– Is very important take this into account
●
Applications need to be re-tested
again
●
Data which refers to OS resources
need to be updated when plug/unplug
PDBs
www.scotas.com
Answers!
www.scotas.com | info@scotas.com | +1 (650) 704-7915 | 440 North Wolfe Road, Sunnyvale, CA 94085
Thank
You!
www.scotas.com | info@scotas.com | +1 (650) 704-7915 | 440 North Wolfe Road, Sunnyvale, CA 94085

More Related Content

Recently uploaded

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Recently uploaded (20)

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

The impact of MultiTenant Architecture in the develop of Java within the RDBMS

  • 1. Experiences with Evangelizing Java Within the Database The impact of MultiTenant Architecture in the develop of Java within the RDBMS The impact of MultiTenant Architecture in the develop of Java within the RDBMS
  • 2. About ● About me – CTO at Scotas.com – Founder of the ArOUG – ACE Member since 2006 – Open Source Developer (DBPrism/ DBPrism CMS, LDI, ...) – Oracle developer since 1999 ● About Scotas – A company specialized in free text search, synchronization and Oracle – OLS, Native Solr integration – External Solr/ ElasticSearch integration www.scotas.com
  • 3. www.scotas.com Agenda – Database resident JVM – History of the JVM implementation – Multitenant Architecture ● Process ● Storage ● OS resources – Conclusion
  • 4. Database resident JVM time-line ● 8i (1999, JDK1.2, JSP, ORB, NCOMP) ● 9i (2001, JDK 1.3, NCOMP) ● 10g (2003 R1, 2005 R2, JDK 1.4, NCOMP) ● 11g (2007, JDK 1.5, JIT) ● 12c (2013, JDK 1.6/1.7/.., JIT) www.scotas.com
  • 5. Database resident JVM architecture www.scotas.com Components
  • 6. Sun’s JDK versus Database resident JVM Sun’s JDK VM ● Thread Based ● Sharing across Threads ● Limited Scalability ● Classes in file system ● Resolve classes with “Classpath” ● JIT ● Preemptive multi-threading ● Limited Robustness (process failure) Database resident JVM ● Database Session Model ● Session Isolation ● Unlimited Scalability ● Classes in database ● Resolve classes with “Resolver Spec” ● JIT (11g and up) ● Non-Preemptive multi- threading ● Does not crash as a whole www.scotas.com
  • 7. Oracle’s Commitment to OJVM ● Used by a growing number of database customers acording to Oracle ● Used by Oracle Components – InterMedia – Spatial – Text – XQuery (XMLDB) – WareHouse Builder – CDC (Change Data Capture) – ODM (Oracle Data Mining analytics functions) ● 12c Enhancements www.scotas.com
  • 8. ● Many among Fortune 500 companies ● Some examples from “Java in the Oracle Database @ Work – Customer Case Studies” ● And for sure Scotas & Cima Who is Using OJVM www.scotas.com
  • 9. Java in the Database: What For www.scotas.com ● Trigger-based Notification System using RMI ● Secure Credit-Card Processing using JSSE ● Custom Alert applications that monitor business data ● Sending emails with attachment from within the database ● Produce PDF files from Result Set ● Execute external OS commands and external procedures ● Implement Md5 CRC ● Publish Repository Content to Portal ● Portable Logistic Applications ● Implement Parsers for various File Formats (txt, zip, xml, binary) ● Implement Image Transformation and Format Conversion (GIF, PNG, JPEG, etc) ● Implement Database-resident Content Management System ● HTTP Call-Out ● JDBC Call-Out ● RMI Call-Out to SAP ● Web Services Call-Out ● Messaging across Tiers ● RESTful Database Web Services ● Near Real Time Full Text Search
  • 10. Multitenant Architecture - Process www.scotas.com
  • 11. Multitenant Architecture - Storage www.scotas.com
  • 12. Multitenant resources www.scotas.com ● Process – CPU – Memory ● Filesystem ● Network
  • 13. Process - CPU resources www.scotas.com ● Estimate CPU usage by OJVM – Process connected using shared servers – Process connected using dedicted servers – Jobs process – AQ process implemented in Java ● DBMS Resource Manager – CPU Caging ● Dedicated plan for each PDBs – Shares – % CPU – % Parallel Servers ● Dedicated plan for Jobs process
  • 14. Process - Memory resources www.scotas.com ● Estimate memory usage by OJVM – SGA/UGA used by dedicated or shared server process – Jobs process count as dedicated process – Look for global parameters: ● memory_target ● memory_max_target ● shared_pool_size (8Kb x load class) ● java_pool_size (during executing) ● java_soft_sessionspace_limit (soft limit, warning msg) ● java_max_sessionspace_limit (hard limit, default 4Gb) ● Fine tunning using JMX monitoring
  • 15. Filesystem resources www.scotas.com ● Logging – $ORACLE_HOME/javavm/lib/logging.properties ● Accesing to files – dbms_java.grant_permission ● Properties files – $ORACLE_HOME/javavm/lib/management/jmxremote.access – $ORACLE_HOME/javavm/lib/management/management.properties ● Trace files (Diag. directory) – alert_orcl.log – orcl_jnnn.trc ● Tablespaces/Datafiles ● JDK version per CDB 1.6/1.7 ● IO metrics (Max. IOPS) – dbms_resource_manager.calibrate_io
  • 16. Network resources www.scotas.com ● ACLs – DBMS_NETWORK_ACL_ADMIN ● Protocol handlers (XMLDB) – dbms_xdb.setFtpPort – dbms_xdb.setHttpPort ● Security – dbms_java.grant_permission
  • 17. Network resources www.scotas.com ● ACLs – DBMS_NETWORK_ACL_ADMIN ● Protocol handlers (XMLDB) – dbms_xdb.setFtpPort – dbms_xdb.setHttpPort ● Security – dbms_java.grant_permission
  • 18. Deployments best practices www.scotas.com ● CDB/PDBs ● Patching ● Application segmentation
  • 19. Examples - Scotas OLS www.scotas.com ● An Embedded version of Solr Framework running inside Oracle JVM ● 42 new Java Classes and several new PLSQL Object Types ● Four new SQL operators scontains(), sscore(), smlt(), shighlight() and poweful text analysis functionalities ● An orthogonal/up-to-date Solr solution for any programming language, especially Java, Ruby, Python, PHP and .Net, currently latest production version – 4.0.0. ● Available to any Oracle product such as BI, Apex, ODM CREATE INDEX SIDX_A ON TEST_SOURCE_BIG(TEXT) INDEXTYPE IS LUCENE.SOLRINDEX parameters('DefaultColumn:text_tn;BatchCount:5000;CommitOnSync:false;LockMasterTable:f alse;IncludeMasterColumn:false;Updater:localhost@9099;Searcher:localhost@9099;SyncMod e:OnLine;LogLevel:WARNING;ExtraCols:text "text_tn",line "line_tin", type "type_sn",substr(text,1,256) "title";HighlightColumn:title;MltColumn:title;LobStorageParameters:STORAGE (BUFFER_POOL KEEP) CACHE READS FILESYSTEM_LIKE_LOGGING'); CREATE INDEX SIDX_A ON TEST_SOURCE_BIG(TEXT) INDEXTYPE IS LUCENE.SOLRINDEX parameters('DefaultColumn:text_tn;BatchCount:5000;CommitOnSync:false;LockMasterTable:f alse;IncludeMasterColumn:false;Updater:localhost@9099;Searcher:localhost@9099;SyncMod e:OnLine;LogLevel:WARNING;ExtraCols:text "text_tn",line "line_tin", type "type_sn",substr(text,1,256) "title";HighlightColumn:title;MltColumn:title;LobStorageParameters:STORAGE (BUFFER_POOL KEEP) CACHE READS FILESYSTEM_LIKE_LOGGING');
  • 20. Examples – Scotas OLS in action www.scotas.com
  • 21. Examples – Scotas OLS in action www.scotas.com
  • 22. Conclusions ● Multitenant is about isolating data ● OS resources are shared – Is very important take this into account ● Applications need to be re-tested again ● Data which refers to OS resources need to be updated when plug/unplug PDBs www.scotas.com
  • 23. Answers! www.scotas.com | info@scotas.com | +1 (650) 704-7915 | 440 North Wolfe Road, Sunnyvale, CA 94085
  • 24. Thank You! www.scotas.com | info@scotas.com | +1 (650) 704-7915 | 440 North Wolfe Road, Sunnyvale, CA 94085