Summary
So far, we’ve been talking specifically about the Client API for data access and standardizing it (this is what ODBC and JDBC did). But there are technically two areas where having standards around connectivity is important: Client API and Wire Protocol. Neither ADBC, ODBC, nor JDBC defines what goes on between a driver and the database, just the API calls that an application developer makes as a Client API.
FlightSQL, which was mentioned in Chapter 7, Exploring Apache Arrow Flight RPC, is a wire protocol. It defines precisely how to communicate and perform various actions against a database, such as authentication, creating prepared statements, or executing queries. Another popular example of a wire protocol is the PostgreSQL wire protocol. Having these standards enables reusable components. While we didn’t go into detail about this, there is already a FlightSQL driver for ADBC. This means that any database that already uses Arrow FlightSQL as its wire protocol...