SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
eBay Pulsar
(Real-time Analytics Platform)
2015.03.13
mo@embian.com
양경모
2
Agenda
1. What is Pulsar ?
2. Twitter stream processing demo
3. Key points
4. Other platforms
3
1. What is Pulsar ?
● Developed by eBay
● Real-time analytics platform
● Stream processing framework
● Scalability
– Scale to tens of millions of events per second
● Availability
– No downtime during software upgrade, stream processing of
rules and topology changes
● Flexibility
– SQL-like language and annotations for defining stream
processing rules
4
Pulsar's Building Block
(basic framework)
● Jetstream
– Real-time stream processing framework
– Spring IoC(Inversion of Control) container
5
Pulsar's Building Block (Cont.)
(basic framework)
6
Pulsar's Building Block (Cont.)
(basic framework)
● Jetstream's key points
– CEP capabilities through Esper integration.
– Define processing logic in SQL
– Extends SQL functionality and pipeline flow routing using SQL
– Hot deploy SQL without restarting applications
– Spring IoC enabling dynamic topology changes at runtime
– Clustering with elastic scaling
– Cloud deployment
7
Pulsar Real-time Analytics Pipeline
● Collector : Ingests events through a Rest end point
● Sessionizer : Sessionizes the events, maintaining the session state and generating marker events
● Distributor : Filters and mutates events to different consumers; acts as an event router
● Metrics Calculator : Calculates metrics by various dimensions and persists them in the metrics store
● Reply : Replays the failed events on other stages
● ConfigApp : Configures dynamic provisioning for the whole pipeline
8
1) Collector
● Supports REST API to ingest events
● Geo and device classification enrichment
● Detects fraud and bot
● Streams the enriched events to Sessionizer stage
PulsarRawEvent:A
“si”: “UUID”
"ipv4": "ip",
...
"itmP":”itmPrice”,
"capQ":”cmapaignQuantity”
PulsarEvent:A
“device” : “deviceinfo”,
“geo” : “geoinfo”,
“raw” : “PulsarRawEvent:A”
Enrichment
9
2) Sessionizer
● A process of temporal grouping of events
containing a specific identifier referred to as session
duration
● Session metadata and state
● Session store (in-memory cache)
PulsarEvent:A
“device” : “deviceinfo”,
“geo” : “geoinfo”,
“raw” : “PulsarRawEvent:A”
Sessionization
PulsarEvent:A
“device” : “deviceinfo”,
“geo” : “geoinfo”,
“raw” : “PulsarRawEvent:A”
Metadata:A
sessionId,
PageId,
geo-loc,
device,
etc..
10
3) Distributor
● Event filtering, mutation and routing
distributes
PulsarEvent:A
“si” : “AAAAAA”,
“device” : “deviceinfo”,
“geo” : “geoinfo”,
“raw” : “PulsarRawEvent:A”
@OutputTo("OutboundMessageChannel")
@ClusterAffinityTag(colname="si")
@PublishOn(topics="Pulsar.MC/ssnzEvent")
select * from PulsarEvent;
Outbound
Message
Channel
Inbound
Message
Channel
Inbound
Message
Channel
"Pulsar.MC/ssnzEvent"
PulsarEvent:B
“si” : “BBBBBB”,
“device” : “deviceinfo”,
“geo” : “geoinfo”,
“raw” : “PulsarRawEvent:A”
11
● Real-time metrics computation engine(Esper)
● Metrics are stored into Cassandra for batch processing
4) Metrics Calculator
context MCContext
insert into PulsarEventCount
Select count(*) as count from PulsarEvent output snapshot when terminated;
@BroadCast
@OutputTo("OutboundMessageChannel")
@PublishOn(topics="Pulsar.Report/metric")
select * from PulsarEventCount;
calculates PulsarEventCount:C
“count”: 2
Outbound
Message
Channel
Inbound
Message
Channel
"Pulsar.Report/metric"
12
5) Replay
● Every stage, events are stored in Kafka
● and Replays the failed events on other stages
13
2. Demo
(Twitter stream processing)
Twitter
Stream
Twitter Stream
Collector
14
EPLs (Context)
context MCContext
insert into TwitterTopCountryCount
Select count(*) as count, country from TwitterSample(country is not null) group by country output
snapshot when terminated order by count(*) desc limit 10;
context MCContext
insert into TwitterTopLangCount
Select count(*) as count, lang from TwitterSample(lang is not null) group by lang output snapshot when
terminated order by count(*) desc limit 10;
context MCContext
insert into TwitterTopHashTagCount
Select topKNested(1000, 20, hashtag, ',') as TopHashTag from TwitterSample(hashtag is not null) output
snapshot when terminated;
context MCContext
insert into TwitterEventCount
Select count(*) as count from TwitterSample output snapshot when terminated;
15
EPLs (Select)
@BroadCast
@OutputTo("OutboundMessageChannel")
@PublishOn(topics="Pulsar.Report/metric")
select * from TwitterTopCountryCount;
@BroadCast
@OutputTo("OutboundMessageChannel")
@PublishOn(topics="Pulsar.Report/metric")
select * from TwitterTopLangCount;
@BroadCast
@OutputTo("OutboundMessageChannel")
@PublishOn(topics="Pulsar.Report/metric")
select * from TwitterTopHashTagCount;
@BroadCast
@OutputTo("OutboundMessageChannel")
@PublishOn(topics="Pulsar.Report/metric")
select * from TwitterEventCount;
16
http://<hostname>:8088
Dashboard
17
3. Pulsar's key points
● Creating pipelines declaratively
● SQL driven processing logic with hot deployment of SQL
● Framework for custom SQL extensions
● Dynamic partitioning and flow control
● < 100 millisecond pipeline latency
● 99.99% Availability
● < 0.01% data loss
● Cloud deployable
18
4. Other Stream Processing Frameworks
● Storm(Trident)
– Storm Transactional Topology
– Stateful
● Storm(Esper)
– Our solution developed in NexR Project
– Integrates Esper
● Apache Spark
– Fast and general cluster computing platform for Big Data
– Support SQL
19
Storm(+Esper) / Spark vs Pulsar
Points Pulsar Storm(Trident) Storm(Esper) Spark
Declarative pipeline wiring O X X X
Pipeline stitching Run time Build time Build time Build time
Hot deployment of
topologies
O X X X
SQL support O X O O
Hot deployment of
processing rules
O X O X
Pipeline flow control O △ △ ?
Stateful processing O O △ O
<http://gopulsar.io/docs/Pulsar_Presentation.pdf>
20
References
● http://www.ebaytechblog.com/2015/02/23/announci
ng-pulsar-real-time-analytics-at-
scale/#.VQIuqBCsVW2
● http://gopulsar.io/
● https://github.com/pulsarIO/realtime-analytics/wiki
● http://gopulsar.io/html/docs.html
● https://spark.apache.org/
● https://storm.apache.org/
● http://www.espertech.com/
21
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka
Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache KafkaKafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka
Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafkaconfluent
 
Kafka, Killer of Point-to-Point Integrations, Lucian Lita
Kafka, Killer of Point-to-Point Integrations, Lucian LitaKafka, Killer of Point-to-Point Integrations, Lucian Lita
Kafka, Killer of Point-to-Point Integrations, Lucian Litaconfluent
 
Streaming ETL to Elastic with Apache Kafka and KSQL
Streaming ETL to Elastic with Apache Kafka and KSQLStreaming ETL to Elastic with Apache Kafka and KSQL
Streaming ETL to Elastic with Apache Kafka and KSQLconfluent
 
Self-Service Apache Spark Structured Streaming Applications and Analytics
Self-Service Apache Spark Structured Streaming Applications and AnalyticsSelf-Service Apache Spark Structured Streaming Applications and Analytics
Self-Service Apache Spark Structured Streaming Applications and AnalyticsDatabricks
 
Bringing olap fully online analyze changing datasets in mem sql and spark wi...
Bringing olap fully online  analyze changing datasets in mem sql and spark wi...Bringing olap fully online  analyze changing datasets in mem sql and spark wi...
Bringing olap fully online analyze changing datasets in mem sql and spark wi...SingleStore
 
Kafka and Stream Processing, Taking Analytics Real-time, Mike Spicer
Kafka and Stream Processing, Taking Analytics Real-time, Mike SpicerKafka and Stream Processing, Taking Analytics Real-time, Mike Spicer
Kafka and Stream Processing, Taking Analytics Real-time, Mike Spicerconfluent
 
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013Amazon Web Services
 
Scalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERShuyi Chen
 
The evolution of the big data platform @ Netflix (OSCON 2015)
The evolution of the big data platform @ Netflix (OSCON 2015)The evolution of the big data platform @ Netflix (OSCON 2015)
The evolution of the big data platform @ Netflix (OSCON 2015)Eva Tse
 
Hadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
Hadoop made fast - Why Virtual Reality Needed Stream Processing to SurviveHadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
Hadoop made fast - Why Virtual Reality Needed Stream Processing to Surviveconfluent
 
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...Databricks
 
Live Coding a KSQL Application
Live Coding a KSQL ApplicationLive Coding a KSQL Application
Live Coding a KSQL Applicationconfluent
 
PowerStream Demo
PowerStream DemoPowerStream Demo
PowerStream DemoSingleStore
 
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick EvansRealtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick EvansSpark Summit
 
Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...
Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...
Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...Databricks
 
A Tour of Apache Kafka
A Tour of Apache KafkaA Tour of Apache Kafka
A Tour of Apache Kafkaconfluent
 
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017Monal Daxini
 
Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017
Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017
Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017Big Data Spain
 

Was ist angesagt? (20)

Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka
Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache KafkaKafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka
Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka
 
Kafka, Killer of Point-to-Point Integrations, Lucian Lita
Kafka, Killer of Point-to-Point Integrations, Lucian LitaKafka, Killer of Point-to-Point Integrations, Lucian Lita
Kafka, Killer of Point-to-Point Integrations, Lucian Lita
 
Streaming ETL to Elastic with Apache Kafka and KSQL
Streaming ETL to Elastic with Apache Kafka and KSQLStreaming ETL to Elastic with Apache Kafka and KSQL
Streaming ETL to Elastic with Apache Kafka and KSQL
 
Self-Service Apache Spark Structured Streaming Applications and Analytics
Self-Service Apache Spark Structured Streaming Applications and AnalyticsSelf-Service Apache Spark Structured Streaming Applications and Analytics
Self-Service Apache Spark Structured Streaming Applications and Analytics
 
Bringing olap fully online analyze changing datasets in mem sql and spark wi...
Bringing olap fully online  analyze changing datasets in mem sql and spark wi...Bringing olap fully online  analyze changing datasets in mem sql and spark wi...
Bringing olap fully online analyze changing datasets in mem sql and spark wi...
 
Kafka and Stream Processing, Taking Analytics Real-time, Mike Spicer
Kafka and Stream Processing, Taking Analytics Real-time, Mike SpicerKafka and Stream Processing, Taking Analytics Real-time, Mike Spicer
Kafka and Stream Processing, Taking Analytics Real-time, Mike Spicer
 
Stream Processing Overview
Stream Processing OverviewStream Processing Overview
Stream Processing Overview
 
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
Maximizing Audience Engagement in Media Delivery (MED303) | AWS re:Invent 2013
 
Scalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBER
 
The evolution of the big data platform @ Netflix (OSCON 2015)
The evolution of the big data platform @ Netflix (OSCON 2015)The evolution of the big data platform @ Netflix (OSCON 2015)
The evolution of the big data platform @ Netflix (OSCON 2015)
 
Hadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
Hadoop made fast - Why Virtual Reality Needed Stream Processing to SurviveHadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
Hadoop made fast - Why Virtual Reality Needed Stream Processing to Survive
 
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
 
Live Coding a KSQL Application
Live Coding a KSQL ApplicationLive Coding a KSQL Application
Live Coding a KSQL Application
 
PowerStream Demo
PowerStream DemoPowerStream Demo
PowerStream Demo
 
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick EvansRealtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
 
Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...
Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...
Dynamic Priorities for Apache Spark Application’s Resource Allocations with M...
 
A Tour of Apache Kafka
A Tour of Apache KafkaA Tour of Apache Kafka
A Tour of Apache Kafka
 
IoT Austin CUG talk
IoT Austin CUG talkIoT Austin CUG talk
IoT Austin CUG talk
 
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017
AWS Re-Invent 2017 Netflix Keystone SPaaS - Monal Daxini - Abd320 2017
 
Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017
Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017
Tuning Java Driver for Apache Cassandra by Nenad Bozic at Big Data Spain 2017
 

Andere mochten auch

소셜데이터의 재구성
소셜데이터의 재구성소셜데이터의 재구성
소셜데이터의 재구성Hyun Namgoong
 
Semantic web and Linked Data
Semantic web and Linked DataSemantic web and Linked Data
Semantic web and Linked DataHyun Namgoong
 
Graphing Your Data
Graphing Your DataGraphing Your Data
Graphing Your DataAlex Meadows
 
SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...
SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...
SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...The Research Council of Norway, IKTPLUSS
 
빅데이터와 인문융합 비즈니스 모델
빅데이터와 인문융합 비즈니스 모델빅데이터와 인문융합 비즈니스 모델
빅데이터와 인문융합 비즈니스 모델JM code group
 
QCon San Francisco 2011: Agility in eBay
QCon San Francisco 2011: Agility in eBayQCon San Francisco 2011: Agility in eBay
QCon San Francisco 2011: Agility in eBayDeepak Nadig
 
Optimizing eBay - Improving customer experience at the world’s online marketp...
Optimizing eBay - Improving customer experience at the world’s online marketp...Optimizing eBay - Improving customer experience at the world’s online marketp...
Optimizing eBay - Improving customer experience at the world’s online marketp...Deepak Nadig
 
[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상
[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상
[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상K data
 
Korean manual for nodexl fb, flickr, twitter, youtube, wiki
Korean manual for nodexl fb, flickr, twitter, youtube, wikiKorean manual for nodexl fb, flickr, twitter, youtube, wiki
Korean manual for nodexl fb, flickr, twitter, youtube, wikiHan Woo PARK
 

Andere mochten auch (10)

Extreme Analytics @ eBay
Extreme Analytics @ eBayExtreme Analytics @ eBay
Extreme Analytics @ eBay
 
소셜데이터의 재구성
소셜데이터의 재구성소셜데이터의 재구성
소셜데이터의 재구성
 
Semantic web and Linked Data
Semantic web and Linked DataSemantic web and Linked Data
Semantic web and Linked Data
 
Graphing Your Data
Graphing Your DataGraphing Your Data
Graphing Your Data
 
SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...
SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...
SESAM4 - A guide to semantics in the Linked Open Data cloud, Robert HP Engels...
 
빅데이터와 인문융합 비즈니스 모델
빅데이터와 인문융합 비즈니스 모델빅데이터와 인문융합 비즈니스 모델
빅데이터와 인문융합 비즈니스 모델
 
QCon San Francisco 2011: Agility in eBay
QCon San Francisco 2011: Agility in eBayQCon San Francisco 2011: Agility in eBay
QCon San Francisco 2011: Agility in eBay
 
Optimizing eBay - Improving customer experience at the world’s online marketp...
Optimizing eBay - Improving customer experience at the world’s online marketp...Optimizing eBay - Improving customer experience at the world’s online marketp...
Optimizing eBay - Improving customer experience at the world’s online marketp...
 
[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상
[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상
[2016 데이터 그랜드 컨퍼런스] 2 4(빅데이터). 오픈메이트 공간정보로 풀어보는 빅데이터 세상
 
Korean manual for nodexl fb, flickr, twitter, youtube, wiki
Korean manual for nodexl fb, flickr, twitter, youtube, wikiKorean manual for nodexl fb, flickr, twitter, youtube, wiki
Korean manual for nodexl fb, flickr, twitter, youtube, wiki
 

Ähnlich wie eBay Pulsar: Real-time analytics platform

Visualizing Big Data in Realtime
Visualizing Big Data in RealtimeVisualizing Big Data in Realtime
Visualizing Big Data in RealtimeDataWorks Summit
 
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT ManagementApache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT ManagementApache StreamPipes
 
Autoscaling in kubernetes v1
Autoscaling in kubernetes v1Autoscaling in kubernetes v1
Autoscaling in kubernetes v1JurajHantk
 
Spark what's new what's coming
Spark what's new what's comingSpark what's new what's coming
Spark what's new what's comingDatabricks
 
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021StreamNative
 
RTAS 2023: Building a Real-Time IoT Application
RTAS 2023:  Building a Real-Time IoT ApplicationRTAS 2023:  Building a Real-Time IoT Application
RTAS 2023: Building a Real-Time IoT ApplicationTimothy Spann
 
Integrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applicationsIntegrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applicationsthelabdude
 
Stream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdaysStream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdaysSmartNews, Inc.
 
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.Cisco DevNet
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE
 
Presto anatomy
Presto anatomyPresto anatomy
Presto anatomyDongmin Yu
 
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...Timothy Spann
 
nuclio Overview October 2017
nuclio Overview October 2017nuclio Overview October 2017
nuclio Overview October 2017iguazio
 
iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)Eran Duchan
 
Apache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya MeetupApache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya MeetupRobert Metzger
 
Introduction to WSO2 Data Analytics Platform
Introduction to  WSO2 Data Analytics PlatformIntroduction to  WSO2 Data Analytics Platform
Introduction to WSO2 Data Analytics PlatformSrinath Perera
 
Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Anyscale
 
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0WSO2
 
Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)Stephan Ewen
 

Ähnlich wie eBay Pulsar: Real-time analytics platform (20)

Visualizing Big Data in Realtime
Visualizing Big Data in RealtimeVisualizing Big Data in Realtime
Visualizing Big Data in Realtime
 
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT ManagementApache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT Management
 
Autoscaling in kubernetes v1
Autoscaling in kubernetes v1Autoscaling in kubernetes v1
Autoscaling in kubernetes v1
 
Spark what's new what's coming
Spark what's new what's comingSpark what's new what's coming
Spark what's new what's coming
 
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
Apache Pulsar with MQTT for Edge Computing - Pulsar Summit Asia 2021
 
RTAS 2023: Building a Real-Time IoT Application
RTAS 2023:  Building a Real-Time IoT ApplicationRTAS 2023:  Building a Real-Time IoT Application
RTAS 2023: Building a Real-Time IoT Application
 
Integrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applicationsIntegrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applications
 
Stream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdaysStream Processing in SmartNews #jawsdays
Stream Processing in SmartNews #jawsdays
 
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
Presto anatomy
Presto anatomyPresto anatomy
Presto anatomy
 
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
Designing Event-Driven Applications with Apache NiFi, Apache Flink, Apache Sp...
 
nuclio Overview October 2017
nuclio Overview October 2017nuclio Overview October 2017
nuclio Overview October 2017
 
iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)
 
Apache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya MeetupApache Flink @ Tel Aviv / Herzliya Meetup
Apache Flink @ Tel Aviv / Herzliya Meetup
 
Introduction to WSO2 Data Analytics Platform
Introduction to  WSO2 Data Analytics PlatformIntroduction to  WSO2 Data Analytics Platform
Introduction to WSO2 Data Analytics Platform
 
Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0
 
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
 
Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)Flink 0.10 @ Bay Area Meetup (October 2015)
Flink 0.10 @ Bay Area Meetup (October 2015)
 
Ceilometer + Heat = Alarming
Ceilometer + Heat = Alarming Ceilometer + Heat = Alarming
Ceilometer + Heat = Alarming
 

Kürzlich hochgeladen

+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...Health
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...gajnagarg
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numberssuginr1
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...gajnagarg
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1ranjankumarbehera14
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...nirzagarg
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...SOFTTECHHUB
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdfkhraisr
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制vexqp
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabiaahmedjiabur940
 
Kings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about themKings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about themeitharjee
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangeThinkInnovation
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...gajnagarg
 
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...HyderabadDolls
 
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...HyderabadDolls
 

Kürzlich hochgeladen (20)

+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbers
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In dimapur [ 7014168258 ] Call Me For Genuine Models W...
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Kings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about themKings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about them
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
 
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
 

eBay Pulsar: Real-time analytics platform

  • 1. eBay Pulsar (Real-time Analytics Platform) 2015.03.13 mo@embian.com 양경모
  • 2. 2 Agenda 1. What is Pulsar ? 2. Twitter stream processing demo 3. Key points 4. Other platforms
  • 3. 3 1. What is Pulsar ? ● Developed by eBay ● Real-time analytics platform ● Stream processing framework ● Scalability – Scale to tens of millions of events per second ● Availability – No downtime during software upgrade, stream processing of rules and topology changes ● Flexibility – SQL-like language and annotations for defining stream processing rules
  • 4. 4 Pulsar's Building Block (basic framework) ● Jetstream – Real-time stream processing framework – Spring IoC(Inversion of Control) container
  • 5. 5 Pulsar's Building Block (Cont.) (basic framework)
  • 6. 6 Pulsar's Building Block (Cont.) (basic framework) ● Jetstream's key points – CEP capabilities through Esper integration. – Define processing logic in SQL – Extends SQL functionality and pipeline flow routing using SQL – Hot deploy SQL without restarting applications – Spring IoC enabling dynamic topology changes at runtime – Clustering with elastic scaling – Cloud deployment
  • 7. 7 Pulsar Real-time Analytics Pipeline ● Collector : Ingests events through a Rest end point ● Sessionizer : Sessionizes the events, maintaining the session state and generating marker events ● Distributor : Filters and mutates events to different consumers; acts as an event router ● Metrics Calculator : Calculates metrics by various dimensions and persists them in the metrics store ● Reply : Replays the failed events on other stages ● ConfigApp : Configures dynamic provisioning for the whole pipeline
  • 8. 8 1) Collector ● Supports REST API to ingest events ● Geo and device classification enrichment ● Detects fraud and bot ● Streams the enriched events to Sessionizer stage PulsarRawEvent:A “si”: “UUID” "ipv4": "ip", ... "itmP":”itmPrice”, "capQ":”cmapaignQuantity” PulsarEvent:A “device” : “deviceinfo”, “geo” : “geoinfo”, “raw” : “PulsarRawEvent:A” Enrichment
  • 9. 9 2) Sessionizer ● A process of temporal grouping of events containing a specific identifier referred to as session duration ● Session metadata and state ● Session store (in-memory cache) PulsarEvent:A “device” : “deviceinfo”, “geo” : “geoinfo”, “raw” : “PulsarRawEvent:A” Sessionization PulsarEvent:A “device” : “deviceinfo”, “geo” : “geoinfo”, “raw” : “PulsarRawEvent:A” Metadata:A sessionId, PageId, geo-loc, device, etc..
  • 10. 10 3) Distributor ● Event filtering, mutation and routing distributes PulsarEvent:A “si” : “AAAAAA”, “device” : “deviceinfo”, “geo” : “geoinfo”, “raw” : “PulsarRawEvent:A” @OutputTo("OutboundMessageChannel") @ClusterAffinityTag(colname="si") @PublishOn(topics="Pulsar.MC/ssnzEvent") select * from PulsarEvent; Outbound Message Channel Inbound Message Channel Inbound Message Channel "Pulsar.MC/ssnzEvent" PulsarEvent:B “si” : “BBBBBB”, “device” : “deviceinfo”, “geo” : “geoinfo”, “raw” : “PulsarRawEvent:A”
  • 11. 11 ● Real-time metrics computation engine(Esper) ● Metrics are stored into Cassandra for batch processing 4) Metrics Calculator context MCContext insert into PulsarEventCount Select count(*) as count from PulsarEvent output snapshot when terminated; @BroadCast @OutputTo("OutboundMessageChannel") @PublishOn(topics="Pulsar.Report/metric") select * from PulsarEventCount; calculates PulsarEventCount:C “count”: 2 Outbound Message Channel Inbound Message Channel "Pulsar.Report/metric"
  • 12. 12 5) Replay ● Every stage, events are stored in Kafka ● and Replays the failed events on other stages
  • 13. 13 2. Demo (Twitter stream processing) Twitter Stream Twitter Stream Collector
  • 14. 14 EPLs (Context) context MCContext insert into TwitterTopCountryCount Select count(*) as count, country from TwitterSample(country is not null) group by country output snapshot when terminated order by count(*) desc limit 10; context MCContext insert into TwitterTopLangCount Select count(*) as count, lang from TwitterSample(lang is not null) group by lang output snapshot when terminated order by count(*) desc limit 10; context MCContext insert into TwitterTopHashTagCount Select topKNested(1000, 20, hashtag, ',') as TopHashTag from TwitterSample(hashtag is not null) output snapshot when terminated; context MCContext insert into TwitterEventCount Select count(*) as count from TwitterSample output snapshot when terminated;
  • 15. 15 EPLs (Select) @BroadCast @OutputTo("OutboundMessageChannel") @PublishOn(topics="Pulsar.Report/metric") select * from TwitterTopCountryCount; @BroadCast @OutputTo("OutboundMessageChannel") @PublishOn(topics="Pulsar.Report/metric") select * from TwitterTopLangCount; @BroadCast @OutputTo("OutboundMessageChannel") @PublishOn(topics="Pulsar.Report/metric") select * from TwitterTopHashTagCount; @BroadCast @OutputTo("OutboundMessageChannel") @PublishOn(topics="Pulsar.Report/metric") select * from TwitterEventCount;
  • 17. 17 3. Pulsar's key points ● Creating pipelines declaratively ● SQL driven processing logic with hot deployment of SQL ● Framework for custom SQL extensions ● Dynamic partitioning and flow control ● < 100 millisecond pipeline latency ● 99.99% Availability ● < 0.01% data loss ● Cloud deployable
  • 18. 18 4. Other Stream Processing Frameworks ● Storm(Trident) – Storm Transactional Topology – Stateful ● Storm(Esper) – Our solution developed in NexR Project – Integrates Esper ● Apache Spark – Fast and general cluster computing platform for Big Data – Support SQL
  • 19. 19 Storm(+Esper) / Spark vs Pulsar Points Pulsar Storm(Trident) Storm(Esper) Spark Declarative pipeline wiring O X X X Pipeline stitching Run time Build time Build time Build time Hot deployment of topologies O X X X SQL support O X O O Hot deployment of processing rules O X O X Pipeline flow control O △ △ ? Stateful processing O O △ O <http://gopulsar.io/docs/Pulsar_Presentation.pdf>
  • 20. 20 References ● http://www.ebaytechblog.com/2015/02/23/announci ng-pulsar-real-time-analytics-at- scale/#.VQIuqBCsVW2 ● http://gopulsar.io/ ● https://github.com/pulsarIO/realtime-analytics/wiki ● http://gopulsar.io/html/docs.html ● https://spark.apache.org/ ● https://storm.apache.org/ ● http://www.espertech.com/