Last Wednesday we had another successful gathering of the Bay Area In-Memory Computing Meetup in Mountain View, California. (We’re always looking for a space to use in the Bay Area so please let me know if your company can host – and hopefully also have a speaker for us, too!).
As a co-organizer of this meetup, I’m always looking for speakers and other folks to volunteer as co-organizers. For our Dec. 13 meetup we were fortunate to have two excellent speakers.
The first speaker was Hazelcast co-founder and vice president of Technical Operations Fuad Malikov. His talk was titled, “Distributed Java 8 Streams with Hazelcast JET.”
Next up was Valentin “Val” Kulichenko, GridGain Systems lead architect. His talk was a bit broader, focusing on how distributed systems work under the hood, and to design your applications based on them.
I was attempting to live-stream both talks but the Wi-Fi at the facility we rented wasn’t able to deliver... so I went into record-only mode. Unfortunately, I botched most of Fuad’s talk – though I did capture around 20 minutes. I’ll be posting that along with Val’s presentation on the meetup page directly. But for the purposes of this blog post, I’ll focus on Val’s.
Here’s the entire video of his talk – I’ll add the slides as soon as I can get them from Val (should be today or tomorrow). This presentation was titled, “Want extreme performance at scale? Do distributed the RIGHT way!”
Notes from this video:
Val discussed how distributed systems rely on horizontal scalability. The more machines in your cluster - the better performance of your application, right? Well, not always, he said.
While a database can provide rich capabilities to achieve lightning fast performance, it’s an engineer's responsibility to use these capabilities properly as there are a lot of ways to mess things up.
Val then talked about the challenges and pitfalls one may face when architecting and developing a distributed system. He then explained how to take advantage of the affinity collocation concept that is one of the most powerful and usually undervalued technique provided by distributed systems.
He used the open-source Apache Ignite as a database for his experiments covering these moments in particular:
- What is data affinity and why is it important for distributed systems?
- What is affinity colocation and how does it help to improve performance
- How does affinity colocation affects execution of distributed computations and distributed SQL queries?
- And more…
Val is always happy to be a guest speaker at a variety of technical meetups. If you would like to invite him to speak at yours, please just let me know in the comments below and we can connect offline.