12
JackRabbit OAK Yash Mody, PhD CTO | Tekno Point Consulting www.teknopoint.us

Introducing Apache Jackrabbit OAK

Embed Size (px)

DESCRIPTION

Presented @ Adobe, Bangalore - Introduction to the Node State Model in Jackrabbit OAK

Citation preview

Page 1: Introducing Apache Jackrabbit OAK

JackRabbit OAK

Yash Mody, PhD CTO | Tekno Point Consulting

www.teknopoint.us  

Page 2: Introducing Apache Jackrabbit OAK

Introducing the “oak”

Hierarchical Content repository New age CMS – distributed, loosely couples, multiplatform solution JCR Compliant (not full coverage) Scalable (>100 M nodes) Cloud Deployments

www.teknopoint.us  

Page 3: Introducing Apache Jackrabbit OAK

Architecture

.NodeStore

.MicroKernel (MK)

.NodeState

www.teknopoint.us  

Page 4: Introducing Apache Jackrabbit OAK

Overview

OAK  JCR  

OAK  CORE  

OAK  PLUGINS  

www.teknopoint.us  

Page 5: Introducing Apache Jackrabbit OAK

Layers Light wt HTTP protocol for JSON

www.teknopoint.us  

Page 6: Introducing Apache Jackrabbit OAK

The Node store architecture

www.teknopoint.us  

Page 7: Introducing Apache Jackrabbit OAK

fundamentals

Hierarchical/Tree Model with nodes and properties Everything else is plugin based Tree is immutable, changes are new revisions

Multi Version Concurrency Control (MVCC) model

Snapshot Isolation Relaxed first committer wins strategy Write Skew (ex: joint accounts)

www.teknopoint.us  

Page 8: Introducing Apache Jackrabbit OAK

Node state Model

Node – unordered collection Content revisions will change states of Nodes Node State is an immutable snapshot of a specific state NodeState and NodeBuilder Interfaces

www.teknopoint.us  

Page 9: Introducing Apache Jackrabbit OAK

Node store

Implementation of Node State Model Java API for NSM functionality

www.teknopoint.us  

Page 10: Introducing Apache Jackrabbit OAK

Microkernel

NSM implementation with String only JSON API Remoteable Stateless 2 flavors of MK: Document and Segment

Document – Max performance in stand alone systems Segment – Max Scalability for cluster

www.teknopoint.us  

Page 11: Introducing Apache Jackrabbit OAK

Other stuff

Compare NodeState Commit Hooks – controls/modifies what to do with a commit Commit Editors – parallel processing of multiple hooks Commit Validators – only validates. Cannot modify

www.teknopoint.us  

Page 12: Introducing Apache Jackrabbit OAK

Thanks

@yash_mody http://www.linkedin.com/in/modyyash

www.teknopoint.us