Flink is a unified stream and batch processing framework that natively supports streaming topologies, long-running batch jobs, machine learning algorithms, and graph processing through a pipelined dataflow execution engine. It provides high-level APIs, automatic optimization, efficient memory management, and fault tolerance to execute all of these workloads without needing to treat the system as a black box. Flink achieves native support through its ability to execute everything as data streams, support iterative and stateful computation through caching and managed state, and optimize jobs through cost-based planning and local execution strategies like sort merge join.