Kappa Day - Practical demystification of CRDT - Tomtom


Details
At the invitation of JUG Łódź we will host two TomTom engineers who will shed some light over Conflict-free Replicated Data Types.
Those guys are coming to Poland to present on Lambda Days (http://www.lambdadays.org/lambdadays2016) in Cracow.
Thanks to TomTom they drop by to visit JUG Łódź to give preview of their talk - Practical demystification of CRDT - from Lambda Days!
Here you can find the abstract:
In a connected world, synchronising mutable information between different devices with different clock precision can be a difficult problem. A piece of data may have many out-of-sync replicas but all of those should eventually be in a consistent state. For example, TomTom users, having personal navigation devices, smartphones, MyDrive website accounts, expect their navigation information be synchronised properly even in the occasional absence of network connection.
Conflict-free Replicated Data Types (CRDTs) provide robust data structures to achieve proper synchronisation in an unreliable network of devices. They enable the conflict resolution being done locally at the data type level while guaranteeing the eventual consistency between replicas.
In this talk, in addition to an introduction to CRDT, our main focus will be on a special type of CRDT-set called OUR-set (Observed, Updated, Removed) which we created to extend known CRDT-sets with update functionality. We will explain the advantages of this data structure to solve many synchronisation problems as well as its limitations. We also show how a basic implementation of OUR-set CRDT in Scala and its counterpart in Java looks like and enumerate a set of subtle considerations which should be taken into account.
Talk will be conducted by:
Dmitry Ivanov - Programming and distributed services geek @ TomTom
Dmitry is a Senior Software Engineer at TomTom, Amsterdam.
Having a mostly TechOps background and specialising in Oracle solutions in the past, he once switched to a backend services development and never looked back.
Prior to hacking on NavCloud project @ TomTom since 2013, he was developing APIs for a few international startups: Reltio (Cloud MDM), AmbiqTech (NFC).
He has been obsessed with Scala language and Functional Programming since 2010 and is interested in all things related to Cloud, DevOps and building scalable systems.
In his spare time he is also involved in organising various programming meetups around Amsterdam, and occasionally gives talks at those.
Nami Naserazad - A Functional Programming Enthusiast @ TomTom.
Nami is a Senior Software Engineer at TomTom. After finally admitting his addiction to functional programming, he tried to cure himself by learning about distributed systems. Tragically, this approach did not work, and he now has two addictions to feed. He has spent the last three years contributing to the design and implementation of NavCloud, a distributed navigation information synchronisation system. He enjoys Scala, Java, Akka, Spray, Riak and AWS in his day-to-day work and he can be found on nami.me.

Kappa Day - Practical demystification of CRDT - Tomtom