Connection pooling at the Tap level (esp. Database-type streams) #21
Labels
extract
kind/Feature
New feature or request
migrated from gitlab
SQL
Support for SQL taps and targets
Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/21
Originally created by @aaronsteers on 2021-01-14 00:14:00
@DouweM started a discussion: (+1 comment)
Following from the discussion on !1, as noted above, there are some complexities with moving connections to the tap level, and I thought those may be better discussed here as their own topic. Note: As of now, only database-type streams inherit these methods.
cls.from_input_catalog()
andcls.from_discovery()
.execute_query()
andopen_connection()
.execute_query()
andopen_connection()
are already defined as class methods, we should be able to implement a class-level connection-pooling and class-level max concurrency. Without much change in design structure this would allow global limits on how many times a class (or perhaps even a set of derived subclasses) could instantiate a new connection.Following from bullet (5) above, I'm inclined to try implementing a class-level connection pool as first preference, and see if we still can get good and intuitive usability from a design/dev perspective.
Opening this thread to support expanded discussion and exploring of various options.
The text was updated successfully, but these errors were encountered: