SQL Database drivers have so much in common, but each represent schema and data table(s) differently on the wire. Some handle cancellation within the protocol, others require a work around (like another DB connection that issues a KILL command). TDS (Microsoft Server) is actually one of the better protocols and better documented protocols (due in large part to historical court orders) out there.
My takeaway is that compact schema streaming data is not a well developed field. I think we can do better. Not only that, but developing both such a schema, protocol, and associated tooling is key to significantly better data-centric applications from end to end, not just the database.
Agreed! It's kind of fascinating that a better standard hasn't emerged yet, but not surprising given that each one is developed in isolation by a different organization.
Definitely a lot of room for improvement. Curious if anyone has thoughts about the best route to getting such a standard / protocol in place: it seems like a lot of stars would have to align, but would be invaluable nonetheless.
As mentioned by others elsewhere in the thread, Apache Arrow Flight SQL aims to be a standard wire protocol that multiple databases can implement, using a columnar data representation: https://arrow.apache.org/docs/format/FlightSql.html
My takeaway is that compact schema streaming data is not a well developed field. I think we can do better. Not only that, but developing both such a schema, protocol, and associated tooling is key to significantly better data-centric applications from end to end, not just the database.