Skip to content

Connection for Dremio Lakehouse #427

@jdbodyfelt

Description

@jdbodyfelt

Please Describe The Problem To Be Solved

The Problem: Other than Snowflake, there is a lack of connectors to other lakehouse solutions. While a Databricks connector would be nice for many corporate production runs, in the interest of open source, a Dremio connector might be more appreciated by the community. This request is to build a Dremio connector for Quary.

Optional: Suggest A Solution

Looking into the code architecture, it seems that the bulk of connectors are maintained within rust/quary-databases/src/databases_<flavor>.rs and rust/core/src/database_<flavor>.rs. Inspection shows a common class interface already designed across both. For Dremio, there are a number of protocols available including REST, JDBC, & ODBC. However, with a RUST build, it may be advantageous to use the ARROW Flight protocol as Dremio highly support it - can lead to 20X speed-up over JDBC. *In fact, could even extend this issue to a generic "Arrow Flight Connector" type.

A possible plan includes:

  1. Review full connection interface by building "skeleton" version of rust/quary-databases/src/databases_dremio.rs.
  2. Review Dremio docs, although may not be needed if just functional Arrow SQL.
  3. Get feedback on any other requirements to implement a Dremio connector - thought I saw something else in SQL interfacing code.
  4. Design for any other feedback (e.g. any other needed *_dremio.rs files).
  5. Unit test.
  6. Review & release into the wild.

Happy to help on this to build out my Rust expertise...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions