Skip to content

[Proposal] Multi-DataSource Support via DataSourceResolver #4032

@Subham-KRLX

Description

@Subham-KRLX

Is your feature request related to a problem? Please describe.

Currently, Polaris JDBC uses a single global DataSource for all operations. This creates two issues: * Internal Interference: Heavy metrics/events traffic can saturate the connection pool and slow down core metadata operations. * Deployment Rigidity: There is no programmatic way to route specific realms/tenants to dedicated physical databases without separate JVM clusters.

Describe the solution you'd like

Introduce a DataSourceResolverSPI that resolutions the correct DataSource based onRealmContextandStoreType (METASTORE, METRICS, EVENTS).
Objectives: * Workload Isolation: Enable dedicated connection pools for isolated telemetry and metadata workloads. * Stateless Scaling: Allow operators to dynamically shard or migrate tenants at runtime via a custom resolver.

Describe alternatives you've considered

Separate JVM clusters (inefficient for multi-tenancy) or static configs (too rigid for dynamic sharding maps).

Additional context

Foundation for PR #3960. It specifically resolves transactional consistency concerns by partitioning isolated workloads (Metrics/Events) that do not require cross-database joins.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions