SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011Arun Gupta
 
Java Future S Ritter
Java Future S RitterJava Future S Ritter
Java Future S Rittercatherinewall
 
4장. Class Loader
4장. Class Loader4장. Class Loader
4장. Class Loader김 한도
 
Couchbase Performance Benchmarking
Couchbase Performance BenchmarkingCouchbase Performance Benchmarking
Couchbase Performance BenchmarkingRenat Khasanshyn
 
OSGi Persistence With EclipseLink
OSGi Persistence With EclipseLinkOSGi Persistence With EclipseLink
OSGi Persistence With EclipseLinkShaun Smith
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Agora Group
 
Rollin onj Rubyv3
Rollin onj Rubyv3Rollin onj Rubyv3
Rollin onj Rubyv3Oracle
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6glassfish
 
Ijaprr vol1-2-13-60-64tejinder
Ijaprr vol1-2-13-60-64tejinderIjaprr vol1-2-13-60-64tejinder
Ijaprr vol1-2-13-60-64tejinderijaprr_editor
 
Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)Frazer Clement
 
Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkMohit Belwal
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010Arun Gupta
 
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...srisatish ambati
 
S313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochezS313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochezJerome Dochez
 
Java 8 in Anger (QCon London)
Java 8 in Anger (QCon London)Java 8 in Anger (QCon London)
Java 8 in Anger (QCon London)Trisha Gee
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 

La actualidad más candente (20)

Simple insites into JVM
Simple insites into JVMSimple insites into JVM
Simple insites into JVM
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
 
Java Future S Ritter
Java Future S RitterJava Future S Ritter
Java Future S Ritter
 
4장. Class Loader
4장. Class Loader4장. Class Loader
4장. Class Loader
 
Couchbase Performance Benchmarking
Couchbase Performance BenchmarkingCouchbase Performance Benchmarking
Couchbase Performance Benchmarking
 
OSGi Persistence With EclipseLink
OSGi Persistence With EclipseLinkOSGi Persistence With EclipseLink
OSGi Persistence With EclipseLink
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
 
Methods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarkingMethods of NoSQL database systems benchmarking
Methods of NoSQL database systems benchmarking
 
Rollin onj Rubyv3
Rollin onj Rubyv3Rollin onj Rubyv3
Rollin onj Rubyv3
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6
 
Orcale Presentation
Orcale PresentationOrcale Presentation
Orcale Presentation
 
Ijaprr vol1-2-13-60-64tejinder
Ijaprr vol1-2-13-60-64tejinderIjaprr vol1-2-13-60-64tejinder
Ijaprr vol1-2-13-60-64tejinder
 
Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)
 
Java9
Java9Java9
Java9
 
Java & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate FrameworkJava & J2EE Struts with Hibernate Framework
Java & J2EE Struts with Hibernate Framework
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
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...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
Cache is King ( Or How To Stop Worrying And Start Caching in Java) at Chicago...
 
S313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochezS313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochez
 
Java 8 in Anger (QCon London)
Java 8 in Anger (QCon London)Java 8 in Anger (QCon London)
Java 8 in Anger (QCon London)
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 

Destacado

Apache Solr Workshop
Apache Solr WorkshopApache Solr Workshop
Apache Solr WorkshopJSGB
 
Introduction to search engine-building with Lucene
Introduction to search engine-building with LuceneIntroduction to search engine-building with Lucene
Introduction to search engine-building with LuceneKai Chan
 
Search Engine Capabilities - Apache Solr(Lucene)
Search Engine Capabilities - Apache Solr(Lucene)Search Engine Capabilities - Apache Solr(Lucene)
Search Engine Capabilities - Apache Solr(Lucene)Manish kumar
 
Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!Murshed Ahmmad Khan
 
Introduction to Apache Lucene/Solr
Introduction to Apache Lucene/SolrIntroduction to Apache Lucene/Solr
Introduction to Apache Lucene/SolrRahul Jain
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache SolrAndy Jackson
 
Building a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineBuilding a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineTrey Grainger
 
Building a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineBuilding a Recommendation Engine - An example of a product recommendation engine
Building a Recommendation Engine - An example of a product recommendation engineNYC Predictive Analytics
 

Destacado (9)

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

Similar a Scotas - Oracle Open World Sao Pablo

Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseExperiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseMarcelo Ochoa
 
A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVMAlex Birch
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the CloudArun Gupta
 
JAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptxJAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptxMurugesh33
 
JAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptxJAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptxMurugesh33
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On ConcurrencyRodney Barlow
 
JAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptxJAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptx20EUEE018DEEPAKM
 
How Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdfHow Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdfAna-Maria Mihalceanu
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Arun Gupta
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch ProcessingChris Adkin
 
Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds Arun Gupta
 
A Brief study on JVM A Brief study on JVM
A Brief study on JVM A Brief study on JVMA Brief study on JVM A Brief study on JVM
A Brief study on JVM A Brief study on JVMBRNSSPublicationHubI
 
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007Baruch Sadogursky
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On ConcurrencyWill Gage
 
Unit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rdUnit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rdprat0ham
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Finaljucaab
 

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

Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseExperiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the Database
 
A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVM
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
JAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptxJAVA_Day1_BasicIntroduction.pptx
JAVA_Day1_BasicIntroduction.pptx
 
JAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptxJAVAPart1_BasicIntroduction.pptx
JAVAPart1_BasicIntroduction.pptx
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
 
JAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptxJAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptx
 
Java programming and security
Java programming and securityJava programming and security
Java programming and security
 
How Java 19 Influences the Future of Your High-Scale Applications .pdf
How Java 19 Influences the Future of Your High-Scale Applications .pdfHow Java 19 Influences the Future of Your High-Scale Applications .pdf
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
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
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
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptxJAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch Processing
 
Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds
 
A Brief study on JVM A Brief study on JVM
A Brief study on JVM A Brief study on JVMA Brief study on JVM A Brief study on JVM
A Brief study on JVM A Brief study on JVM
 
Jvm fundamentals
Jvm fundamentalsJvm fundamentals
Jvm fundamentals
 
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
 
Unit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rdUnit 1 Core Java for Compter Science 3rd
Unit 1 Core Java for Compter Science 3rd
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Final
 

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 | info@scotas.com | +1 (650) 704-7915 | 440 North Wolfe Road, Sunnyvale, CA 94085