Guide / Evaluation essentials

OceanBase and Azure SQL Elastic Pools for a Database-per-Customer SaaS

A SaaS provider keeps a separate database for each customer. Most customers are quiet for much of the day, but individual customers occasionally need more resources. Buying…

A SaaS provider keeps a separate database for each customer. Most customers are quiet for much of the day, but individual customers occasionally need more resources. Buying every database for its own peak looks expensive, so the team starts investigating pooled resources.

Azure SQL elastic pools and OceanBase tenant resources address related questions, but they are not interchangeable definitions of a SaaS customer. The application still needs to decide how customers map to databases, administrative boundaries, and the resources being purchased.

The comparison should begin with that mapping. Otherwise, a promise of efficient pooling can conceal a much larger application-model change.

Keep customer identifiers separate from resource identifiers in the application inventory. If two customers share a resource pool, support staff still need an unambiguous way to find the right customer database. A pool identifier alone cannot replace that customer routing record.

What Azure SQL elastic pools offer

Microsoft’s elastic-pool documentation describes multiple Azure SQL databases sharing a resource budget within a pool. It supports pool-level resources and optional minimum and maximum resources for individual databases. The documented use case includes SaaS applications with varying database demand.

That gives a database-per-customer application a concrete service arrangement to evaluate. Keeping a customer database as the existing application unit can be valuable if the rest of the Azure SQL design fits.

The pool still has an aggregate budget. Individual flexibility does not mean every customer can simultaneously consume an independent peak allocation. The organization should assess the combined workload it intends to place together, rather than extrapolate from the quietest customer.

What OceanBase tenant resources change

OceanBase’s 4.3.5 resource-management documentation describes resource units, configurations, and pools associated with tenants. CPU and memory allocation provide a specific reason to investigate its multi-tenant architecture for a SaaS platform.

The application must still choose whether a customer corresponds to an OceanBase tenant, a database within a tenant, or another deliberately designed arrangement. The product term tenant should not silently replace the application’s commercial definition of a customer.

Nor should configured resources be described as dedicated physical infrastructure without evidence about the proposed deployment. Resource allocation is useful precisely when its actual boundary is understood.

Preserve the customer unit the business depends on

Consider a hypothetical SaaS provider that provisions, exports, and closes each customer as a separate database. Moving to another platform is not just a query conversion if those procedures also need to change.

The architecture team should list what the current customer unit accomplishes. It may support an administrative workflow, an application connection choice, or a distinct release process. Each dependency needs a destination in the new arrangement.

SaaS decision Azure SQL elastic-pool question OceanBase question
Customer mapping Does the existing customer database remain the application unit? What deliberately chosen tenant/database mapping replaces it?
Resource budget What pool and per-database settings fit the workload? What resource units and tenant allocation fit the workload?
Customer lifecycle How are databases added, moved, and removed? How are the selected tenant/database units managed?
Application continuity Which existing Azure SQL assumptions remain valid? Which application and operational dependencies change?
Commercial scope What does the selected pool arrangement include? What deployment and service responsibilities are being purchased?

The table compares questions to answer, not equivalent product objects. A similarly named pool can occupy a different place in the two architectures.

Test the customer lifecycle beside pooled demand

Include ordinary customer provisioning and a large customer’s busy period in the assessment. The team should understand what happens to the existing population while a new customer is introduced, not only how a prepared database performs.

Then exercise a customer-specific change. It might involve changing that customer’s allocation or moving its application responsibility to a different group. Check which steps affect that customer alone and which touch shared resources or administrative processes.

Use the same customer population and business workload assumptions when comparing costs. A quote for a managed pool and a quote for a different deployment arrangement can contain different operating work. Make those differences visible rather than forcing both into a single resource-unit price.

Customer commitments should be traced back to the resulting design. If a contract promises a particular operating boundary, the evidence should come from the proposed arrangement, not from the presence of the word tenant or database in a product description.

Choose pooling without hiding a platform redesign

Azure SQL elastic pools deserve consideration when a database-per-customer design already fits the application and the selected managed Azure service. The pooling mechanism is a real alternative to provisioning every customer independently.

OceanBase deserves evaluation when its resource-managed tenants and selected compatibility route fit a deliberate SaaS platform design. Its benefit should be connected to a clear customer mapping and an accountable operating model.

The stronger proposal explains both resource sharing and customer lifecycle. Efficient capacity is useful, but the organization also needs to know what it is creating, changing, and closing whenever it manages one customer.

Editorial disclosure
This article is based on documented sources and editorial analysis. Proposed evaluation examples are not independently measured benchmark results.

Sources & further reading

Use this guide as a starting point. Define and test the requirements of your own workload before selecting a product.

Related research