-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I guess it depends on how far down the FP rabbit hole you want to go: 1) Immutable constructs + using map/filter/collect - easier sell, most programming languages (including java) have adopted this style 2) Pattern matching + ADTs, really powerful, might be difficult to get used to 3) Using Future for async - again not a particularly hard sell, Java/Javascript have similar constructs, so should be familiar to them. For comprehensions can be a bit tricky to grokk 4) Concrete IO type - similar enough to Future to be familiar, but the idea of pure vs side effecting code is a difficult concept to teach. People struggle with understanding why they should wrap their logging statements in an IO, etc. 5) cats-effect typeclasses or ZIO or something - the scala-steward project is a pretty good example of how to successfully use cats-effect typeclasses, and the tests are a really good showcase of why this style of programming is helpful. The barrier to entry for this style of programming from an imperative background is quite high. So either your team should be very self motivated to learn, or be prepared to offer a lot of training