Comparing Trino Spooling Protocol Client Retrieval Modes
Blog post from Starburst
Starburst, built on Trino, enhances query performance through the Trino spooling protocol, which enables parallel retrieval of large result sets and improves performance with Starburst's ODBC driver. This protocol provides various client retrieval modes, such as STORAGE, COORDINATOR_STORAGE_REDIRECT, COORDINATOR_PROXY, and WORKER_PROXY, each tailored to different network, security, and performance needs. The spooling protocol allows data to be extracted from a Starburst cluster by persisting query outputs and enabling direct downloads, thus reducing the load on the Trino coordinator. The protocol supports multiple clients, such as Starburst ODBC driver V3 and Trino JDBC driver, and automatically defaults to traditional methods if a client doesn't support spooling. The configuration options aim to optimize network security and operational risk, offering scalability and flexibility in deployment, particularly in environments like Kubernetes, where certain modes may be less feasible.