Professional Documents
Culture Documents
DECIDE ACQUIRE
Make
Be'er
Decisions
Using
ANALYZE ORGANIZE
Big
Data
Hadoop
Oracle
In-‐Database
AnalyBcs
Advanced
Analytic
Analytics Applications!
Open Source R Oracle Big Data Alerts,
Connectors Data
Dashboards,
MD-‐
Warehouse
Oracle NoSQL InfiniBand InfiniBand Analysis,
Reports,
Database Query
Oracle Data Oracle
Integrator Database Web
Services
Applications BI
AbstracBon
!
Batch-‐Oriented Real-‐Time
Application Application
Simple
Data
Model
NoSQL Database NoSQL Database
Driver Driver
Small,
distributed
footprint
Highly
scalable,
available
Transparent
load
balancing
Integrates
with
Oracle
Stack
Storage
Nodes
Storage
Nodes
Datacenter A Datacenter B
• Transaction Scope
– Single API call
– All records must have the same major key
– Support for multiple operations within a transaction
• YCSB Benchmark
• 94K insert/sec
• 25K read/update/sec
• Low latency
• Linear scalability
• Starting kvlite
cd
kv-‐1.2.123/lib
java
-‐jar
kvstore-‐1.2.123.jar
kvlite
-‐store
dbStore
–admin
<portID>
-‐port
<portID>
-‐host
localhost
–root
../kvroot
• Is kvlite running?
java
-‐jar
kvstore-‐1.2.123.jar
ping
-‐port
<portID>
-‐host
localhost
Virtual Developer Day – Oracle NoSQL Database 21 | © 2011 Oracle Corporation –
KVStoreConfig(“dbStore”, “localhost:5000”)
• Create a Key
• Major and Minor Paths
Key
id
=
Key.createKey(“sue.smith@Example.com”);
• Create a Value
String
name
=
“Susan
Smith”;
Value
vName
=
Value.createValue(name.getBytes());
• Exceptions to Handle during Key-value operations
• DurabilityException
• RequestTimeoutException
• FaultException
Virtual Developer Day – Oracle NoSQL Database 24 | © 2011 Oracle Corporation –
kvstore.delete()
Kvstore.deleteIfVersion(Key,
Version)
ValueVersion
=
kvstore.get(Key);
ValueVersion
=
kvstore.get(Key,
Consistency,
Timeout,
TimeoutUnit);
Virtual Developer Day – Oracle NoSQL Database
Brought to you by Oracle Technology Network
29 | © 2011 Oracle Corporation –
Proprietary and Confidential
API Overview – Multi-record Operations
• Open/Close connections
getstore(),
close()
• Single-record operations
get…(),
put…(),
delete…()
• Multi-operation transactions
OperationFactory,
ops.add()
• Multi-record operations
multiget…(),
multidelete()
• Operational support
– Record Versions, Durability Policy, Consistency Policy
OTN
Forum:
forums.oracle.com
-‐>
Big
Data
-‐>
NoSQL
Charles
Lamb’s
blog:
Blogs.oracle.com/charleslamb/
• Community Edition has all of the basic functionality and APIs. Gets
you started. Competes with other OS NoSQL solutions.