The First Database Designed for the Cloud
Today Oracle announced the general availability (GA) of
Oracle Database 12c, the first
database designed for the Cloud. Oracle Multitenant, new with Oracle Database
12c, is a key component of this – a
new architecture for consolidating databases and simplifying operations in the
Cloud. With this, the inaugural post in the Multitenant blog, my goal is to
start the conversation about Oracle Multitenant. We are very proud of this new
architecture, which we view as a major advance for Oracle. Customers, partners
and analysts who have had previews are very excited about its capabilities and
This high level review of Oracle Multitenant will touch on
our design considerations and how we re-architected our database for the cloud.
I’ll briefly describe our new multitenant architecture and explain it’s key
benefits. Finally I’ll mention some of the major use cases we see for Oracle
We always start by talking to our customers about the
pressures and challenges they’re facing and what trends they’re seeing in the
Some things don’t change. They face the same pressures and
the same requirements as ever: Pressure to do more with less; be faster,
leaner, cheaper, and deliver services 24/7. Big companies have achieved scale.
Now they want to realize economies of scale. As ever, DBAs are faced with the challenges of patching and upgrading large numbers of databases, and provisioning new ones.
Requirements are familiar: Performance, scalability,
reliability and high availability are non-negotiable. They need ever more security
in this threatening climate. There’s no time to stop and retool with new
What’s new are the trends. These are the techniques to use
to respond to these pressures within the constraints of the requirements. With
the advent of cloud computing and availability of massively powerful servers –
even engineered systems such as Exadata – our customers want to consolidate many
applications into fewer larger servers. There’s a move to standardized services
– even self-service.
Consolidation is not new; companies have tried various
different approaches to consolidation of databases in the cloud.
One approach is to partition a powerful server between
several virtual machines, one per application. A downside of this is that you
have the resource and management overheads of OS and RDBMS per VM – that is,
per application. Another is that you have replaced physical sprawl with virtual
sprawl and virtual sprawl is still expensive to manage.
In the dedicated database model, we have a single physical
server supporting multiple databases, one per application. So there’s a shared
OS overhead, but RDBMS process and memory overhead are replicated per
application. Let's think about our traditional Oracle Database architecture.
Every time we create a database, be it a production database, a development or
a test database, what do we do? We create a set of files, we allocate a bunch
of memory for managing the data, and we kick off a series of background
processes. This is replicated for every one of the databases that we create. As
more and more databases are fired up, these replicated overheads quickly
consume the available server resources and this limits the number of
applications we can run on any given server.
In Oracle Database 11g
and earlier the highest degree of consolidation could be achieved by what we call
schema consolidation. In this model we have one big server with one big
database. Individual applications are installed in separate schemas or
table-owners. Database overheads are shared between all applications,
which affords maximum consolidation. The shortcomings are that application
changes are often required. There is no tenant isolation. One bad apple can spoil the
New Architecture & Benefits
In Oracle Database 12c, we have a new multitenant
architecture, featuring pluggable databases. This delivers all the resource
utilization advantages of schema consolidation with none of the downsides.
There are two parts to the term “pluggable database”:
- "pluggable", which is new, and
- "database", which is familiar.
Before we get to the exciting new stuff let’s discuss what
hasn’t changed. A pluggable database is a fully functional Oracle database.
It’s not watered down in any way. From the perspective of an application or an
end user it hasn’t changed at all. This is very important because it means that
no application changes are required to adopt this new architecture. There are
many thousands of applications built on Oracle databases and they are all ready
to run on Oracle Multitenant.
So we have these self-contained pluggable databases (PDBs),
and as their name suggests, they are plugged into a multitenant container
database (CDB). The CDB behaves as a single database from the operations point
of view. Very much as we had with the schema consolidation model, we only have
a single set of Oracle background processes and a single, shared database
memory requirement. This gives us very high consolidation density, which affords
maximum reduction in capital expenses (CapEx). By performing management
operations at the CDB level – “managing many as one” – we can achieve great
reductions in operating expenses (OpEx) as well, but we retain granular control
where appropriate. Furthermore, the “pluggability” capability gives us
portability and this adds a tremendous amount of agility. We can simply unplug
a PDB from one CDB and plug it into another CDB, for example to move it from
one SLA tier to another.
I'll explore all these new capabilities in much more detail in a future posting.
We can identify a number of use cases for Oracle Multitenant.
Here are a few of the major ones.
- Development /
- where individual
engineers need rapid provisioning and recycling of private copies of a few
"master test databases"
- Consolidation of
- using fewer, more
- Software as a
- deploying separate
copies of identical applications to individual tenants
- Database as a
self-service provisioning of databases on the private cloud
Distribution from ISV / Installation by Customer
- Eliminating many
typical installation steps (create schema, import seed data, import application
code PL/SQL…) - just plug in a PDB!
- High volume data
- literally via disk
drives in envelopes distributed by truck! - distribution of things like GIS or
MDM master databases
- …various others!
Previous approaches to consolidation have involved a
trade-off between reductions in Capital Expenses (CapEx) and Operating Expenses
(OpEx), and they’ve usually come at the expense of agility. With Oracle Multitenant
you can have your cake and eat it:
- Minimize CapEx
- More Applications per
- Minimize OpEx
- Manage many as one
- Standardized procedures
- Rapid provisioning
- Maximize Agility
- Cloning for development
- Portability through
- Scalability with RAC
- Ease of Adoption
- Applications run
It’s a pure deployment choice. Neither the database backend
nor the application needs to be changed.
In future postings I’ll explore various aspects in more
detail. However, if you feel compelled to devour everything you can about
Oracle Multitenant this very minute, have no fear. Visit the Multitenant page on OTN and explore the various resources we have available there. Among
these, Oracle Distinguished Product Manager Bryn Llewellyn has written an
excellent, thorough, and exhaustively detailed White Paper about Oracle
Multitenant, which is available here.
I tweet @OraclePDB #OracleMultitenant