SlideShare a Scribd company logo
Patterns of the
Lambda Architecture
Truth and Lies at the Edge of Scale
Pattern Set
Tradeoff Rules
PICK
ANY
TWO
Lambda Architecture
Search w/ Update
Build
Indexes
A Ton of
Text
Historical
Index
Live Indexer
More
Text
Recent
Index
API
Search w/ Update
Build
Indexes
A Ton of
Text
Historical
Index
Live Indexer
More
Text
Recent
Index
API
Main
Index
Search w/ Update
Build
Indexes
A Ton of
Text
Historical
Index
Live Indexer
More
Text
Recent
Index
API
Updates Index
Search w/ Update
Build
Indexes
A Ton of
Text
Historical
Index
Live Indexer
More
Text
Recent
Index
API
Serve
Result
Lambda Architecture
Build
Indexes
A Ton of
Text
Historical
Index
Live Indexer
More
Text
Recent
Index
API
Batch
Speed
Serving
Train
Recomm’der
Visitor
History
History
Alsobuy
Visitor:
Product
Visitor
Alsobuy
Update
Recommendation
Fetch/Update
History
Visitor:
Product
History
Webserver
Recommender
Train
Recomm’der
Visitor
History
History
Alsobuy
Visitor:
Product
Visitor
Alsobuy
Update
Recommendation
Fetch/Update
History
Visitor:
Product
History
Webserver
Recommender
Build
Model
Train
Recomm’der
Visitor
History
History
Alsobuy
Visitor:
Product
Visitor
Alsobuy
Update
Recommendation
Fetch/Update
History
Visitor:
Product
History
Webserver
Recommender
Applies Model
Train
Recomm’der
Visitor
History
History
Alsobuy
Visitor:
Product
Visitor
Alsobuy
Update
Recommendation
Fetch/Update
History
Visitor:
Product
History
Webserver
Recommender
Serves
Result
Train
Recomm’der
Visitor
History
History
Alsobuy
Visitor:
Product
Visitor
Alsobuy
Update
Recommendation
Fetch/Update
History
Visitor:
Product
History
Webserver
Recommender
Batch
Speed
Serving
Lambda Arch Layers
• Batch layer Deep Global Truth throughput
• Speed layer Relevant Local Truth throughput
• Serving layer Rapid Retrieval latency
Lambda Arch: Technology
• Batch layer Hadoop, Spark, Batch DB Reports
• Speed layer Storm+Trident, Spark Str., Samza,AMQP, …
• Serving layer Web APIs, Static Assets, RPC, …
Lambda Architecture
Batch
Speed Serving
Lambda Architecture
Batch
Speed Servingλ
Lambda Architecture
λ(v)
• Pure Function on immutable data
Two Big Ideas
• Fine-grained control over architectural tradeoffs
• Truth lives at the edge, not the middle
Ideal Data System
Ideal Data System
• Capacity -- Can process arbitrarily large amounts of data
• Affordability -- Cheap to run
• Simplicity -- Easy to build, maintain, debug
• Resilience -- Jobs/Processes fail&restart gracefully
• Justification -- Incorporates all relevant data into result
• Comprehensiveness-- Answer questions about any subject
• Accuracy -- Few approximations or avoidable errors
• Responsiveness -- Low latency for delivering results
• Recency -- Promptly incorporates changes in world
Patterns
Train
Recomm’der
Visitor
History
History
Alsobuy
Visitor:
Product
Visitor
Alsobuy
Update
Recommendation
Fetch/Update
History
Visitor:
Product
History
Webserver
Recommender
Pattern: Train / React
• Model of the world lets you make immediate decisions
• World changes slowly, so we can re-build model at leisure
• Relax: Recency
• Batch layer: Train a machine learning model
• Speed layer: Apply that model
• Examples: most Machine Learning thingies
Search w/ Update
Build
Indexes
A Ton of
Text
Historical
Index
Live Indexer
More
Text
Recent
Index
API
Pattern: Baseline / Delta
• Understanding the world takes a long time
• World changes much faster than that, and you care
• Relax: Simplicity, Accuracy
• Batch layer: Process the entire world
• Speed layer: Handle any changes since last big run
• Examples: Real-time Search index; Count Distinct; 

other Approximate Stream Algorithms
Pagerank
48
24
42 12
12
6
24
24
42
6
6
6
6
6
6
6
48
24
42 12
12
6
24
24
42
6
6
6
6
6
6
6
9
4
-
5
-
Guess Using Neighbors
?
48
24
42 12
12
6
24
24
42
6
6
6
6
6
6
6
9
4
-
5
-
Guess Using Neighbors
12÷3 = 4
24÷5 ≈ 5
9
48
24
42 12
12
6
24
24
42
6
6
6
6
6
6
6
9
4
-
5
-
…But Don’t Fix Neighbors
meh
Batch Updates Graph
42
30
36 11
10
6
21
21
36
4
6
6
6
5 5
4
9
3
9
6
Pagerank
Converge
Pagerank
Friend
Relations
User
Pagerank
Retrieve Bob’s
Facebook Ntwk
Bob
Bob’s Friends’
Pageranks
Estimate
Bob’s Pagerank
But don’t bother updating
Bob’s Friends (or friends
friends or …)
API
Pattern: Guess Beats Blank
• You can’t calculate a good answer quickly
• But Comprehensiveness is a must
• Relaxing: Accuracy, Justification
• Batch layer: finds the correct answer
• Speed layer: makes a reasonable guess
• Examples:Any time the sparse-data case is also the most
valuable
Marine Corp’s 80% Rule
“Any decision made with
more than 80% of the
necessary information is
hesitation”
— “The Marine Corps Way”
Santamaria & Martino
A Guess Beats a Blank
• You can’t calculate a good answer quickly
• But Comprehensiveness is a must
• Relaxing: Accuracy, Justification
• Batch layer: finds the correct answer
• Speed layer: makes a reasonable guess
• Examples:Any time the sparse-data case is also the most
valuable
Pattern: World/Local
• Understanding the world needs full graph
• You can tell a little white lie reading immediate graph only
• Relaxing: Accuracy, Justification
• Batch layer: uses global graph information
• Speed layer: just reads immediate neighborhood
• Examples:“Whom to follow”, Clustering, anything at 2nd-
degree (friend-of-a-friend)
Network Security
Find Potential
Evilness
Connection
Counts
Agents of
Interest
Store
Interaction
Net
Connect
ions
Detected
Evilnesses
Approximate
Streaming Agg
Agent of
Interest?
Dashboard
Pattern: Slow Boil/Flash Fire
• Two tempos of data: months vs milliseconds
• Short-term data too much to store
• Long-term data too much to handle immediately
• Often accompanies Baseline / Deltas
• Examples:
• Trending Topics
• Insider Security
Banking, Oversimplified
Reconcile
Accounts
Account
Balances
Event Store Transaction Update Records
Banking, Oversimplified
Reconcile
Accounts
Account
Balances
Event Store Transaction Update Records
nice-to-haveessential
This wins over fast layer
Pattern: C-A-P Tradeoffs
• C-A-P tradeoffs:
• Can’t depend on when data will roll in (Justification)
• Can’t live in ignorance (Comprehensiveness)
• Batch layer: The final answer
• Speed layer: Actionable views
• Examples: Security (Authorization vs Auditing), 

lots of counting problems
Common Theme
The System Asymptotes
to Truth over time
Two Big Ideas
• Fine-grained control over those architectural tradeoffs
• Truth lives at the edge, not the middle
Lambda Architecture
for a Dinky Little Blog
Blog: Traditional Approach
• Familiar with the ORM Rails-style blog:
• Models: User, Article, Comment
• Views:
• /user/:id (user info, links to their articles and comments);
• /articles (list of articles);
• /articles/:id (article content, comments, author info)
User
id 3
name joeman
homepage http://…
photo http://…
bio “…”
Article
id 7
title The Crisis
body These are…
author_id 3
created_at 2014-08-08
Comment
id 12
body “lol”
article_id 7
author_id 3
Author Name
Author Bio Lorem ipsum dolor sit
amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et
dolore magna aliqua.
Author
Photo
Joe has written 2 Articles:
“A Post about My Cat”
Donec nec justo eget felis facilisis
fermentum.Aliquam porttitor mauris sit
amet orci.Aenean dignissim pellentesque
(… read more)
“Welcome to my blog”
Donec nec justo eget felis facilisis
fermentum.Aliquam porttitor mauris sit
amet orci.Aenean dignissim pellentesque
(… read more)
Article Title
Article Body Lorem ipsum dolor sit
amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident.
Author Name
Author
Photo
Author Bio
Lorem ipsum
dolor sit amet,
consectetur
adipiscing elit,
sed do eiusmod
tempor
Comments
"First Post"
(8/8/2014 by Commenter 1)
"lol"
(8/8/2014 by Commenter 2)
"No comment"
(8/8/2014 by Commenter 3)
article show user show
articles
users
comments
Webserver
Traditional: Assemble on Read
Changes update models
update
article
update
user
update
comments
Δ
article
Δ
user
Δ
com’nt
models
user
com’nt
article
history
Models Trigger Reporters
update
article
update
user
update
comments
Δ
article
Δ
user
Δ
com’nt
models
user
com’nt
article
history
compact
article
user’s #
articles
expanded
user
user’s #
comments
sidebar
user
compact
comment
expanded
article
exp’d
article
compact
article
user’s #
articles
exp’d
user
sidebar
user
user’s #
comments
compact
comment
micro
user
micro
user
Serve Report Fragments
exp’d
article
compact
article
user’s #
articles
exp’d
user
sidebar
user
user’s #
comments
compact
comment
micro
user
show
article
Article Title
Article Body Lorem ipsum dolor sit
amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident.
Author Name
Author
Photo
Author Bio
Lorem ipsum
dolor sit amet,
consectetur
adipiscing elit,
sed do eiusmod
tempor
Comments
"First Post"
(8/8/2014 by Commenter 1)
"lol"
(8/8/2014 by Commenter 2)
"No comment"
(8/8/2014 by Commenter 3)
Article Title
Article Body Lorem ipsum dolor sit
amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident.
Author Name
Author
Photo
Author Bio
Lorem ipsum
dolor sit amet,
consectetur
adipiscing elit,
sed do eiusmod
tempor
Comments
"First Post"
(8/8/2014 by Commenter 1)
"lol"
(8/8/2014 by Commenter 2)
"No comment"
(8/8/2014 by Commenter 3)
article show rendered
{
"title":"Article Title",
"body":"Article Body Lorem [...]",
"author":{ ... },
"comments: [
{"comment_id":1, "body":"First Post",...},
{"comment_id":2, "body":"lol",...},
...
]}
Serve Report Fragments
Article Title
Article Body Lorem ipsum dolor sit
amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident.
Author Name
Author
Photo
Author Bio
Lorem ipsum
dolor sit amet,
consectetur
adipiscing elit,
sed do eiusmod
tempor
Comments
"First Post"
(8/8/2014 by Commenter 1)
"lol"
(8/8/2014 by Commenter 2)
"No comment"
(8/8/2014 by Commenter 3)
exp’d
article
compact
article
user’s #
articles
exp’d
user
sidebar
user
user’s #
comments
compact
comment
micro
user
show
user
Reports are Cheap
update
article
update
user
update
comments
Δ
article
Δ
user
Δ
com’nt
models
user
com’nt
article
history
compact
article
user’s #
articles
expanded
user
user’s #
comments
sidebar
user
compact
comment
expanded
article
exp’d
article
compact
article
user’s #
articles
exp’d
user
sidebar
user
user’s #
comments
compact
comment
micro
user
micro
user
list
articles
show
article
list user’s
articles
show
user
• (…hack hack hack…)
/articles/v2/show.json
/articles/v1/show.json
• (…hack hack hack…)
What data model would you
like to receive? {“title”:”…”,
“body”:”…”,…}
j/k lol can I have
Data Engineer Web Engineer
{“title”:”…”,
“body”:”…”,
“snippet”:…}
Syndicated Data
• Reports are cheap, single-concern, and faithful to the view.
• You start thinking like the customer, not the database
• All pages render in O(1):
• Your imagination doesn’t have to fit inside a TCP timeout
• Data is immutable, flows are idempotent:
• Interface change is safe
• Data is always _there_,
• Asynchrony doesn’t affect consumers
• Everything is decoupled:
• Way harder to break everything
Syndicated Data
• The Data is always _there_
• …but sometimes it’s more perfect than other times.
• Lambda architecture isn’t about speed layer / batch layer.
• It's about
• moving truth to the edge, not the center;
• enabling fine-grained tradeoffs against fundamental limits;
• decoupling consumer from infrastructure
• decoupling consumer from asynchrony
• …with profound implications for how you build your teams
λ Arch: Truth, not Plumbing
…
…
Lambda Architecture
Entity Resolution
Scrape Product Web
Intake
parse
Amazon
Amazon
parse
eBay
eBay
parse
Ma&Pa
Ma&Pa
Electronics
Bulk
Stream
RPC Callback
key
words
mfr &
model
ASIN
VendorListing
Listings
Batch Layer: Resolve/Unify
Product
Resolver
Unified
Products
Listings
Unify
Products
Improve
Product
Resolver
key
words
mfr &
model
ASIN
VendorListing
Fetch
Products
Unified
Products
Listings
Unify
Products
Update
Product
Resolver
key
words
mfr &
model
ASIN
VendorListing
Fetch
Products
Unified
Products
Resolve &
Update
Listings
Unify
Products
Cannot have Consistency
Product
Resolver
key
words
mfr &
model
ASIN
VendorListing
Fetch
Products
Unified
Products
Resolve &
Update
Listings
Unify
Products
Objections
Objections
• Three objections
1.Why hasn't it been done before
2.Architecture Astronaut
3.I'm not at high scale
• Response
1.Chef/Puppet/Docker/etc
2.Chef/Puppet/Docker/etc
3.Shut Up
Patterns of the Lambda Architecture -- 2015 April - Hadoop Summit, Europe
Objections
• Two APIs? Really?
• Yes. Guilty.That’s dumb and must be fixed.
• Spark or Samza, if you’re willing to only drink one flavor of
Kool-Aid
• EZbake.io, a CSC / 42six project to attack this
• …but we shouldn’t be living at the low level anyhow
Objections
• Orchestration: “logical plan” (dataflow graph)
• Optimization/Allocation: “physical plan” (what goes where)
• Resource Projector: instantiates infrastructure
• HTTP listeners,Trident streams, Oozie scheduling, ETL
flows, cron jobs, etc
• Transport Machineries:
• move data around, fulfilling locality/ordering/etc guarantees
• Data Processing: UDFs and operators

More Related Content

PDF
Reactive Streams and the Wide World of Groovy
PDF
An introduction to Reactive applications, Reactive Streams, and options for t...
PDF
Reactive All the Way Down the Stack
PDF
An Introduction to Reactive Application, Reactive Streams, and options for JVM
PPTX
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
PDF
Greach 2018: Surviving Microservices
PPTX
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
PPTX
London WebPerf Meetup: End-To-End Performance Problems
Reactive Streams and the Wide World of Groovy
An introduction to Reactive applications, Reactive Streams, and options for t...
Reactive All the Way Down the Stack
An Introduction to Reactive Application, Reactive Streams, and options for JVM
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Greach 2018: Surviving Microservices
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
London WebPerf Meetup: End-To-End Performance Problems

What's hot (20)

PPTX
Mobile User Experience: Auto Drive through Performance Metrics
PPTX
(R)evolutionize APM
PDF
Managing Memory in Swift (Yes, that's a thing)
PPTX
Building a Modern Website for Scale (QCon NY 2013)
PPTX
Ocassionally connected devices spark final
PDF
Optimizing Git LFS Migration Through Repository Data-mining
PPTX
Systematic Load Testing of Web Applications
PPTX
My Little Webap - DevOpsSec is Magic
PPTX
OnAndroidConf 2013: Accelerating the Android Platform Build
PDF
How did I get here? Building confidence in a distributed stream processor
PDF
Velox at SF Data Mining Meetup
PPTX
Dash presentation
PPT
Devops at Netflix (re:Invent)
PDF
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
PDF
Continuously Integrating Distributed Code at Netflix
PPTX
Accelerating Innovation and Time-to-Market @ Camp Devops Houston 2015
PDF
Velox: Models in Action
PDF
Demystifying observability
PPTX
Google, quality and you
PPTX
Clipper at UC Berkeley RISECamp 2017
Mobile User Experience: Auto Drive through Performance Metrics
(R)evolutionize APM
Managing Memory in Swift (Yes, that's a thing)
Building a Modern Website for Scale (QCon NY 2013)
Ocassionally connected devices spark final
Optimizing Git LFS Migration Through Repository Data-mining
Systematic Load Testing of Web Applications
My Little Webap - DevOpsSec is Magic
OnAndroidConf 2013: Accelerating the Android Platform Build
How did I get here? Building confidence in a distributed stream processor
Velox at SF Data Mining Meetup
Dash presentation
Devops at Netflix (re:Invent)
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Continuously Integrating Distributed Code at Netflix
Accelerating Innovation and Time-to-Market @ Camp Devops Houston 2015
Velox: Models in Action
Demystifying observability
Google, quality and you
Clipper at UC Berkeley RISECamp 2017
Ad

Viewers also liked (7)

PPTX
ABM: Content Marketing "On the Go"
PPT
腾讯大讲堂36 竞争情报入门
PDF
Homophones
PPTX
#socialtalk Social Selling University and InsideView
PDF
Chapter 21 section 3
PDF
How InsideView Exposed Itself to Prospects
PPT
腾讯大讲堂37 内容运营的基础知识
ABM: Content Marketing "On the Go"
腾讯大讲堂36 竞争情报入门
Homophones
#socialtalk Social Selling University and InsideView
Chapter 21 section 3
How InsideView Exposed Itself to Prospects
腾讯大讲堂37 内容运营的基础知识
Ad

Similar to Patterns of the Lambda Architecture -- 2015 April - Hadoop Summit, Europe (20)

PDF
Patterns of the Lambda Architecture -- 2015 April -- Hadoop Summit, Europe
PDF
Event-Driven Architectures Done Right | Tim Berglund, Confluent
PDF
DevOps: Find Solutions, Not More Defects
PDF
Rsqrd AI: How to Design a Reliable and Reproducible Pipeline
PPTX
Effective Microservices In a Data-centric World
PDF
Chris Mathias Presents Advanced API Design Considerations at LA CTO Forum
PDF
Creating PostgreSQL-as-a-Service at Scale
PDF
The What & Why of Pattern Lab
PDF
Scaling systems using change propagation across data stores
PDF
Using MLOps to Bring ML to Production/The Promise of MLOps
PPTX
Stateful Stream Processing at In-Memory Speed
PDF
Systems Monitoring with Prometheus (Devops Ireland April 2015)
PPTX
Eric Proegler Oredev Performance Testing in New Contexts
PDF
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
PPTX
Reactive Development: Commands, Actors and Events. Oh My!!
PPTX
SEO for Large Websites
PDF
Recommender Systems from A to Z – Real-Time Deployment
PDF
Building Big Data Streaming Architectures
PDF
Advanced web application architecture - Talk
PDF
MongoDB: What, why, when
Patterns of the Lambda Architecture -- 2015 April -- Hadoop Summit, Europe
Event-Driven Architectures Done Right | Tim Berglund, Confluent
DevOps: Find Solutions, Not More Defects
Rsqrd AI: How to Design a Reliable and Reproducible Pipeline
Effective Microservices In a Data-centric World
Chris Mathias Presents Advanced API Design Considerations at LA CTO Forum
Creating PostgreSQL-as-a-Service at Scale
The What & Why of Pattern Lab
Scaling systems using change propagation across data stores
Using MLOps to Bring ML to Production/The Promise of MLOps
Stateful Stream Processing at In-Memory Speed
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Eric Proegler Oredev Performance Testing in New Contexts
Data Mining-based Tools to Support Library Update. PhD Defence of Oleksandr Z...
Reactive Development: Commands, Actors and Events. Oh My!!
SEO for Large Websites
Recommender Systems from A to Z – Real-Time Deployment
Building Big Data Streaming Architectures
Advanced web application architecture - Talk
MongoDB: What, why, when

Recently uploaded (20)

PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PDF
Business Analytics and business intelligence.pdf
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PDF
.pdf is not working space design for the following data for the following dat...
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPT
ISS -ESG Data flows What is ESG and HowHow
PDF
Mega Projects Data Mega Projects Data
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPTX
Introduction to Knowledge Engineering Part 1
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PDF
Lecture1 pattern recognition............
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPTX
Introduction to machine learning and Linear Models
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
Business Analytics and business intelligence.pdf
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
IBA_Chapter_11_Slides_Final_Accessible.pptx
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
.pdf is not working space design for the following data for the following dat...
Introduction-to-Cloud-ComputingFinal.pptx
ISS -ESG Data flows What is ESG and HowHow
Mega Projects Data Mega Projects Data
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Acceptance and paychological effects of mandatory extra coach I classes.pptx
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
Introduction to Knowledge Engineering Part 1
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
Lecture1 pattern recognition............
Miokarditis (Inflamasi pada Otot Jantung)
Introduction to machine learning and Linear Models
MODULE 8 - DISASTER risk PREPAREDNESS.pptx

Patterns of the Lambda Architecture -- 2015 April - Hadoop Summit, Europe