#distributedsystems #scala #akka #spark #FiloDB #cassandra
Scala and its large ecosystem of libraries are increasingly being used to build highly scalable and performant data systems. In this talk, I share years of experience building high performance data systems using Scala, Akka, and Spark, plus recent experience building
FiloDB, a high performance analytics database built on these technologies. How do we balance Scala and functional programming with very high performance demands? What are some tips to watch out for when building very very fast Scala code?
- Why build a new database for streaming applications?
- Why Scala and Akka makes a great foundation for building a database
- When to use Futures, Actors, Reactive Streams
- Using Akka Cluster to coordinate and implement distributed ingestion
- Monix and use of reactive streams
- Reactive/async tracing and production metrics
- Filo: summing integers at billions of ops per second, taking advantage of processor cache and SIMD with super fast vector operations
- Serialization, GC, and off-heap: how to leverage binary data structures for the win - JVM method dispatch, inlining, and writing lots of small methods