Heidi Howard explores how to construct resilient distributed systems on top of unreliable components. Howard discusses which algorithms are best suited to different situations.
Aysylu Greenberg discusses some of the new architectural patterns from systems she has worked on at Google and the related work that provides insights into the motivations behind them.
Alvaro Videla reviews distributed systems: async/sync, message passing, shared memory, failure detectors, leader election, consensus and different kinds of replication, and recommends related books.
Mathieu Bastian explores the mechanics of unit, integration, data and performance testing for large, complex data workflows, along with the tools for Hadoop, Pig and Spark.
Gian Merlino discusses stream processors and a common use case - keeping databases up to date-, the challenges they present, with examples from Kafka, Storm, Samza, Druid, and others.
Christopher Meiklejohn talks through a history of chain replication, starting with the original work from 2004 by van Renesse and Schneider up to new and unique designs of chain replication.
Diego Ongaro introduces Raft, a consensus algorithm for managing a replicated log by separating the key elements of consensus and reducing the number of states that must be considered.
Fangjin Yang covers common problems and failures seen with distributed systems, and discusses design patterns that can be used to maintain data integrity and availability when everything goes wrong.
The authors discuss how Spring for Apache Hadoop can make developing workflows with Map Reduce, Spark, Hive and Pig jobs easier, and using Spring Cloud to build distributed apps for YARN.
Christian Tzolov shows different integration approaches between HAWQ and GemFire, showing using Spring XD to ingest GemFire data into HDFS and using Spring Boot to implement a RESTful proxy for HAWQ.
Oren Eini discusses the building blocks of a reliable, transactional distributed database, covering ACID compliance, consistency, failure handling, monitoring, management, and more.
This talk presents Hazelcast, an open-source distributed Java in-memory container that allows multiple processes to share data using standard Java APIs such as Maps, Sets and Lists.