SlideShare a Scribd company logo
page
HOW TO BUILD REAL-TIME STREAMING
ANALYTICS WITH AN IN-MEMORY, SCALE-OUT
SQL DATABASE
Ryan Betts, CTO
VoltDB
1
page© 2015 VoltDB PROPRIETARY
OUR SPEAKER
Ryan Betts
CTO at VoltDB
2
page
© 2015 VoltDB PROPRIETARY
page
AGENDA
• Setup: Fast vs. Big
• Fast data application requirements
• The role of analytics
• Concrete examples
3
page© 2015 VoltDB PROPRIETARY
Collect Explore
AnalyzeAct
4
Big Data analytic results:
1. Discoveries: seasonal predictions,
scientific results, long-term
capacity planning
1. Optimizations: market
segmentation, fraud heuristics,
optimal customer journey
page© 2015 VoltDB PROPRIETARYEnterprise Apps
ETL
CRM ERP Etc.
Data Lake (HDFS)
BIG DATA
Non Relational
Processing
BI Reporting
Fast Operational
Database
FAST DATA
Export
Ingest /
Interactive
Real-time
Analytics
Fast Serve
Analytics
Decisioning
Data Warehouse
Columnar
Analytics OLAP
DATA ARCHITECTURE FOR FAST + BIG DATA
page© 2015 VoltDB PROPRIETARY 6
Fast (in motion)
Streaming Analytics:
real time summary and
aggregation
Transaction Processing:
per-event decisions using
context + history
Big (at rest)
Exploration:
data science, investigation of
large data sets
Reporting:
recommendation matrices,
search indexes, trend and BI
page© 2015 VoltDB PROPRIETARY
MODERN OLTP
7
1. Processing streams requires integrated access to state.
2. Using real time analytics requires a query interface.
3. Reacting to incoming events requires transactions.
State + Query + Transactions = OLTP
Fast
Streaming Analytics
Transaction Processing
page© 2015 VoltDB PROPRIETARY 8
Continuous Query Transactions Transformations
• Materialized Views
• Capped Tables
• Ranking Indexes
• Per-event Java +
SQL
• ACID processing
• Millisecond
latency responses
• Loaders/Importers
• Export Connectors
• State for
sessionization,
enrichment
VoltDB Architecture
Commodity HW HA + ACID Scale-out VM-friendly
page© 2015 VoltDB PROPRIETARY
MATERIALIZED VIEWS
• Declarative SQL
• Fully transactional
• Supports ad-hoc query
9
CREATE VIEW registrations_by_zipcode (
zipcode, registered_voters
) AS
SELECT zipcode, count(*) from voters
where registration=1 GROUP BY zipcode;
page© 2015 VoltDB PROPRIETARY
MV FOR STREAMING AGGREGATION
• Partitioned on cluster
• Immediately up-to-date
• Active/active HA
10
Global Read: SELECT
sum(count) WHERE sec > 130
and sec < 140;
page© 2015 VoltDB PROPRIETARY
MATERIALIZED VIEWS WITH ACID TRANSACTIONS
• Can be queried as part of a
transaction
• Example: fast quota
enforcement
11
1-partition throughput (transactions/second)
10GB of data being aggregated.
page© 2015 VoltDB PROPRIETARY
CAPPED COLLECTIONS
• Simple windows
• Durable, queryable
• Support Mat. Views
12
page© 2015 VoltDB PROPRIETARY
RANKING INDEXES FOR LEADERBOARDS
• Sorted indexes are ordered
statistic trees for O(log(n))
ranking
• Quickly find overall rank
• Quickly count items in range
13
SELECT COUNT(*) FROM scores WHERE score > 281;
SELECT COUNT(*) FROM scores WHERE score >= 10 AND score <= 200;
page© 2015 VoltDB PROPRIETARY
SQL SUPPORT
14
http://downloads.voltdb.com/documentation/TriFoldDevQuickRef.pdf
• ALTER TABLE|CONSTRAINT|COLUMN|PROCEDURE
• UNIQUE, MULTI-KEY INDEXES
• INDEXES ON COLUMN FUNCTIONS
• SQL ONLY DDL STORED PROCEDURES
• JAVA STORED PROCEDURES
• AUTO-GENERATED CRUD COMMANDS + REST API
• MATERIALIZED VIEWS
• SUBQUERY, UPSERT|INTO, JOIN, SELF-JOIN, INSERT SELECT
• ~60 COLUMN FUNCTIONS
page© 2015 VoltDB PROPRIETARY
COMBINED JAVA + SQL
• Logic + SQL
• 3rd party code
15
VoltDB architecture
Commodity HW HA + ACID Scale-out VM-friendly
page© 2015 VoltDB PROPRIETARY
ACID PROCESSING
• Sync intra-cluster replication
• Replicated durability
• High availability (configurable)
• Serializable isolation
• Atomic ad-hoc or stored procedures
• Partitioned & distributed txns
• Load balanced reads across replicas
16
page© 2015 VoltDB PROPRIETARY
ACID MATTERS
• Speed of development
• Richness of application
• Obvious for billing, policy enforcement, authorization
• Equally necessary for aggregation
• Update in place desirable vs. batch process for ingest
17
page© 2015 VoltDB PROPRIETARY
Performance – millisecond per-event responses
SoftLayer: Update and Read Latency
Latency(ms)
Throughput (ops/sec)
SoftLayer
AWS
YCSB Workload B – SoftLayer vs AWS
page© 2015 VoltDB PROPRIETARY
INTEGRATING DATA SOURCES WITH VOLTDB
• CSV loader
• Kafka loader
• JDBC loader
• Vertica UDx
• Extensible loader API
• JDBC
• ODBC
• HTTP JSON
• Native client drivers / SDKs
BULK LOADERS APPLICATION INTERFACES
page© 2015 VoltDB PROPRIETARY
VOLTDB EXPORT UI
CREATE TABLE events (
EventID INTEGER,
time TIMESTAMP,
msg VARCHAR(128));
EXPORT TABLE events;
20
<export enabled="true" target="file">
ddl.sql
deployment.xmlINSERT into TABLE values…
Application SQL
page© 2015 VoltDB PROPRIETARY
INTEGRATING VOLTDB WITH EXPORT TARGETS
21
• Local file system export
• JDBC export
• Kafka export
• RabbitMQ export
• HDFS export
• HTTP export
• Extensible API
page© 2015 VoltDB PROPRIETARY
EXTENSIBLE OPEN SOURCE API
22
public void onBlockStart() throws RestartBlockException;{
}
public boolean processRow(int rowSize, byte[] rowData) throws RestartBlockException {
}
public void onBlockCompletion() throws RestartBlockException {
}
VoltDB architecture
Commodity HW HA + ACID Scale-out VM-friendly
page© 2015 VoltDB PROPRIETARY
REVIEW
Application
Event
Sources
VoltDB
Client
Interface
Partition
Replica 1
Partition
Replica 2
Export
Destination
(OLAP,
HTTP)
• SQL + Java transactions
• JSON column values
• HA in-memory processing
• ACID (durable to disk)
• Ranking indexes
• Indexes on functions
• Capped tables
• Mat. views: RT aggregation
• Append only export
• 1-5 ms @ 99% responses
page© 2015 VoltDB PROPRIETARY
BIGGER PICTURE
24
page© 2015 VoltDB PROPRIETARY 25
page© 2015 VoltDB PROPRIETARY
QUESTIONS?
• Use the chat window to type in your questions
• Try VoltDB yourself:
 Download the Enterprise Edition:
• www.voltdb.com/download
 Check out our Sample Apps:
• www.voltdb.com/community/applications
 Open source version is available on github.com
26
page© 2015 VoltDB PROPRIETARY page
THANK YOU!
27

More Related Content

What's hot (20)

PDF
How to Build Cloud-based Microservice Environments with Docker and VoltDB
VoltDB
 
PDF
Pipelining the Heroes with Kafka and Graph
confluent
 
PDF
Acting on Real-time Behavior: How Peak Games Won Transactions
VoltDB
 
PDF
Why you really want SQL in a Real-Time Enterprise Environment
VoltDB
 
PDF
Arguments for a Unified IoT Architecture
VoltDB
 
PDF
Mike Stonebraker on Designing An Architecture For Real-time Event Processing
VoltDB
 
PDF
Transforming Your Business with Fast Data – Five Use Case Examples
VoltDB
 
PDF
Ingesting IoT data in Food Processing
confluent
 
PDF
Stored Procedure Superpowers: A Developer’s Guide
VoltDB
 
PDF
Eat Your Data and Have It Too: Get the Blazing Performance of In-Memory Opera...
VoltDB
 
PDF
Kyle Kingsbury Talks about the Jepsen Test: What VoltDB Learned About Data Ac...
VoltDB
 
PPTX
Achieving Real-Time Analytics at Hermes | Zulf Qureshi, HVR and Dr. Stefan Ro...
HostedbyConfluent
 
PDF
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
confluent
 
PPTX
Building a Self-Service Big Data Pipeline
DataWorks Summit
 
PPTX
Securing and governing a multi-tenant data lake within the financial industry
DataWorks Summit
 
PPTX
Make streaming processing towards ANSI SQL
DataWorks Summit
 
PDF
Real time data processing and model inferncing platform with Kafka streams (N...
KafkaZone
 
PPTX
Monitoring @ scale over diverse data sources @ PayPal - Druid, TSDB, Hadoop
Senthil Pandurangan
 
PPTX
Streaming data in the cloud with Confluent and MongoDB Atlas | Robert Waters,...
HostedbyConfluent
 
PDF
Flink Forward Berlin 2017: Bas Geerdink, Martijn Visser - Fast Data at ING - ...
Flink Forward
 
How to Build Cloud-based Microservice Environments with Docker and VoltDB
VoltDB
 
Pipelining the Heroes with Kafka and Graph
confluent
 
Acting on Real-time Behavior: How Peak Games Won Transactions
VoltDB
 
Why you really want SQL in a Real-Time Enterprise Environment
VoltDB
 
Arguments for a Unified IoT Architecture
VoltDB
 
Mike Stonebraker on Designing An Architecture For Real-time Event Processing
VoltDB
 
Transforming Your Business with Fast Data – Five Use Case Examples
VoltDB
 
Ingesting IoT data in Food Processing
confluent
 
Stored Procedure Superpowers: A Developer’s Guide
VoltDB
 
Eat Your Data and Have It Too: Get the Blazing Performance of In-Memory Opera...
VoltDB
 
Kyle Kingsbury Talks about the Jepsen Test: What VoltDB Learned About Data Ac...
VoltDB
 
Achieving Real-Time Analytics at Hermes | Zulf Qureshi, HVR and Dr. Stefan Ro...
HostedbyConfluent
 
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
confluent
 
Building a Self-Service Big Data Pipeline
DataWorks Summit
 
Securing and governing a multi-tenant data lake within the financial industry
DataWorks Summit
 
Make streaming processing towards ANSI SQL
DataWorks Summit
 
Real time data processing and model inferncing platform with Kafka streams (N...
KafkaZone
 
Monitoring @ scale over diverse data sources @ PayPal - Druid, TSDB, Hadoop
Senthil Pandurangan
 
Streaming data in the cloud with Confluent and MongoDB Atlas | Robert Waters,...
HostedbyConfluent
 
Flink Forward Berlin 2017: Bas Geerdink, Martijn Visser - Fast Data at ING - ...
Flink Forward
 

Viewers also liked (7)

PDF
Building Fast Applications for Streaming Data
freshdatabos
 
PPTX
Hadoop at Tapad
Open Analytics
 
PDF
VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
VoltDB
 
PPT
Scalable Realtime Analytics with declarative SQL like Complex Event Processin...
Srinath Perera
 
PDF
Sessionization with Spark streaming
Ramūnas Urbonas
 
PDF
Understanding the Top Four Use Cases for IoT
VoltDB
 
PDF
Real Time Data Streaming using Kafka & Storm
Ran Silberman
 
Building Fast Applications for Streaming Data
freshdatabos
 
Hadoop at Tapad
Open Analytics
 
VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
VoltDB
 
Scalable Realtime Analytics with declarative SQL like Complex Event Processin...
Srinath Perera
 
Sessionization with Spark streaming
Ramūnas Urbonas
 
Understanding the Top Four Use Cases for IoT
VoltDB
 
Real Time Data Streaming using Kafka & Storm
Ran Silberman
 
Ad

Similar to How to Build Real-Time Streaming Analytics with an In-memory, Scale-out SQL Database (20)

PDF
How to build streaming data applications - evaluating the top contenders
Akmal Chaudhri
 
PDF
Powering Fast Data and the Hadoop Ecosystem with VoltDB and Hortonworks
Hortonworks
 
PDF
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...
NoSQLmatters
 
PPTX
SimplifyStreamingArchitecture
Maheedhar Gunturu
 
PDF
VoltDB 소개
Linux Foundation Korea
 
PPTX
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
Getting value from IoT, Integration and Data Analytics
 
PDF
Snowflake for Data Engineering
Harald Erb
 
PDF
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
VMware Tanzu
 
PDF
Introduction to hd insight
MSDEVMTL
 
PDF
Introduction to hd insight
MSDEVMTL
 
PDF
OTN EMEA TOUR 2016 - OBIEE12c New Features for End-Users, Developers and Sys...
Mark Rittman
 
PDF
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Databricks
 
PPTX
Hadoop @ LifeWay
jimforrester11
 
PDF
Trends and directions for application developers
Jørn Thyssen
 
PDF
Application trends db2 day 2015 jorn
Peter Schouboe
 
PDF
Why and How SmartNews uses SaaS?
Takumi Sakamoto
 
PDF
Serverless SQL
Torsten Steinbach
 
PPTX
Sweet Streams (Are made of this)
Corneil du Plessis
 
PPTX
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis
 
PDF
Big Data Ready Enterprise
DataWorks Summit/Hadoop Summit
 
How to build streaming data applications - evaluating the top contenders
Akmal Chaudhri
 
Powering Fast Data and the Hadoop Ecosystem with VoltDB and Hortonworks
Hortonworks
 
Akmal Chaudhri - How to Build Streaming Data Applications: Evaluating the Top...
NoSQLmatters
 
SimplifyStreamingArchitecture
Maheedhar Gunturu
 
VoltDB 소개
Linux Foundation Korea
 
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
Getting value from IoT, Integration and Data Analytics
 
Snowflake for Data Engineering
Harald Erb
 
Pivotal Digital Transformation Forum: Journey to Become a Data-Driven Enterprise
VMware Tanzu
 
Introduction to hd insight
MSDEVMTL
 
Introduction to hd insight
MSDEVMTL
 
OTN EMEA TOUR 2016 - OBIEE12c New Features for End-Users, Developers and Sys...
Mark Rittman
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Databricks
 
Hadoop @ LifeWay
jimforrester11
 
Trends and directions for application developers
Jørn Thyssen
 
Application trends db2 day 2015 jorn
Peter Schouboe
 
Why and How SmartNews uses SaaS?
Takumi Sakamoto
 
Serverless SQL
Torsten Steinbach
 
Sweet Streams (Are made of this)
Corneil du Plessis
 
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis
 
Big Data Ready Enterprise
DataWorks Summit/Hadoop Summit
 
Ad

More from VoltDB (11)

PDF
TripleLift: Preparing for a New Programmatic Ad-Tech World
VoltDB
 
PDF
Moving Beyond Batch: Transactional Databases for Real-time Data
VoltDB
 
PDF
Lambda-B-Gone: In-memory Case Study for Faster, Smarter and Simpler Answers
VoltDB
 
PDF
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...
VoltDB
 
PDF
How First to Value Beats First to Market: Case Studies of Fast Data Success
VoltDB
 
PPTX
Lessons Learned: The Impact of Fast Data for Personalization
VoltDB
 
PDF
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...
VoltDB
 
PDF
Understanding the Operational Database Infrastructure for IoT and Fast Data
VoltDB
 
PDF
The Two Generals Problem
VoltDB
 
PDF
The 10 MS Rule: Getting to 'Yes' with Fast Data & Hadoop
VoltDB
 
PDF
Fast Data: Achieving Real-Time Data Analysis Across the Financial Data Continuum
VoltDB
 
TripleLift: Preparing for a New Programmatic Ad-Tech World
VoltDB
 
Moving Beyond Batch: Transactional Databases for Real-time Data
VoltDB
 
Lambda-B-Gone: In-memory Case Study for Faster, Smarter and Simpler Answers
VoltDB
 
Fast Data Choices: 5 Strategies for Evaluating Alternative Business and Techn...
VoltDB
 
How First to Value Beats First to Market: Case Studies of Fast Data Success
VoltDB
 
Lessons Learned: The Impact of Fast Data for Personalization
VoltDB
 
Fast Data for Competitive Advantage: 4 Steps to Expand your Window of Opportu...
VoltDB
 
Understanding the Operational Database Infrastructure for IoT and Fast Data
VoltDB
 
The Two Generals Problem
VoltDB
 
The 10 MS Rule: Getting to 'Yes' with Fast Data & Hadoop
VoltDB
 
Fast Data: Achieving Real-Time Data Analysis Across the Financial Data Continuum
VoltDB
 

Recently uploaded (20)

PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 

How to Build Real-Time Streaming Analytics with an In-memory, Scale-out SQL Database

  • 1. page HOW TO BUILD REAL-TIME STREAMING ANALYTICS WITH AN IN-MEMORY, SCALE-OUT SQL DATABASE Ryan Betts, CTO VoltDB 1
  • 2. page© 2015 VoltDB PROPRIETARY OUR SPEAKER Ryan Betts CTO at VoltDB 2
  • 3. page © 2015 VoltDB PROPRIETARY page AGENDA • Setup: Fast vs. Big • Fast data application requirements • The role of analytics • Concrete examples 3
  • 4. page© 2015 VoltDB PROPRIETARY Collect Explore AnalyzeAct 4 Big Data analytic results: 1. Discoveries: seasonal predictions, scientific results, long-term capacity planning 1. Optimizations: market segmentation, fraud heuristics, optimal customer journey
  • 5. page© 2015 VoltDB PROPRIETARYEnterprise Apps ETL CRM ERP Etc. Data Lake (HDFS) BIG DATA Non Relational Processing BI Reporting Fast Operational Database FAST DATA Export Ingest / Interactive Real-time Analytics Fast Serve Analytics Decisioning Data Warehouse Columnar Analytics OLAP DATA ARCHITECTURE FOR FAST + BIG DATA
  • 6. page© 2015 VoltDB PROPRIETARY 6 Fast (in motion) Streaming Analytics: real time summary and aggregation Transaction Processing: per-event decisions using context + history Big (at rest) Exploration: data science, investigation of large data sets Reporting: recommendation matrices, search indexes, trend and BI
  • 7. page© 2015 VoltDB PROPRIETARY MODERN OLTP 7 1. Processing streams requires integrated access to state. 2. Using real time analytics requires a query interface. 3. Reacting to incoming events requires transactions. State + Query + Transactions = OLTP Fast Streaming Analytics Transaction Processing
  • 8. page© 2015 VoltDB PROPRIETARY 8 Continuous Query Transactions Transformations • Materialized Views • Capped Tables • Ranking Indexes • Per-event Java + SQL • ACID processing • Millisecond latency responses • Loaders/Importers • Export Connectors • State for sessionization, enrichment VoltDB Architecture Commodity HW HA + ACID Scale-out VM-friendly
  • 9. page© 2015 VoltDB PROPRIETARY MATERIALIZED VIEWS • Declarative SQL • Fully transactional • Supports ad-hoc query 9 CREATE VIEW registrations_by_zipcode ( zipcode, registered_voters ) AS SELECT zipcode, count(*) from voters where registration=1 GROUP BY zipcode;
  • 10. page© 2015 VoltDB PROPRIETARY MV FOR STREAMING AGGREGATION • Partitioned on cluster • Immediately up-to-date • Active/active HA 10 Global Read: SELECT sum(count) WHERE sec > 130 and sec < 140;
  • 11. page© 2015 VoltDB PROPRIETARY MATERIALIZED VIEWS WITH ACID TRANSACTIONS • Can be queried as part of a transaction • Example: fast quota enforcement 11 1-partition throughput (transactions/second) 10GB of data being aggregated.
  • 12. page© 2015 VoltDB PROPRIETARY CAPPED COLLECTIONS • Simple windows • Durable, queryable • Support Mat. Views 12
  • 13. page© 2015 VoltDB PROPRIETARY RANKING INDEXES FOR LEADERBOARDS • Sorted indexes are ordered statistic trees for O(log(n)) ranking • Quickly find overall rank • Quickly count items in range 13 SELECT COUNT(*) FROM scores WHERE score > 281; SELECT COUNT(*) FROM scores WHERE score >= 10 AND score <= 200;
  • 14. page© 2015 VoltDB PROPRIETARY SQL SUPPORT 14 http://downloads.voltdb.com/documentation/TriFoldDevQuickRef.pdf • ALTER TABLE|CONSTRAINT|COLUMN|PROCEDURE • UNIQUE, MULTI-KEY INDEXES • INDEXES ON COLUMN FUNCTIONS • SQL ONLY DDL STORED PROCEDURES • JAVA STORED PROCEDURES • AUTO-GENERATED CRUD COMMANDS + REST API • MATERIALIZED VIEWS • SUBQUERY, UPSERT|INTO, JOIN, SELF-JOIN, INSERT SELECT • ~60 COLUMN FUNCTIONS
  • 15. page© 2015 VoltDB PROPRIETARY COMBINED JAVA + SQL • Logic + SQL • 3rd party code 15 VoltDB architecture Commodity HW HA + ACID Scale-out VM-friendly
  • 16. page© 2015 VoltDB PROPRIETARY ACID PROCESSING • Sync intra-cluster replication • Replicated durability • High availability (configurable) • Serializable isolation • Atomic ad-hoc or stored procedures • Partitioned & distributed txns • Load balanced reads across replicas 16
  • 17. page© 2015 VoltDB PROPRIETARY ACID MATTERS • Speed of development • Richness of application • Obvious for billing, policy enforcement, authorization • Equally necessary for aggregation • Update in place desirable vs. batch process for ingest 17
  • 18. page© 2015 VoltDB PROPRIETARY Performance – millisecond per-event responses SoftLayer: Update and Read Latency Latency(ms) Throughput (ops/sec) SoftLayer AWS YCSB Workload B – SoftLayer vs AWS
  • 19. page© 2015 VoltDB PROPRIETARY INTEGRATING DATA SOURCES WITH VOLTDB • CSV loader • Kafka loader • JDBC loader • Vertica UDx • Extensible loader API • JDBC • ODBC • HTTP JSON • Native client drivers / SDKs BULK LOADERS APPLICATION INTERFACES
  • 20. page© 2015 VoltDB PROPRIETARY VOLTDB EXPORT UI CREATE TABLE events ( EventID INTEGER, time TIMESTAMP, msg VARCHAR(128)); EXPORT TABLE events; 20 <export enabled="true" target="file"> ddl.sql deployment.xmlINSERT into TABLE values… Application SQL
  • 21. page© 2015 VoltDB PROPRIETARY INTEGRATING VOLTDB WITH EXPORT TARGETS 21 • Local file system export • JDBC export • Kafka export • RabbitMQ export • HDFS export • HTTP export • Extensible API
  • 22. page© 2015 VoltDB PROPRIETARY EXTENSIBLE OPEN SOURCE API 22 public void onBlockStart() throws RestartBlockException;{ } public boolean processRow(int rowSize, byte[] rowData) throws RestartBlockException { } public void onBlockCompletion() throws RestartBlockException { } VoltDB architecture Commodity HW HA + ACID Scale-out VM-friendly
  • 23. page© 2015 VoltDB PROPRIETARY REVIEW Application Event Sources VoltDB Client Interface Partition Replica 1 Partition Replica 2 Export Destination (OLAP, HTTP) • SQL + Java transactions • JSON column values • HA in-memory processing • ACID (durable to disk) • Ranking indexes • Indexes on functions • Capped tables • Mat. views: RT aggregation • Append only export • 1-5 ms @ 99% responses
  • 24. page© 2015 VoltDB PROPRIETARY BIGGER PICTURE 24
  • 25. page© 2015 VoltDB PROPRIETARY 25
  • 26. page© 2015 VoltDB PROPRIETARY QUESTIONS? • Use the chat window to type in your questions • Try VoltDB yourself:  Download the Enterprise Edition: • www.voltdb.com/download  Check out our Sample Apps: • www.voltdb.com/community/applications  Open source version is available on github.com 26
  • 27. page© 2015 VoltDB PROPRIETARY page THANK YOU! 27