The need for fast data applications is growing rapidly, driven by the IoT, the surge in machine-to-machine (M2M) data, global mobile device proliferation, and the monetization of SaaS platforms. So how do you combine real-time, streaming analytics with real-time decisions in an architecture that’s reliable, scalable, and simple?
In this O’Reilly report, Ryan Betts and John Hugg from VoltDB examine ways to develop apps for fast data, using pre-defined patterns. These patterns are general enough to suit both the do-it-yourself, hybrid batch/streaming approach, as well as the simpler, proven in-memory approach available with certain fast database offerings.
Their goal is to create a collection of fast data app development recipes. We welcome your contributions, which will be tested and included in future editions of this report.
Table of contents
- Fast Data Application Value
- Fast Data and the Enterprise
- 1. What Is Fast Data?
- 2. Disambiguating ACID and CAP
- 3. Recipe: Integrate Streaming Aggregations and Transactions
- 4. Recipe: Design Data Pipelines
- 5. Recipe: Pick Failure-Recovery Strategies
6. Recipe: Combine At-Least-Once Delivery with Idempotent Processing to Achieve Exactly-Once Semantics
- Idea in Brief
- Pattern: Use Upserts Over Inserts
- Pattern: Tag Data with Unique Identifiers
- Pattern: Use Kafka Offsets as Unique Identifiers
- Example: Call Center Processing
- When to Avoid This Pattern
- Related Concepts and Techniques
- Title: Fast Data: Smart and at Scale
- Release date: October 2015
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491940372
You might also like
Streaming Data: Understanding the real-time pipeline
Summary Streaming Data introduces the concepts and requirements of streaming and real-time data systems. The book …
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
Dominated by streaming data and events, the next generation of software development optimizes not only how …