TVL Managed Superset

Apache Superset Multi-Tenant Architecture 2026

Apache Superset multi-tenant patterns: RLS, dedicated instance, embedded, isolation, performance, billing.

Serving Apache Superset to multiple customers (multi-tenant) requires a thought-out architecture: isolation, security, performance, billing. Several patterns exist, each with its trade-offs. This guide compares approaches in 2026 for a SaaS stack that wants to integrate Superset.

1. Three multi-tenant patterns

PatternIsolationCostUse case
Shared instance + RLSLogicalLowLight B2B SaaS, similar dashboards
Dedicated instance per tenantStrictHighStrong compliance, customizations
Hybrid (pool + RLS)MediumMediumSaaS scale-up

If you want a dedicated instance per customer without complexity, TVL Managed Superset offers a "dedicated instance per tenant" mode provisioned in 10 minutes.

2. Pattern 1 — Shared instance + RLS

One single Superset instance, all tenants use the same metadata DB. Isolation via dynamic Row Level Security.

Pros

  • Lowest infrastructure cost;
  • Single maintenance;
  • Update simplicity.

Cons

  • Misconfigured RLS risk = data leak;
  • No customization per tenant (logo, branding);
  • Noisy neighbor (a heavy tenant impacts others);
  • Compliance difficult for regulated sectors.

3. Pattern 2 — Dedicated instance per tenant

Each customer has their own complete Superset instance: their web pod, worker, metadata DB.

Pros

  • Strict isolation (separate data plane);
  • Total customization (branding, plugins, version);
  • No noisy neighbor;
  • Compliance simplified (DPA per tenant).

Cons

  • Linear infrastructure cost (×N tenants);
  • Multi-instance maintenance;
  • Provisioning to automate.

This configuration is applied by default on TVL Managed Superset in dedicated mode, which follows community best practices.

4. Pattern 3 — Hybrid (pool + RLS)

Multiple Superset pools, each pool containing 10-100 similar tenants. RLS in each pool.

Pros

  • Intermediate cost;
  • Possibility to place "big" tenants in dedicated pools;
  • Scalability (add pool if saturated).

5. Shared data model

For pattern 1 (RLS), typical structure:

-- All tables include tenant_id
CREATE TABLE orders (
  id UUID PRIMARY KEY,
  tenant_id VARCHAR NOT NULL,
  customer_id UUID,
  amount DECIMAL,
  created_at TIMESTAMP
);

-- Index on tenant_id mandatory
CREATE INDEX idx_orders_tenant ON orders(tenant_id, created_at);

And the Superset RLS rule:

tenant_id = '{{ current_user_id() }}'

6. Automated provisioning

For pattern 2 (dedicated), typical workflow:

  1. Customer signup on the SaaS;
  2. Webhook → provisioning service;
  3. Helm install of a new Superset instance (1-3 min);
  4. Dynamic DNS tenant.app.example.com;
  5. Email to customer with credentials.

7. Billing

ModelCompatible pattern
Flat fee per tenantAll
Pay-per-userShared
Pay-per-queryShared (with quotas)
Pay-per-instanceDedicated

8. Multi-tenant security

  • RLS tested automatically in CI;
  • Audit log per tenant;
  • Quotas CPU/RAM/queries per tenant;
  • Embed token with dynamic RLS clause for SaaS embedded;
  • DPA GDPR-compliant signed with each tenant.

9. Conclusion

Superset multi-tenant architecture is non-trivial but masterable with the three patterns above. For a B2B SaaS stack, the hybrid (pool + RLS) is often the right compromise. For regulated sectors (banking, health), dedicated instance per tenant remains the safest path.

Want the benefits of Apache Superset without the friction of multi-tenant architecture? Deploy your instance in 3 clicks with TVL Managed Superset, hosted in Europe (OVHcloud, Roubaix, France), "dedicated instance per tenant" mode available.

For more: Row Level Security, embedded dashboards, customer isolation.