Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TCB 69 about client protocol improvements #756

Merged
merged 1 commit into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions _episodes/69.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
---
layout: episode
title: "69: Client protocol improvements"
date: 2025-01-30
tags: trino client protocol driver application performance spooling
youtube_id: "WH9wxg63irc"
wistia_id: "463xp4o8xr"
sections:
- time: 0:00
title: Introduction
- time: 1:10
title: Releases 469
- time: 7:17
title: Other news
- time: 7:59
title: Introducing Mateusz Gajewski and his Trino missions
- time: 10:55
title: Client protocol with spooling - introduction and initial discussion
- time: 17:02
title: Presentation - Agenda
- time: 18:05
title: Direct protocol
- time: 23:00
title: Direct protocol flow
- time: 31:06
title: Spooling protocol objectives
- time: 36:52
title: Implementation
- time: 43:39
title: Wire format comparison
- time: 47:28
title: Spooling protocol flow
- time: 57:20
title: Implications
- time: 1:05:20
title: Configuration
- time: 1:09:21
title: Retrieval modes
- time: 1:13:46
title: Demo time
- time: 1:24:32
title: Summary and extras
- time: 1:31:44
title: Conclusion
introduction: |
Manfred Moser and Cole Bowden are joined by Mateusz Gajewski to discuss the
development of the new spooling mode for the Trino client protocol. We look at
cluster configuration, client drivers, and run some demos.
---

## Host

* [Manfred Moser](https://www.linkedin.com/in/manfredmoser), Director/Open
Source Engineering at [Starburst]({{site.url}}/users.html#starburst) -
[@simpligility](https://x.com/simpligility)
* [Cole Bowden](https://www.linkedin.com/in/cole-m-bowden), Developer Advocate
at [Firebolt](https://www.firebolt.io/)

## Guests

* [Mateusz Gajewski](https://github.com/wendigo), Sr. Staff Software Engineer at
[Starburst]({{site.url}}/users.html#starburst)

## Releases

Follow are some highlights of the first release of 2025. It took us a bit longer to work through release blockers this time:

[Trino 469]({{site.baseurl}}/docs/current/release/release-469.html)

* Add support for the `FIRST`, `AFTER`, and `LAST` clauses to `ALTER TABLE ...
ADD COLUMN` for Iceberg, MySQL, and MariaDB.
* SSE-C in S3 security mapping for Delta Lake, Hive, Hudi, and Iceberg
* Allow configuration for Google Cloud Storage endpoint with object storage
connectors.
* Allow connection validation and add more stats for JDBC driver.
* Remove support for connector-level event listeners.
* Misc improvements for the Faker connector.

As always, numerous performance improvements, bug fixes, and other features were
added as well.

## Other news

* Trino Python client 0.332.0 with spooling support
* [Trino contributor call](https://github.com/trinodb/trino/wiki/Contributor-meetings#trino-contributor-call-23-jan-2025)

## Introducing wendigo

What can we say? Top contributor and maintainer, and all around hacker on Trino,
numerous Trino subprojects, Airlift, and beyond.

## Main topic

Let's talk about the Trino client protocol. Following are some topics we cover:

* What is the client protocol for?
* History of the client protocol
* Available client drivers and client applications
* Architecture and flow
* Motivation to improve the protocol
* Direct and spooling modes

Cole and Manfred walk through the presentation from and ask a
lot of questions:

<div class="card-deck spacer-30">
<a class="btn btn-pink" target="_blank"
href="{{site.baseurl}}/assets/episode/tcb69-client-protocol.pdf">
Presentation
</a>
</div>

## Demo time

Mateusz show us his example and testing setup with Starburst Galaxy clusters
configured for spooling protocol use and shares some of the performance gains he
observes.

## Resources

* [Presentation]({{site.baseurl}}/assets/episode/tcb69-client-protocol.pdf)
* [Client protocol documentation]({{site.baseurl}}/docs/current/client/client-protocol.html)
* [Available client drivers]({{site.baseurl}}/ecosystem/client-driver.html)
* [Available client applications]({{site.baseurl}}/ecosystem/client-application.html)

## Rounding out

Join us for upcoming events and let us know if you want to be the next guest.

If you want to learn more about Trino, check out the definitive guide from
O'Reilly. You can get [the free PDF from
Starburst](https://www.starburst.io/info/oreilly-trino-guide/) or buy the
[English, Polish, Chinese, or Japanese
edition]({{site.url}}/trino-the-definitive-guide.html).
Binary file added assets/episode/tcb69-client-protocol.pdf
Binary file not shown.
8 changes: 3 additions & 5 deletions broadcast/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,17 @@ interesting developments in the ecosystem around Trino.
## Upcoming episodes

<dl>
<dt>30 Jan 2024: Trino Community Broadcast 69 - Client performance upgrade</dt>
<dd><a href="https://github.com/wendigo">Mateusz Gajewski</a> discusses the
development of the new spooling mode for the Trino client protocol. We look at
cluster configuration, client drivers, and run some demos.</dd>
<dt>13 Feb 2024: Trino Community Broadcast 70 - Previewing a new UI</dt>
<dd><a href="https://github.com/koszti">Peter Kosztolanyi</a> joins us to talk
about the origins, current status, and future of the new Preview Web UI for
Trino, before we play around with it in a demo. </dd>
<dt>27 Feb 2024: Trino Community Broadcast 71 - Fake it real good</dt>
<dd><a href="https://github.com/nineinchnick">Jan Waś</a> teaches us about the
new Faker connector and how you can use it to emulate data that does exist on
new Faker connector and how you can use it to emulate data that does not exist on
any storage, how you can shape it as you need, and how you can then learn real
SQL, build real reports, and make some real charts - all with fake data.</dd>
<dt>13 Mar 2024: Trino Community Broadcast 72</dt>
<dd>Guest and topic to be determined.</dd>
</dl>

Find [more details and other events on our calendar]({{site.url}}/community.html#events).
Expand Down