SlideShare a Scribd company logo
Database-resident JVM
What, Where, How is it use and his potential
Agenda

 –   Database resident JVM
 –   Session Management
 –   Memory Management
 –   Security
 –   Oracle Commitment to Java in the Database
 –   What we heard at OOW San Francisco about 12c
 –   Case Study
     ●
         Near Real Time Full Text Indexing
     ●
         Analytic Tool for Enterprise Server Logs



                                                    www.scotas.com
Database resident JVM


●
    Available since Oracle 8i
●
    Architecture
●
    Robustness
●
    Class sharing
●
    Memory Management
●
    Scalability
●
    Performance
                                www.scotas.com
Oracle JVM versus Sun’s JDK


Sun’s JDK VM                      OracleJVM
●
    Thread Based                  ●
                                      Database Session Model
●
    Sharing across Threads        ●
                                      Session Isolation
●
    Limited Scalability           ●
                                      Unlimited Scalability
●
    Classes in file system        ●
                                      Classes in database
●
    Resolve classes with          ●
                                      Resolve classes with
    “Classpath”                       “Resolver Spec”
●
    JIT                           ●
                                      JIT (11g and up)
●
    Preemptive multi-threading    ●
                                      Non-Preemptive
●
    Limited Robustness (process       multi-threading
    failure)                      ●
                                      Does not crash as a whole

                                                         www.scotas.com
Database Sessions Imposed on Java


Within the context of a
session, the client
performs the following:
1)Connects to the database
  and opens a session.
   ●
       Runs Java within the
       database. This is referred to
       as a call
   ●
       Continues to work within the
       session, performing as
       many calls as required
   ●
       Ends the session

                                       www.scotas.com
Oracle JVM Class Sharing


                                 Oracle
                                Database
                         Shared User Application Classes

                                         Session
               Session                                      Session
Virtual JVM    User
                                          User                            Virtual JVM
 Instance                                Statics            User
              Statics
                                                           Statics
                                                                            Instance
              System
              Statics
                              …         System
                                        Statics
                                                   …       System
                                                           Statics



                    Shared JVM System Classes



                                                                      www.scotas.com
Oracle JVM Memory Areas

●
    Java Pool
    Used by the Java class loader to allocates space for bytecodes and other
    read-only class metadata; also Java states that are migrated from the Session
    space at the end of call.
●
    Session Space
    Used for preserving the state of system objects, user objects, and metadata
    used by the Java runtime; also used for end of call migration
●
    New Space
    Default memory area for allocating almost all Java objects, except large objects
●
    Old Space
    Used for holding long-lived or large objects (i.e., larger than 1-K Bytes) for the
    duration of a call.
●
    Run Space
    Used for holding system objects (e.g., classloader objects) allocated for the
    duration of a call.
●
    Stack Space
    Used to allocate system objects used by the interpreter


                                                                        www.scotas.com
OracleJVM Security


Strong Security combining database
security mechanisms with Java security
mechanisms
●
    User authentication
●
    Database-schema security
●
    Login-user and effective-user security
●
    Class resolution security
●
    Java 2 security
                                       www.scotas.com
Oracle’s Commitment to OJVM

●
    Used by a significant percentage of database customers
●
    Used by Oracle Components
    –   InterMedia
    –   Spatial
    –   Text
    –   XQuery (XMLDB)
    –   WareHouse Builder
    –   CDC (Change Data Capture)
    –   ORE (Oracle R Enterprise – database resident)
    –   ODM (Oracle Data Mining analytics functions)
●
    12c Enhancements

                                                        www.scotas.com
Who is Using OJVM


●
    Many among Fortune 500 companies
●
    Some examples from
    “Java in the Oracle Database @ Work – Customer Case Studies”




●
    And for sure Scotas & Cima




                                                       www.scotas.com
Java in the Database: What For

●   Trigger-based Notification System using    ●   Implement Parsers for various File
    RMI                                            Formats (txt, zip, xml, binary)
●   Secure Credit-Card Processing using JSSE   ●   Implement Image Transformation
●   Custom Alert applications that monitor
                                                   and Format Conversion (GIF, PNG,
    business data
                                                   JPEG, etc)
●   Sending emails with attachment from
    within the database                        ●   Implement database-resident
●   Produce PDF files from Result Set              Content Management System
●   Execute external OS commands and           ●   HTTP Call-Out
    external procedures
                                               ●   JDBC Call-Out
●
    Implement Md5 CRC
●   Publish Repository Content to Portal
                                               ●   RMI Call-Out to SAP
●   Portable Logistic Applications             ●   Web Services Call-Out
                                               ●   Messaging across Tiers
                                               ●   RESTful Database Web Services
                                               ●   Near Real Time Full Text Search


                                                                         www.scotas.com
According to OOW SF presentation

●
    JDK interchangeable at any time (Perl script)
●
    Support for latest JDK
    –   1.6 default
    –   1.7
●
    JNDI support
●
    Logging support
●
    In-database Hadoop (Map-Reduce)
●
    Security enhancements
●
    Fast switch from SQL-OJVM calls

                                             www.scotas.com
Case Study




         Database resident JVM
              Client Example
 Scotas Near Real Time Full Text Searching




                                   www.scotas.com
Scotas OLS

●
  An Embedded version of Solr Framework running inside Oracle OracleJVM
● 42 new Java Classes and several new PLSQL Object Types


●
  Two new domain index for Oracle Databases using Data Cartridge API (ODCI)
● A new Store implementation for Lucene (OJVMDirectory) which replaces a


  traditional filesystem by Secure BLOB
●
  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 esl_events_sidx on esl_events(message) indextype is Lucene.SolrIndex
    parameters('SyncMode:Deferred;MltColumn:text;HighlightColumn:title;DefaultColumn:text;Co
    mmitOnSync:true;ExtraTabs:ESL.esl_causes
    c;WhereCondition:L$MT.event_id=c.event_id(+);ExtraCols:.....') local parallel 2;

                   select /*+ DOMAIN_INDEX_SORT */ sscore(1),shighlight(1),message from
                   esl_events where scontains(message,'severity_s:(ERROR INFO) AND
                   springframework',1)>0 and gen_day between 26 and 27;

                                                                            www.scotas.com
What the NRT means?




                      www.scotas.com
OLS Architecture




                   www.scotas.com
Oracle Integrated Information Architecture Capabilities - Scotas OLS Integration




                         Data           Acquire       Organize               Analyze        Decide
    Structured




                        Master &                        ETL/ELT
                        Reference
                                                                                          Reporting &
                                                                                ODS       Dashboards
                                            DBMS
                                           (OLTP)      ChangeDC




                                                                                                          Management, Security,
                                                                                             Alerting
                        Transactions
    Semi-structured




                                                                                            EPM - BI
                                                                             Warehouse
                                                       Real-Time




                                                                                                              Governance
                                             Files                                         Applications
                        Machine
                        Generated
                                                                                          Scotas Search
                                                       Message-              Streaming

                        Social Media       NoSQL        Based                CEP Engine
                                                                                           Advanced
    Unstructured




                                                                                            Analytics
                                                                            In-Database
                        Text, Image,                   Hadoop
                                           HDFS                               Analytics      Visual
                        Video, Audio                  MapReduce
                                                                                            Discovery

                      Specialized      Big Data      High Speed             RDBMS         In Memory
                       Hardware           Cluster       Network               Cluster        Analytics



Source: Oracle Information Architecture: An Architect’s Guide to Big Data
An Oracle White Paper in Enterprise Architecture, March 2012
Figure 3: Oracle Integrated Information Architecture Capabilities


                                                                                                www.scotas.com
• Product comparison

   Bringing the best of both worlds
                  SCOTAS   Oracle   Solr Lucene
                    OLS     Text
   Real Time                

   Scalability                         
   Performance                         

   Security                 

   Integration              

   Flexible and                        
   Powerful
   features




                                            www.scotas.com
Thank
                                   You!




www.scotas.com | info@scotas.com | +1 (650) 704-7915 | 440 North Wolfe Road, Sunnyvale, CA 94085

More Related Content

What's hot (20)

PPTX
Simple insites into JVM
Ramakanth Tarimala
 
PDF
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
PDF
Java Future S Ritter
catherinewall
 
KEY
4장. Class Loader
김 한도
 
PDF
Couchbase Performance Benchmarking
Renat Khasanshyn
 
PPT
OSGi Persistence With EclipseLink
Shaun Smith
 
PDF
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 
PDF
Methods of NoSQL database systems benchmarking
Транслируем.бел
 
PPT
Rollin onj Rubyv3
Oracle
 
ODP
OTN Developer Days - Java EE 6
glassfish
 
PDF
Orcale Presentation
Sanjeev Kulkarni
 
PDF
Ijaprr vol1-2-13-60-64tejinder
ijaprr_editor
 
PDF
Breakthrough performance with MySQL Cluster (2012)
Frazer Clement
 
PPT
Java & J2EE Struts with Hibernate Framework
Mohit Belwal
 
PDF
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Arun Gupta
 
PDF
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
srisatish ambati
 
PDF
S313557 java ee_programming_model_explained_dochez
Jerome Dochez
 
PDF
Java 8 in Anger (QCon London)
Trisha Gee
 
PDF
The Java Content Repository
nobby
 
Simple insites into JVM
Ramakanth Tarimala
 
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
Java Future S Ritter
catherinewall
 
4장. Class Loader
김 한도
 
Couchbase Performance Benchmarking
Renat Khasanshyn
 
OSGi Persistence With EclipseLink
Shaun Smith
 
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 
Methods of NoSQL database systems benchmarking
Транслируем.бел
 
Rollin onj Rubyv3
Oracle
 
OTN Developer Days - Java EE 6
glassfish
 
Orcale Presentation
Sanjeev Kulkarni
 
Ijaprr vol1-2-13-60-64tejinder
ijaprr_editor
 
Breakthrough performance with MySQL Cluster (2012)
Frazer Clement
 
Java & J2EE Struts with Hibernate Framework
Mohit Belwal
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Arun Gupta
 
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
srisatish ambati
 
S313557 java ee_programming_model_explained_dochez
Jerome Dochez
 
Java 8 in Anger (QCon London)
Trisha Gee
 
The Java Content Repository
nobby
 

Viewers also liked (9)

PPTX
Apache Solr Workshop
JSGB
 
PDF
Introduction to Machine Learning
nhm taveer hossain khan
 
PPTX
Introduction to search engine-building with Lucene
Kai Chan
 
PPTX
Search Engine Capabilities - Apache Solr(Lucene)
Manish kumar
 
PDF
Apache Solr! Enterprise Search Solutions at your Fingertips!
Murshed Ahmmad Khan
 
PPTX
Introduction to Apache Lucene/Solr
Rahul Jain
 
PPTX
Introduction to Apache Solr
Andy Jackson
 
PPTX
Building a real time, solr-powered recommendation engine
Trey Grainger
 
PDF
Building a Recommendation Engine - An example of a product recommendation engine
NYC Predictive Analytics
 
Apache Solr Workshop
JSGB
 
Introduction to Machine Learning
nhm taveer hossain khan
 
Introduction to search engine-building with Lucene
Kai Chan
 
Search Engine Capabilities - Apache Solr(Lucene)
Manish kumar
 
Apache Solr! Enterprise Search Solutions at your Fingertips!
Murshed Ahmmad Khan
 
Introduction to Apache Lucene/Solr
Rahul Jain
 
Introduction to Apache Solr
Andy Jackson
 
Building a real time, solr-powered recommendation engine
Trey Grainger
 
Building a Recommendation Engine - An example of a product recommendation engine
NYC Predictive Analytics
 
Ad

Similar to Scotas - Oracle Open World Sao Pablo (20)

PDF
Experiences with Evangelizing Java Within the Database
Marcelo Ochoa
 
PDF
Implementing Private Database Clouds
Roland Slee
 
PDF
TMOUG - Engineered Systems Overview
Mark Rabne
 
PDF
PDoolan Oracle Overview
Peter Doolan
 
PDF
DB2 z/OS & Java - What\'s New?
Laura Hood
 
PDF
Virtual dev-day-java7-keynote-1641807
Vinay H G
 
PDF
Architecture and tools
sanjay_jha
 
PDF
PostgreSQL and MySQL
PostgreSQL Experts, Inc.
 
PDF
My sql tutorial-oscon-2012
John David Duncan
 
PDF
Oracle strategy for_information_management
InSync Conference
 
PPT
Db trends final
Craig Mullins
 
PPTX
The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool...
Lucas Jellema
 
PDF
Ebs troubleshooting con9019_pdf_9019_0001
jucaab
 
PPT
Giga Spaces Data Grid / Data Caching Overview
jimliddle
 
PDF
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql Cluster
Santo Leto
 
PPT
Exadata overview audio
Ahmed Mekawy
 
PDF
Engineered Systems: Oracle's Vision for the Future
Bob Rhubart
 
PPTX
InduSoft Water Wastewater Webinar 2012
AVEVA
 
PDF
The View - Leveraging Lotuscript for Database Connectivity
Bill Buchan
 
PDF
Oracleonoracle dec112012
patmisasi
 
Experiences with Evangelizing Java Within the Database
Marcelo Ochoa
 
Implementing Private Database Clouds
Roland Slee
 
TMOUG - Engineered Systems Overview
Mark Rabne
 
PDoolan Oracle Overview
Peter Doolan
 
DB2 z/OS & Java - What\'s New?
Laura Hood
 
Virtual dev-day-java7-keynote-1641807
Vinay H G
 
Architecture and tools
sanjay_jha
 
PostgreSQL and MySQL
PostgreSQL Experts, Inc.
 
My sql tutorial-oscon-2012
John David Duncan
 
Oracle strategy for_information_management
InSync Conference
 
Db trends final
Craig Mullins
 
The Evolution of the Oracle Database - Then, Now and Later (Fontys Hogeschool...
Lucas Jellema
 
Ebs troubleshooting con9019_pdf_9019_0001
jucaab
 
Giga Spaces Data Grid / Data Caching Overview
jimliddle
 
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql Cluster
Santo Leto
 
Exadata overview audio
Ahmed Mekawy
 
Engineered Systems: Oracle's Vision for the Future
Bob Rhubart
 
InduSoft Water Wastewater Webinar 2012
AVEVA
 
The View - Leveraging Lotuscript for Database Connectivity
Bill Buchan
 
Oracleonoracle dec112012
patmisasi
 
Ad

Scotas - Oracle Open World Sao Pablo

  • 1. Database-resident JVM What, Where, How is it use and his potential
  • 2. Agenda – Database resident JVM – Session Management – Memory Management – Security – Oracle Commitment to Java in the Database – What we heard at OOW San Francisco about 12c – Case Study ● Near Real Time Full Text Indexing ● Analytic Tool for Enterprise Server Logs www.scotas.com
  • 3. Database resident JVM ● Available since Oracle 8i ● Architecture ● Robustness ● Class sharing ● Memory Management ● Scalability ● Performance www.scotas.com
  • 4. Oracle JVM versus Sun’s JDK Sun’s JDK VM OracleJVM ● Thread Based ● Database Session Model ● Sharing across Threads ● Session Isolation ● Limited Scalability ● Unlimited Scalability ● Classes in file system ● Classes in database ● Resolve classes with ● Resolve classes with “Classpath” “Resolver Spec” ● JIT ● JIT (11g and up) ● Preemptive multi-threading ● Non-Preemptive ● Limited Robustness (process multi-threading failure) ● Does not crash as a whole www.scotas.com
  • 5. Database Sessions Imposed on Java Within the context of a session, the client performs the following: 1)Connects to the database and opens a session. ● Runs Java within the database. This is referred to as a call ● Continues to work within the session, performing as many calls as required ● Ends the session www.scotas.com
  • 6. Oracle JVM Class Sharing Oracle Database Shared User Application Classes Session Session Session Virtual JVM User User Virtual JVM Instance Statics User Statics Statics Instance System Statics … System Statics … System Statics Shared JVM System Classes www.scotas.com
  • 7. Oracle JVM Memory Areas ● Java Pool Used by the Java class loader to allocates space for bytecodes and other read-only class metadata; also Java states that are migrated from the Session space at the end of call. ● Session Space Used for preserving the state of system objects, user objects, and metadata used by the Java runtime; also used for end of call migration ● New Space Default memory area for allocating almost all Java objects, except large objects ● Old Space Used for holding long-lived or large objects (i.e., larger than 1-K Bytes) for the duration of a call. ● Run Space Used for holding system objects (e.g., classloader objects) allocated for the duration of a call. ● Stack Space Used to allocate system objects used by the interpreter www.scotas.com
  • 8. OracleJVM Security Strong Security combining database security mechanisms with Java security mechanisms ● User authentication ● Database-schema security ● Login-user and effective-user security ● Class resolution security ● Java 2 security www.scotas.com
  • 9. Oracle’s Commitment to OJVM ● Used by a significant percentage of database customers ● Used by Oracle Components – InterMedia – Spatial – Text – XQuery (XMLDB) – WareHouse Builder – CDC (Change Data Capture) – ORE (Oracle R Enterprise – database resident) – ODM (Oracle Data Mining analytics functions) ● 12c Enhancements www.scotas.com
  • 10. Who is Using OJVM ● Many among Fortune 500 companies ● Some examples from “Java in the Oracle Database @ Work – Customer Case Studies” ● And for sure Scotas & Cima www.scotas.com
  • 11. Java in the Database: What For ● Trigger-based Notification System using ● Implement Parsers for various File RMI Formats (txt, zip, xml, binary) ● Secure Credit-Card Processing using JSSE ● Implement Image Transformation ● Custom Alert applications that monitor and Format Conversion (GIF, PNG, business data JPEG, etc) ● Sending emails with attachment from within the database ● Implement database-resident ● Produce PDF files from Result Set Content Management System ● Execute external OS commands and ● HTTP Call-Out external procedures ● JDBC Call-Out ● Implement Md5 CRC ● Publish Repository Content to Portal ● RMI Call-Out to SAP ● Portable Logistic Applications ● Web Services Call-Out ● Messaging across Tiers ● RESTful Database Web Services ● Near Real Time Full Text Search www.scotas.com
  • 12. According to OOW SF presentation ● JDK interchangeable at any time (Perl script) ● Support for latest JDK – 1.6 default – 1.7 ● JNDI support ● Logging support ● In-database Hadoop (Map-Reduce) ● Security enhancements ● Fast switch from SQL-OJVM calls www.scotas.com
  • 13. Case Study Database resident JVM Client Example Scotas Near Real Time Full Text Searching www.scotas.com
  • 14. Scotas OLS ● An Embedded version of Solr Framework running inside Oracle OracleJVM ● 42 new Java Classes and several new PLSQL Object Types ● Two new domain index for Oracle Databases using Data Cartridge API (ODCI) ● A new Store implementation for Lucene (OJVMDirectory) which replaces a traditional filesystem by Secure BLOB ● 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 esl_events_sidx on esl_events(message) indextype is Lucene.SolrIndex parameters('SyncMode:Deferred;MltColumn:text;HighlightColumn:title;DefaultColumn:text;Co mmitOnSync:true;ExtraTabs:ESL.esl_causes c;WhereCondition:L$MT.event_id=c.event_id(+);ExtraCols:.....') local parallel 2; select /*+ DOMAIN_INDEX_SORT */ sscore(1),shighlight(1),message from esl_events where scontains(message,'severity_s:(ERROR INFO) AND springframework',1)>0 and gen_day between 26 and 27; www.scotas.com
  • 15. What the NRT means? www.scotas.com
  • 16. OLS Architecture www.scotas.com
  • 17. Oracle Integrated Information Architecture Capabilities - Scotas OLS Integration Data Acquire Organize Analyze Decide Structured Master & ETL/ELT Reference Reporting & ODS Dashboards DBMS (OLTP) ChangeDC Management, Security, Alerting Transactions Semi-structured EPM - BI Warehouse Real-Time Governance Files Applications Machine Generated Scotas Search Message- Streaming Social Media NoSQL Based CEP Engine Advanced Unstructured Analytics In-Database Text, Image, Hadoop HDFS Analytics Visual Video, Audio MapReduce Discovery Specialized Big Data High Speed RDBMS In Memory Hardware Cluster Network Cluster Analytics Source: Oracle Information Architecture: An Architect’s Guide to Big Data An Oracle White Paper in Enterprise Architecture, March 2012 Figure 3: Oracle Integrated Information Architecture Capabilities www.scotas.com
  • 18. • Product comparison Bringing the best of both worlds SCOTAS Oracle Solr Lucene OLS Text Real Time   Scalability   Performance   Security   Integration   Flexible and   Powerful features www.scotas.com
  • 19. Thank You! www.scotas.com | [email protected] | +1 (650) 704-7915 | 440 North Wolfe Road, Sunnyvale, CA 94085