- Duration: 2 days
- Skill-level: Foundation-level Streaming Data skills for Intermediate skilled team members. This is not a basic class.
- Targeted Audience: This course is geared for those who wants to know the concepts and requirements of streaming and real-time data systems.
- Hands-on Learning: This course is approximately 50% hands-on lab to 50% lecture ratio, combining engaging lecture, demos, group activities and discussions with machine-based student labs and exercises. Student machines are required.
- Delivery Format: This course is available for onsite private classroom presentation.
- Customizable: This course may be tailored to target your specific training skills objectives, tools of choice and learning goals.
Streaming Data is an idea-rich tutorial that teaches you to think about efficiently interacting with fast-flowing data. Through relevant examples and illustrated use cases, you’ll explore designs for applications that read, analyze, share, and store streaming data. Along the way, you’ll discover the roles of key technologies like Spark, Storm, Kafka, Flink, RabbitMQ, and more. This course offers the perfect balance between big-picture thinking and implementation details
Working in a hands-on learning environment, led by our Streaming Data expert instructor, students will learn about and explore:
- introduces the concepts and requirements of streaming and real-time data systems.
- teaches you to think about how to efficiently interact with fast-flowing data.
Topics Covered: This is a high-level list of topics covered in this course. Please see the detailed Agenda below
- The right way to collect real-time data
- Architecting a streaming pipeline
- Analyzing the data
- Which technologies to use and when
Audience & Pre-Requisites
This course is geared for developers familiar with relational database concepts
Pre-Requisites: Students should have
- Basic to Intermediate IT Skills.
- No experience with streaming or real-time applications required.
Course Agenda / Topics
- Introducing streaming data
- What is a real-time system?
- Differences between real-time and streaming systems
- The architectural blueprint
- Security for streaming systems
- How do we scale?
- Getting data from clients: data ingestion
- Common interaction patterns
- Scaling the interaction patterns
- Fault tolerance
- A dose of reality
- Transporting the data from collection tier: decoupling the data pipeline
- Why we need a message queuing tier
- Core concepts
- Fault tolerance
- Applying the core concepts to business problems
- Analyzing streaming data
- Understanding in-flight data analysis
- Distributed stream-processing architecture
- Key features of stream-processing frameworks
- Algorithms for data analysis
- Accepting constraints and relaxing
- Thinking about time
- Summarization techniques
- Storing the analyzed or collected data
- When you need long-term storage
- Keeping it in-memory
- Use case exercises
- Making the data available
- Communications patterns
- Protocols to use to send data to the client
- Filtering the stream
- Use case: building a Meetup RSVP streaming API
- Consumer device capabilities and limitations accessing the data
- The core concepts
- Making it real: SuperMediaMarkets
- Introducing the web client
- The move toward a query language
- Analyzing Meetup RSVPs in real time
- The collection tier
- Message queuing tier
- Analysis tier
- In-memory data store
- Data access tier