272 karma · joined November 30, 2020
otherdavidli@lidavidm.me
Here, the Flight SQL spec landed ahead of implementations, so that's why there's nothing to list yet. I would stay tuned to hear what people do with this. (I can't speak to any plans myself, though.)
For Arrow itself, you could start with the Cookbook [1] (and feel free to file issues if there are things that are unclear, or that you would like to learn more about [2])
The example there is very long, but much of it is repetitive (that said, it could certainly be improved). But to your specific question, what you would eventually do is write a plugin or proxy for Postgres (or another database) implementing these RPC methods. Then you could submit SQL queries using the Flight SQL client (which calls those RPC methods internally) to get back columnar data. You could wrap this all in a JDBC driver as well (which is being actively worked on [3]), in which case you'd be mostly ignorant of what's going on underneath; the benefit there would (hopefully) be faster data access due to the lower layers being columnar (and zero-copy where possible), and enabling parallelism due to Flight (Postgres might not support this for instance, but other databases could, if they could expose internal parallelism or partitioning). Hope that helps.
[1]: https://arrow.apache.org/cookbook/ [2]: https://github.com/apache/arrow-cookbook/ [3]: https://github.com/apache/arrow/pull/12254
Just a minor distinction - Flight is lower-level and might be used to build a wire protocol for a database, but a "database supporting Flight" still requires something like Flight SQL to specify how the database expects to serve requests over Flight.
He also has two collections of translated sci-fi, Broken Stars and Invisible Planets.