Skip to content

Arrow Database Connectivity (ABDC) driver-based sql connections #7549

@corleyma

Description

@corleyma

Description

I want to use Marimo's data source connections with engines that aren't currently supported. In particular, I want to use it with analytics-focused query engines, ideally maintaining good performance even when retrieving large result sets.

Suggested solution

Supporting ADBC driver-based connections, so any db/query engine with an adbc driver could be used as a SQL connection in Marimo.

From the ADBC docs:

ADBC is a set of APIs and libraries for Arrow-native access to databases. Execute SQL and Substrait queries, query database catalogs, and more, all using Arrow data to eliminate unnecessary data copies, speed up access, and make it more convenient to build analytical applications.

Aside from expanding supported engines in Marimo, ADBC-based connections could also potentially improve performance if used as an alternative to some existing sqlalchemy-based connections.

Are you willing to submit a PR?

  • Yes

Alternatives

No response

Additional context

I haven't yet looked deeply at how SQL connections are implemented in Marimo today. If there is aligned interest in this feature, I would appreciate any guidance/potential footguns to consider from any maintainers familiar with the implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions