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
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