This SkillsCast is currently only available to registered attendees of Haskell eXchange 2021: Pro Track
It will be freely available to all Skills Matter members once the Haskell eXchange 2021: Pro Track early-access window expires on January 15, 2022.
Provided that data fits entirely within memory we can process data in an elegant way using classic Haskell techniques. Once we have more data than can fit in memory however we are often forced to abandon elegance to deal with mutable disk state in IO. While streaming style applications can often maintain an elegant pure core, it is particularly difficult to do so for transaction processing (OLTP) style applications which typically need random access to their data sets. The usual approach to building these applications involve using SQL or key-value databases and intermingling program logic with actions to fetch and change stored data.
This talk explores an approach for OLTP style applications to scale to data sets bigger than fit in memory, while preserving a functional approach and the usual associated advantages. The approach uses ordinary pure functions that work over in-memory data structures, but nevertheless keeps the bulk of data on disk. The talk will explain the concepts and report on initial experience of applying the ideas in an existing commercial application.
YOU MAY ALSO LIKE:
Scaling Application State Beyond Memory: A Functional Approach
Duncan has more than twenty years programming experience with Haskell in academia and industry. He is a well known member of the Haskell community and is a founding partner of the Haskell consultancy Well-Typed.