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

PDF
Oracle History #5
PDF
The Native NDB Engine for Memcached
PPTX
Easy Data Object Relational Mapping Tool
PPT
Java8 - Under the hood
PPT
Java 9 Module System
PDF
Concurrency in Java
PDF
What's new in Java EE 6
PDF
WebLogic Diagnostic Framework Dr. Frank Munz / munz & more WLS11g
Oracle History #5
The Native NDB Engine for Memcached
Easy Data Object Relational Mapping Tool
Java8 - Under the hood
Java 9 Module System
Concurrency in Java
What's new in Java EE 6
WebLogic Diagnostic Framework Dr. Frank Munz / munz & more WLS11g

What's hot (20)

PPTX
Simple insites into JVM
PDF
The State of Java under Oracle at JCertif 2011
PDF
Java Future S Ritter
KEY
4장. Class Loader
PDF
Couchbase Performance Benchmarking
PPT
OSGi Persistence With EclipseLink
PDF
Andrei Niculae - JavaEE6 - 24mai2011
PDF
Methods of NoSQL database systems benchmarking
PPT
Rollin onj Rubyv3
ODP
OTN Developer Days - Java EE 6
PDF
Orcale Presentation
PDF
Ijaprr vol1-2-13-60-64tejinder
PDF
Breakthrough performance with MySQL Cluster (2012)
PPT
Java & J2EE Struts with Hibernate Framework
PDF
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
PDF
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
PDF
S313557 java ee_programming_model_explained_dochez
PDF
Java 8 in Anger (QCon London)
PDF
The Java Content Repository
Simple insites into JVM
The State of Java under Oracle at JCertif 2011
Java Future S Ritter
4장. Class Loader
Couchbase Performance Benchmarking
OSGi Persistence With EclipseLink
Andrei Niculae - JavaEE6 - 24mai2011
Methods of NoSQL database systems benchmarking
Rollin onj Rubyv3
OTN Developer Days - Java EE 6
Orcale Presentation
Ijaprr vol1-2-13-60-64tejinder
Breakthrough performance with MySQL Cluster (2012)
Java & J2EE Struts with Hibernate Framework
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
S313557 java ee_programming_model_explained_dochez
Java 8 in Anger (QCon London)
The Java Content Repository
Ad

Viewers also liked (9)

PPTX
Apache Solr Workshop
PDF
Introduction to Machine Learning
PPTX
Introduction to search engine-building with Lucene
PPTX
Search Engine Capabilities - Apache Solr(Lucene)
PDF
Apache Solr! Enterprise Search Solutions at your Fingertips!
PPTX
Introduction to Apache Lucene/Solr
PPTX
Introduction to Apache Solr
PPTX
Building a real time, solr-powered recommendation engine
PDF
Building a Recommendation Engine - An example of a product recommendation engine
Apache Solr Workshop
Introduction to Machine Learning
Introduction to search engine-building with Lucene
Search Engine Capabilities - Apache Solr(Lucene)
Apache Solr! Enterprise Search Solutions at your Fingertips!
Introduction to Apache Lucene/Solr
Introduction to Apache Solr
Building a real time, solr-powered recommendation engine
Building a Recommendation Engine - An example of a product recommendation engine
Ad

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

PDF
Experiences with Evangelizing Java Within the Database
PPTX
A tour of Java and the JVM
PDF
Running your Java EE applications in the Cloud
PPTX
JAVAPart1_BasicIntroduction.pptx
PPTX
JAVA_Day1_BasicIntroduction.pptx
PPT
Shopzilla On Concurrency
PPTX
JAVA-History-buzzwords-JVM_architecture.pptx
PDF
Java programming and security
PDF
How Java 19 Influences the Future of Your High-Scale Applications .pdf
PDF
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
PDF
Powering the Next Generation Services with Java Platform - Spark IT 2010
PPTX
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
PPT
J2EE Batch Processing
PDF
Running your Java EE 6 applications in the clouds
PDF
A Brief study on JVM A Brief study on JVM
PDF
Jvm fundamentals
PPTX
2 22CA026_Advance Java Programming_Data types and Operators.pptx
PPT
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
PPT
Shopzilla On Concurrency
PDF
Unit 1 Core Java for Compter Science 3rd
Experiences with Evangelizing Java Within the Database
A tour of Java and the JVM
Running your Java EE applications in the Cloud
JAVAPart1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptx
Shopzilla On Concurrency
JAVA-History-buzzwords-JVM_architecture.pptx
Java programming and security
How Java 19 Influences the Future of Your High-Scale Applications .pdf
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
J2EE Batch Processing
Running your Java EE 6 applications in the clouds
A Brief study on JVM A Brief study on JVM
Jvm fundamentals
2 22CA026_Advance Java Programming_Data types and Operators.pptx
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Shopzilla On Concurrency
Unit 1 Core Java for Compter Science 3rd

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