This is a first presentation of Kamanja, a new open-source real-time software product, which integrates with other big-data systems. See also links: http://www.meetup.com/SF-Bay-ACM/events/223615901/ and http://Kamanja.org to download, for docs or community support. For the YouTube video, see https://www.youtube.com/watch?v=g9d87rvcSNk (you may want to start at minute 33).
24. Metadata
Functions
(in PMML, Scala as
User Defined Func (UDF))
Models
(PMML Rule Set, i.e.
fraud, attrition)
Messages
(from input queue, real
time records)
Containers
(i.e. a record or lookup table
to provide context, priors)
Types
(i.e. array of patients, Dr’s,
types of containers)
Concepts
(PMML created fields,
preprocessing, scores)
Metadata API
Elements
ligaDATA
25. Metadata
Metadata API
Scoring Engine
Manager
(within a model)
Model Manager
(activate, control
a DAG of many
models)
PMML Producer, or
application
Admin App, used by DevOps
Activate PMML Model or DAG
Rest API
Metadata API
Subsystems
Configuration
(Cluster, Engine, Model Compilation)
Kamanja Engine
ligaDATA
26. Model Runtime
Kamanja Runtime
Model Execution
Transformer
Data History / Metadata,
(HBase, Cassandra, ..)
Msg
Storage
Adapter(s)
Metadata
Instance
Model
Object
Model
Factory
1) Message rec by
runtime engine
2) Metadata is checked
To see what model is
Interested in the message 3) Model object
Is instantiated
5) Msgs committed
to history
4) Model is executed
on the Message obj
6) Output of the model
is returned to the engine
ligaDATA
27. If the node that crashes is a Kamanja Slave node
• The Kamanja Leader Node rebalances over all Kamanja nodes
• Each message is processed EXACTLY ONCE
• A Bank needs to process a transaction ONCE AND ONLY ONCE
• Look at the state of every message through each step
If the Kamanja Leader node goes down,
• The next node on the list becomes the Leader, then rebalance
COMPARE TO:
• Spark and Storm would execute each message AT LEAST ONCE (but may
process a message 2, 3 or 4 times…).
• The expectation is for the application to handle possible dup.
What happens when
a node goes down?
ligaDATA