Hi dev,

I'd like to kick off a discussion on adding JDBC catalogs, specifically
Postgres catalog in Flink [1].

Currently users have to manually create schemas in Flink source/sink
mirroring tables in their relational databases in use cases like JDBC
read/write and consuming CDC. Many users have complaint about the
unnecessary, redundant, manual work. Any mismatch can lead to a failing
Flink job at runtime instead of compile time. All these have been quite
unpleasant, resulting in a broken user experience.

We want to provide a JDBC catalog interface and a Postgres implementation
for Flink as a start to connect to all kinds of relational databases,
enabling Flink SQL to 1) retrieve table schema automatically without
requiring user writes duped DDL 2) check at compile time for schema errors.
It will greatly streamline user experiences when using Flink to deal with
popular relational databases like Postgres, MySQL, MariaDB, AWS Aurora, etc.

Note that the problem and solution are actually very general to Flink when
connecting to all kinds of external systems. We just focus on solving that
for relational databases in this FLIP.

Thanks,
Bowen

[1]
https://cwiki.apache.org/confluence/display/FLINK/FLIP-92%3A+JDBC+catalog+and+Postgres+catalog

Reply via email to