from-all-of-this">#</a>
</h3>
<ul>
<li>Flink’s fluent Scala and Java APIs make joins and other data transformations easy as cake.</li>
<li>The optimizer does the hard choices for you, but gives you control in case you know better.</li>
<li>Flink’s join implementations perform very good in-memory and gracefully degrade when going to disk.</li>
<li>Due to Flink’s robust memory management, there is no need for job- or data-specific memory tuning to avoid a nasty <code>OutOfMemoryException</code>. It just