How Oracle's pluggable databases will work
Pluggable databases will offer new advantages in efficiency, Oracle executives argued at OpenWorld
Oracle CEO Larry Ellison revealed this week at the OpenWorld conference that the next version of the company's flagship database, Oracle 12c, would feature a radical new architecture called pluggable databases.
Pluggable databases will allow multiple databases to run under one copy, or instance, of the Oracle database software, a feature he called "multitenancy."
Unlike open-source MySQL databases, work on which is largely conducted in public view, Oracle's work on its flagship database is largely conducted behind closed doors. So, the company did not reveal many details about how pluggable databases would work and the software is not due to be released for another year.
However, some basic details emerged in the days after Ellison's announcement Sunday.
Two of Oracle 12c's principal architects -- Oracle distinguished product manager Bryn Llewellyn and Oracle architect Kumar Rajamani -- talked at one conference session about how Oracle 12C differs from the current Oracle 11g database. Oracle Vice President Tom Kyte, who authors the popular Ask Tom Oracle technical blog, also spoke more about how pluggable databases will help users.
In a nutshell, the new design splits today's database into two separate entities, an act Llewellyn called "architectural separation." One portion, often referred to as the Root or the container database, will hold all the functionality and metadata required to run the database itself. The second portion will be the user's database and it will be independent from the container database.
"We separate Oracle's metadata from the tenant's metadata," Llewellyn explained. "The root contains Oracle's metadata, while the pluggable database contains the customer metadata."
Dividing the database operations cleanly from the user's content is a major transformation from traditional database architectures. Oracle 11g, and all its predecessors, could only run one database at a time, Kyte said. If an organization wanted to run multiple databases on a single server, it would need to run multiple instances of Oracle 11g, one for each database.
As the name implies, pluggable databases allow multiple tenant databases to run under one copy of Oracle 12c. In fact, Oracle 12c can run up to 250 user databases, Llewellyn said, adding that 250 is an arbitrary number that Oracle chose, and the architecture could probably support more. The new database is compatible with older Oracle databases, Llewellyn said.
This change in architecture brings a number of benefits that Oracle touted through the week, including improved efficiency, stronger security and easier upgrades.
Today, many organizations are running multiple databases on a single server or they try to build a huge database that supports multiple applications. Both approaches are inefficient, Oracle argued through the week.
"I've been very critical of multitenancy at the application layer," Ellison said during his keynote speech on Tuesday. He noted that security tools would not work sufficiently in this architecture.
"Data isolation should be at the infrastructure layer -- in separate virtual machines -- or at the database layer," he said. Of the two options, the database layer is more efficient, Ellison argued.
The pluggable database is inherently more efficient for a number of reasons, Rajamani later explained. Today, a server running 100 databases must switch rapidly between all those databases, which creates a lot of overhead. "A hundred binaries are going to 100 context switches," he said. A single database eliminates all this task switching. Also, each database has a large number of background processes that need to run continuously, and reducing all of these processes to a single set saves resources.
Also, having a single copy of database software to handle multiple user databases reduces the amount of disk space needed, since it eliminates the multiple copies of the host database software. (Oracle did not disclose how this new architecture would affect licensing costs.)
In the past, organizations have tried to consolidate their data onto a single database, but they may have encountered a number of difficulties. For one, they may have run into namespace problems, where the names of columns of one user database table may be identical to those in another, which then must be reconciled on an individual basis. Also, it is difficult to effectively control access to multi-use databases. Different users require different tables, but establishing access rights for each user at the database level can be a time-consuming and error-prone process.
The pluggable database architecture could solve these problems, however. In separate user databases, the namespaces would be entirely independent of one another, so duplicate names would not be a problem. It also solves the access problem. Oracle is promising that the separation between two pluggable databases will be as strong as the separation between two totally independent databases today.
Pluggable databases will also make upgrades and database transfers between machines more efficient, Oracle argued. As the name implies, pluggable databases could be easily decoupled from the container database. A user database can be cleanly moved from one copy of Oracle 12c to another copy of Oracle 12c. Also, Oracle is updating its Enterprise Manager and other database management software so it can allow administrators to apply changes across multiple user databases through a single action.
Upgrading Oracle 12c and subsequent editions should be easier as well. An administrator can install the new copy of the database and then, in a single operation, switch all the pointers in the user databases to the new copy on the root database, an operation that should take only a few seconds. Upgrading the database software is "1,000 times faster, because you are just updating the metadata," Rajamani said.
The pluggable approach also allows easy database cloning, which should simplify back-up operations as well as give developers an easy way to test new products against an identical copy of a working database.
Attendees of the sessions seemed excited about the changes for the most part, although they peppered the speakers with questions to learn as much as they could.
Ajai Gupta, a network manager at NetApp, praised the new architecture, noting that organizations are increasingly using a single database for multiple applications, which requires a lot of security management at the application and networking layers. This approach also makes it more difficult to move databases from location to location. The pluggable architecture "provides continuity across clouds and data centers," he said.
Gupta did note that the new architecture would also raise a number of challenges. Organizations may have to rethink how to allocate computational resources, he said. Database administrators will have to determine the new workload characteristics of running multiple databases on a single server. The optimum size of a server, in reference to memory and storage space, may also need to be reconsidered.
"Databases coming from separate servers to one server will pose some challenges in performance management," Gupta said.