Professional Documents
Culture Documents
Oracle NoSQL Database Technical Introduction Presentation
Oracle NoSQL Database Technical Introduction Presentation
Oracle NoSQL Database Technical Introduction Presentation
Safe Harbor
*he follo!ing is intended to provide an introd#ction to the Oracle 'o "( data&ase. .t is intended for infor,ation p#rposes only, and ,ay not &e incorporated into any contract. .t is not a co,,it,ent to deliver any ,aterial, code, or f#nctionality and sho#ld not &e relied #pon in f#nctionality, and sho#ld not &e relied #pon in ,aking p#rchasing decisions. *he develop,ent, release, and ti,ing of any feat#res or f#nctionality descri&ed for Oracle/s prod#cts re,ains at the sole discretion of Oracle.
Disclaimer
Any vie!s e1pressed in this presentation are ,y o!n and do not necessarily reflect the vie!s of Oracle. *his presentation !ill not disc#ss prod#ct2s road ,ap as . do not represent the Oracle 'o "( data&ase develop,ent tea,. o,e slides and presentation ,aterial have &een re#sed fro, p#&licly availa&le presentations of %ave eglea#, Charles (a,& and A&hi %#&ey. )ost of the re#sed slides have &een edited &y ,e in order to #pdate the, or c#sto,i3e the, according to this presentation2s foc#s.
Agenda
Oracle NoSQL Database Introduction Oracle 'o "( %ata&ase Architect#re Oracle 'o "( %ata&ase Operations 5 A6. "5A
AC.% transactions 7igh availa&ility 7igh thro#ghp#t i,ple ad,inistration A,a3on %yna,o =olde,ort >(inkedin? Genie%9
Already proven in
harding?
tring keys?
*om"atibilit%
6#re i,ple,entation in Eava Eava and C A6.s 9indings availa&le for Eython, Er#&y,
.ntegration !ith Oracle %ata&ase 8 $1ternal *a&les <%: Graph for 'o "( 8 #pport for 6A<"( .ntegration !ith )iddle!are
.ntegration !ithF
O"en Source
$1tra feat#res for enterprise #se >$1ternal *a&les, <%:/ 6A<"(, O$6, Coherence, E)G, ')6? $nterprise #pport
Oracle 'o "( %9 Client %river #nder the Apache 2.0 (icense # Ne-
Agenda
Oracle 'o "( %ata&ase .ntrod#ction Oracle NoSQL Database Architecture Oracle 'o "( %ata&ase Operations 5 A6. "5A
)ap of Heys to =al#es )aBor / )inor Hey paradig, Heys are Eava trings
:#ll Hey I )aBor Hey 6ath J )inor Hey 6ath One or ,ore .a/or $e% co,ponents Kero or ,ore .inor $e% co,ponents
&alue field
=al#es are stored as ar&itrary &yte arrays >opaA#e val#es? =al#es can &e stored in A)ro for,at >reco,,ended? =al#es co#ld &e as si,ple or as co,ple1 the developer !ants
/)aBorCo,ponent1/)aBorCo,ponent2/8/)inorCo,ponent1/)inorCo,ponent2/
Storage Nodes are physical >or virt#al? ,achines !ith their o!n local storage $very torage 'ode hosts one or ,ore 2e"lication Nodes
One of the <eplication 'odes is elected to &e the shard2s .aster node
'#,&er of nodes &elonging to a shard is called its 2e"lication 0actor $&Store is a collection of torage 'odes
%ata is spread evenly across all the shards in #se &y the H= tore All Hey =al#e pairs !ith the sa,e )aBor Hey 6ath are cl#stered on the sa,e shard et of <eplication 'odes for each shard providesF
Crite operations on the Laster <eplication 'ode <ead operations on any <eplication 'ode
Replication Nodes
hard 2
hard '
Crites
)aster
)aster
)aster
<eads
<eplicas
1;Copyright 2013, Oracle and/or its affiliates. All rights reserved.
<eplicas
<eplicas
0eatures # 2e"lication
ingle8,aster ,#lti8replica replication strategy One or ,ore read8only replicas Mses *C6/.6 and standard Eava li&raries <esilient to partition ,aster fail#res #pports 7eterogeneo#s platfor, hard!are/O /E=) 6rovides linear scale o#t for read ops/sec
<eads fro, ,aster or replicas Crites are evenly distri&#ted across shards .ntelligent Client %river is net!ork topology and latency a!are
<o#tes operations to the proper node 6erfor,s load &alancing <#n operations on fastest appropriate node ingle net!ork hop e1cept !hen node fails or topology changes *opology changes ret#rned !ith res#lts
the )aster 'ode to all the other <eplication 'odes of the shard )aster node N ,ost #p8to8date data <eplicas N possi&ly slightly older versions >event#al consistency? yste, records version n#,&ers for key/val#e pairs, &#t ,aintains the single latest version in the store. 'o need for version reconciliation at the application level
$&Lite
Quic' de"lo%ment for de)elo"ers
i,plified version of Oracle 'o "( %ata&ase server ingle8node single8shard store >no replication? .ntended for #se &y application developers $1plore O'%9 A6.
Agenda
Oracle 'o "( %ata&ase .ntrod#ction Oracle 'o "( %ata&ase Architect#re Oracle NoSQL Database O"erations 4 A5I "5A
C<M% operations
<ead / .nsert / Mpdate / %elete ingle and ,#lti8record operations AC.% transactions Co,pare And et Operations ><)C?
Mnordered iteration across keys Ordered iteration across s#& keys !ithin a key <ange scans and f#ll key space scans
put(Key, Value, [Durability, timeout]) putIfAbsent(K, V, [Durability, timeout]) putIfPresent(K, V, [Durability, timeout]) putIfVersion(K, V, Version, [Durability, timeout]) get(Key, [Consistency, timeout]) delete(Key, [Durability, timeout]) deleteIfVersion(Key, Version, [Durability, timeout])
Operation
create ey(!ist"String$ ma%or&ath) create ey(!ist"String$ ma%or&ath, !ist"String$ minor&ath) create ey(!ist"String$ ma%or&ath, String minorComponent) create ey(String ma%orComponent) from!tring(String pathString) ey
Getting tarted !ith Oracle 'o "( %ata&ase Oracle 'o "( %ata&ase Availa&ility and :ailover Ad,inistrator2s G#ide Oracle *echnology 'et!ork
6rod#ct Overvie!s Chite 6apers / 6resentations Online *#torials / =ideos Online Ce&inars