Please log in to watch this conference skillscast.
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 Coutts
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.