Skip to content

Port MongoDB Source to Java  #3428

Closed
@sherifnada

Description

@sherifnada

Tell us about the new integration you’d like to have

MongoDB is a critical source to support. Our current connector was contributed by a user. However, while the implementation is generally high quality, it is written in Ruby, and the Airbyte Core team's proficiencies are Java & Python. This means that we are much slower to implement features & bugfixes due to a lack of proficiency in Ruby. So we'd like to port the connector over to one of our core languages in order to offer better SLA & support.

Describe the alternative you are considering or using

Continue to use current Ruby-based connector

Implementation:

test container to use:
https://www.testcontainers.org/modules/databases/mongodb/

Todo:

  1. Investigate possibility of using JDBC driver for mongo db (https://www.unityjdbc.com/mongojdbc/mongo_jdbc.php), but this seems to have the only paid jdbc driver which is not an option for us. Another option to check https://docs.mongodb.com/datalake/tutorial/jdbc-driver/ and https://search.maven.org/search?q=a:mongodb-jdbc, but not sure how supportable it this driver for all DBs, this seems to be a kinda specific for Atlas Data Lake
    In case of possible use of jdbc
  2. Generate new connector and implement connections.
  3. Create unit test
  4. Integration test
  5. Comprehensive:

use existing mongo source

┆Issue is synchronized with this Asana task by Unito

Notes
It seems like the JDBC driver provided by unityjdbc is paid. So we have the same case here as it was for BigQuery. @DoNotPanicUA is currently working on db sources refactoring and implementation to make core better for such cases. So there is no value to start working on this ticket until the #4024 and #1876 are not completed. Then we would also need to support non-jdbc tests basics.
Aa this is non JDBC and even non SQL DB additional work in core part would be also required

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions