SlideShare una empresa de Scribd logo
1 de 41
Project Phoenix Stephen Rose Ashok Subramanian MongoUK March 21, 2011
Background Architecture Data-store Selection Implementation
What is Phoenix? 	“a platform that allows data to be transferred seamlessly to the people who want it, presented in the way they want to see it, regardless to the source, type or location of the inputs”
What sort of data? Time-series Sensor readings External data feeds Meta data Adding context Credits: http://commons.wikimedia.org/wiki/File:CPI-plot.png
What is Phoenix? 	“a web basedplatform capable of ingesting, combining, processing and distributing data - in real time”
Target Markets Smaller, cheaper, better connected Credits: http://www.flickr.com/photos/opensourceway/4370251113/ Credits: http://www.flickr.com/photos/juggerphotos/4562680976/in/photostream/
Why develop a new platform? No existing platforms for the use cases Typical solutions use Excel, SQL cannot cope with amount of data no real-time capability
Real-time Analysis COMPLEX EVENT PROCESSING STREAM COMPUTING Reporting Processing Big Data Target Customer BUSINESS INTELLIGENCE BATCHPROCESSING Batch Analysis
Real-time Analysis COMPLEX EVENT PROCESSING STREAM COMPUTING PHOENIXPLATFORM Reporting Processing Big Data Target Customer BUSINESS INTELLIGENCE BATCHPROCESSING Batch Analysis
Project Timelines 2010			                             Research Market Customers Design Architecture Data model Development 4 developers Rapid! Release Version 1 Phoenix local Q1			       	   Q2			        		 Q3	            			Q4
Background Architecture Data-store Selection Implementation
Data Model Credits: http://www.flickr.com/photos/nazly/5502884394/sizes/z/
Data Highways and Lanes Credits: http://www.flickr.com/photos/mhzmaster/965947834/sizes/z/
LATITUDE MY CAR LONGITUDE MPG MPG GFORCES GFORCES PASSENGER HEART RATE LATITUDE MY WIFE’S CAR LONGITUDE MPG MPG TEMPERATURE TEMPERATURE
Markers Credits: http://www.flickr.com/photos/rebelxt/5284536592/sizes/z/in/photostream/
STEVE’S WIFE DRIVING STEVE DRIVING LATITUDE MY CAR LONGITUDE MPG MPG G FORCE G FORCE
Architecture Phoenix  		   					Customer APPLICATION STREAM PROCESSOR ALGORITHMS DATASTORE DATA FEEDS
Offline and Cloud Credits: http://www.flickr.com/photos/noii/2327713880/
Background Architecture Data Store Selection Implementation
Selection Criteria Local and Cloud Use cases – time-series and marker Performance Query Community Maintenance Deployment
3 different categories
Data Stores Evaluated
Background Architecture Data Store Selection Implementation
Data Stores Phoenix  Customer APPLICATION STREAM PROCESSOR ALGORITHMS DATASTORE DATA FEEDS TIME SERIES MARKERS
Marker Store T I M E FROM FROM TO L I N K E D		H I G H W A Y S
Marker Store {	"fromId" : ”Athlete1", 	"toId" : ”Ergometer", 	"startTime" : 1, 	"endTime" : 50 } {	"fromId" : ”Athlete2", 	"toId" : ”Ergometer", 	"startTime" : 60, 	"endTime" : null } L I N K E D		H I G H W A Y S
Marker Store {	”deviceId" : ”1", 	”calibrationType" : ”sensor1", 	”validFrom" : 1, 	”validTo" : null 	“calibrations" : 		 	[	 			{”expected”: 10.0, 			“actual”: 12.9 			}, 			{”expected”: 50.0, 			“actual”: 61.7 			} 		] } C A L I B R A T I O N	M A R K E R S
Marker Store
Marker Store Stack Http JbossNettyWebserver JSON Java
Marker Store API JSON POST to /linkedhighway/create GET from /linkedhighway/findactive/{fromId} POST to /calibration/create GET from /calibration/{markerId}
Phoenix Data Store Ergometer Force Reading (Newtons) {X1, Y1} {Xn, Yn} Distance Travel (Metres) {X1, Y1} {Xn, Yn}
Phoenix Data Store {	“_id”: “HandleForce”, 	“xDomainType”: “SINT64”, 	“xUnits”:	“ms”, 	“yDomainType”:	“DOUBLE”, 	“yUnits”:	“N” } L A N E		M E T A D A T A
Phoenix Data Store {	”_id" : 1, 	”y" : 0 } {	“_id”: 2, 	“y”: 0.5 } {	“_id”: 3, 	“y”: 0.707 } {	“_id”: 4, 	“y”: 0.866 } {	“_id”: 5, 	“y”: 1 }… T I M E		S E R I E S
Phoenix Data Store
Phoenix Data Store Stack Tcp JbossNetty Server – NIO Google Protocol Buffers Java
Phoenix Data Store API Commit connect() openLane(…) persist(x, y) disconnect() Query connect() submitQuery(…) returns a Cursor disconnect() J A V A		C L I E N T
Performance
Phoenix Local AMD Athlon II 2.8GHz 64-bit 640GB 2.5” Hard Drive SATA 5400 rpm 2 X 2GB DDR3 Ubuntu 10.10 EXT4
Issues Faced No Journaling in Mongo 1.6 (Fixed in 1.8) Compression DB repair did not work once – unclean shutdown Assertion failure magic == 0x41424344 db/pdfile.h
Summary MongoDB - Does what it says on the tin
Thank You Questions? stephen.rose@mclaren.com ashok.subramanian@thoughtworks.com

Más contenido relacionado

Similar a Project Phoenix - MongoUK 2011

Big Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft AzureBig Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft AzureMark Kromer
 
Real-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQLReal-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQLSingleStore
 
WSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsWSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsSriskandarajah Suhothayan
 
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...Grid Dynamics
 
Big Data Processing Beyond MapReduce by Dr. Flavio Villanustre
Big Data Processing Beyond MapReduce by Dr. Flavio VillanustreBig Data Processing Beyond MapReduce by Dr. Flavio Villanustre
Big Data Processing Beyond MapReduce by Dr. Flavio VillanustreHPCC Systems
 
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with AnalyticsWSO2
 
Advanced Analytics and Machine Learning with Data Virtualization
Advanced Analytics and Machine Learning with Data VirtualizationAdvanced Analytics and Machine Learning with Data Virtualization
Advanced Analytics and Machine Learning with Data VirtualizationDenodo
 
WSO2 Data Analytics Server - Product Overview
WSO2 Data Analytics Server - Product OverviewWSO2 Data Analytics Server - Product Overview
WSO2 Data Analytics Server - Product OverviewWSO2
 
V like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure MLV like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure MLBarbara Fusinska
 
RA - Empower your Connected Enterprise with FactoryTalk.pptx
RA - Empower your Connected Enterprise with FactoryTalk.pptxRA - Empower your Connected Enterprise with FactoryTalk.pptx
RA - Empower your Connected Enterprise with FactoryTalk.pptxAjay Gangakhedkar
 
Time's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data NowTime's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data NowEric Kavanagh
 
Getting insights from IoT data with Apache Spark and Apache Bahir
Getting insights from IoT data with Apache Spark and Apache BahirGetting insights from IoT data with Apache Spark and Apache Bahir
Getting insights from IoT data with Apache Spark and Apache BahirLuciano Resende
 
Building the IOT Platform as a Service
Building the IOT Platform as a ServiceBuilding the IOT Platform as a Service
Building the IOT Platform as a ServiceJesus Rodriguez
 
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...confluent
 
[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming Apps[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming AppsWSO2
 
Unlock the Power of Streaming Data with Kinetica and Confluent Platform
Unlock the Power of Streaming Data with Kinetica and Confluent PlatformUnlock the Power of Streaming Data with Kinetica and Confluent Platform
Unlock the Power of Streaming Data with Kinetica and Confluent Platformconfluent
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsAdrian Hornsby
 
From measurement to knowledge with sofia2 Platform
From measurement to knowledge with sofia2 PlatformFrom measurement to knowledge with sofia2 Platform
From measurement to knowledge with sofia2 PlatformSofia2 Smart Platform
 

Similar a Project Phoenix - MongoUK 2011 (20)

Big Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft AzureBig Data Analytics in the Cloud with Microsoft Azure
Big Data Analytics in the Cloud with Microsoft Azure
 
Real-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQLReal-Time Analytics with Confluent and MemSQL
Real-Time Analytics with Confluent and MemSQL
 
WSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsWSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needs
 
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...Open Blueprint for Real-Time  Analytics in Retail: Strata Hadoop World 2017 S...
Open Blueprint for Real-Time Analytics in Retail: Strata Hadoop World 2017 S...
 
Big Data Processing Beyond MapReduce by Dr. Flavio Villanustre
Big Data Processing Beyond MapReduce by Dr. Flavio VillanustreBig Data Processing Beyond MapReduce by Dr. Flavio Villanustre
Big Data Processing Beyond MapReduce by Dr. Flavio Villanustre
 
Analytics&IoT
Analytics&IoTAnalytics&IoT
Analytics&IoT
 
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
[WSO2Con EU 2017] Deriving Insights for Your Digital Business with Analytics
 
Advanced Analytics and Machine Learning with Data Virtualization
Advanced Analytics and Machine Learning with Data VirtualizationAdvanced Analytics and Machine Learning with Data Virtualization
Advanced Analytics and Machine Learning with Data Virtualization
 
WSO2 Data Analytics Server - Product Overview
WSO2 Data Analytics Server - Product OverviewWSO2 Data Analytics Server - Product Overview
WSO2 Data Analytics Server - Product Overview
 
V like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure MLV like Velocity, Predicting in Real-Time with Azure ML
V like Velocity, Predicting in Real-Time with Azure ML
 
RA - Empower your Connected Enterprise with FactoryTalk.pptx
RA - Empower your Connected Enterprise with FactoryTalk.pptxRA - Empower your Connected Enterprise with FactoryTalk.pptx
RA - Empower your Connected Enterprise with FactoryTalk.pptx
 
Time's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data NowTime's Up! Getting Value from Big Data Now
Time's Up! Getting Value from Big Data Now
 
Getting insights from IoT data with Apache Spark and Apache Bahir
Getting insights from IoT data with Apache Spark and Apache BahirGetting insights from IoT data with Apache Spark and Apache Bahir
Getting insights from IoT data with Apache Spark and Apache Bahir
 
Building the IOT Platform as a Service
Building the IOT Platform as a ServiceBuilding the IOT Platform as a Service
Building the IOT Platform as a Service
 
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
 
[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming Apps[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming Apps
 
Unlock the Power of Streaming Data with Kinetica and Confluent Platform
Unlock the Power of Streaming Data with Kinetica and Confluent PlatformUnlock the Power of Streaming Data with Kinetica and Confluent Platform
Unlock the Power of Streaming Data with Kinetica and Confluent Platform
 
Andersen portfolio
Andersen portfolio Andersen portfolio
Andersen portfolio
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 
From measurement to knowledge with sofia2 Platform
From measurement to knowledge with sofia2 PlatformFrom measurement to knowledge with sofia2 Platform
From measurement to knowledge with sofia2 Platform
 

Último

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Project Phoenix - MongoUK 2011

  • 1. Project Phoenix Stephen Rose Ashok Subramanian MongoUK March 21, 2011
  • 2. Background Architecture Data-store Selection Implementation
  • 3. What is Phoenix? “a platform that allows data to be transferred seamlessly to the people who want it, presented in the way they want to see it, regardless to the source, type or location of the inputs”
  • 4. What sort of data? Time-series Sensor readings External data feeds Meta data Adding context Credits: http://commons.wikimedia.org/wiki/File:CPI-plot.png
  • 5. What is Phoenix? “a web basedplatform capable of ingesting, combining, processing and distributing data - in real time”
  • 6. Target Markets Smaller, cheaper, better connected Credits: http://www.flickr.com/photos/opensourceway/4370251113/ Credits: http://www.flickr.com/photos/juggerphotos/4562680976/in/photostream/
  • 7. Why develop a new platform? No existing platforms for the use cases Typical solutions use Excel, SQL cannot cope with amount of data no real-time capability
  • 8. Real-time Analysis COMPLEX EVENT PROCESSING STREAM COMPUTING Reporting Processing Big Data Target Customer BUSINESS INTELLIGENCE BATCHPROCESSING Batch Analysis
  • 9. Real-time Analysis COMPLEX EVENT PROCESSING STREAM COMPUTING PHOENIXPLATFORM Reporting Processing Big Data Target Customer BUSINESS INTELLIGENCE BATCHPROCESSING Batch Analysis
  • 10. Project Timelines 2010 Research Market Customers Design Architecture Data model Development 4 developers Rapid! Release Version 1 Phoenix local Q1 Q2 Q3 Q4
  • 11. Background Architecture Data-store Selection Implementation
  • 12. Data Model Credits: http://www.flickr.com/photos/nazly/5502884394/sizes/z/
  • 13. Data Highways and Lanes Credits: http://www.flickr.com/photos/mhzmaster/965947834/sizes/z/
  • 14. LATITUDE MY CAR LONGITUDE MPG MPG GFORCES GFORCES PASSENGER HEART RATE LATITUDE MY WIFE’S CAR LONGITUDE MPG MPG TEMPERATURE TEMPERATURE
  • 16. STEVE’S WIFE DRIVING STEVE DRIVING LATITUDE MY CAR LONGITUDE MPG MPG G FORCE G FORCE
  • 17. Architecture Phoenix Customer APPLICATION STREAM PROCESSOR ALGORITHMS DATASTORE DATA FEEDS
  • 18. Offline and Cloud Credits: http://www.flickr.com/photos/noii/2327713880/
  • 19. Background Architecture Data Store Selection Implementation
  • 20. Selection Criteria Local and Cloud Use cases – time-series and marker Performance Query Community Maintenance Deployment
  • 23. Background Architecture Data Store Selection Implementation
  • 24. Data Stores Phoenix Customer APPLICATION STREAM PROCESSOR ALGORITHMS DATASTORE DATA FEEDS TIME SERIES MARKERS
  • 25. Marker Store T I M E FROM FROM TO L I N K E D H I G H W A Y S
  • 26. Marker Store { "fromId" : ”Athlete1", "toId" : ”Ergometer", "startTime" : 1, "endTime" : 50 } { "fromId" : ”Athlete2", "toId" : ”Ergometer", "startTime" : 60, "endTime" : null } L I N K E D H I G H W A Y S
  • 27. Marker Store { ”deviceId" : ”1", ”calibrationType" : ”sensor1", ”validFrom" : 1, ”validTo" : null “calibrations" : [ {”expected”: 10.0, “actual”: 12.9 }, {”expected”: 50.0, “actual”: 61.7 } ] } C A L I B R A T I O N M A R K E R S
  • 29. Marker Store Stack Http JbossNettyWebserver JSON Java
  • 30. Marker Store API JSON POST to /linkedhighway/create GET from /linkedhighway/findactive/{fromId} POST to /calibration/create GET from /calibration/{markerId}
  • 31. Phoenix Data Store Ergometer Force Reading (Newtons) {X1, Y1} {Xn, Yn} Distance Travel (Metres) {X1, Y1} {Xn, Yn}
  • 32. Phoenix Data Store { “_id”: “HandleForce”, “xDomainType”: “SINT64”, “xUnits”: “ms”, “yDomainType”: “DOUBLE”, “yUnits”: “N” } L A N E M E T A D A T A
  • 33. Phoenix Data Store { ”_id" : 1, ”y" : 0 } { “_id”: 2, “y”: 0.5 } { “_id”: 3, “y”: 0.707 } { “_id”: 4, “y”: 0.866 } { “_id”: 5, “y”: 1 }… T I M E S E R I E S
  • 35. Phoenix Data Store Stack Tcp JbossNetty Server – NIO Google Protocol Buffers Java
  • 36. Phoenix Data Store API Commit connect() openLane(…) persist(x, y) disconnect() Query connect() submitQuery(…) returns a Cursor disconnect() J A V A C L I E N T
  • 38. Phoenix Local AMD Athlon II 2.8GHz 64-bit 640GB 2.5” Hard Drive SATA 5400 rpm 2 X 2GB DDR3 Ubuntu 10.10 EXT4
  • 39. Issues Faced No Journaling in Mongo 1.6 (Fixed in 1.8) Compression DB repair did not work once – unclean shutdown Assertion failure magic == 0x41424344 db/pdfile.h
  • 40. Summary MongoDB - Does what it says on the tin
  • 41. Thank You Questions? stephen.rose@mclaren.com ashok.subramanian@thoughtworks.com

Notas del editor

  1. generic
  2. Increased connectivityCheaper, smaller sensorsNew computing techniques
  3. Each sensor manufacturer creates a custom tool to view data from that sensor
  4. Relative performance of the different types of data stores with BerkeleyDB as the baseline to benchmark against