NuoDB At a Glance

NuoDB is a distributed cloud database management system with a rich SQL implementation and full support for transactions. NuoDB is designed to offer:

As a distributed system, a NuoDB installation consists of a collection of hosts, called a domain, that have been provisioned to work together to support one or more NuoDB databases. One or more instances of the following kinds of NuoDB processes are running on the hosts in the domain:

Applications use JDBC or other interfaces to connect to TEs. TEs and SMs communicate with each other as required to implement transactions, durability, and the other ACIDAcronym for the database transaction properties of atomicity, consistency, isolation, and durability. behavior expected from a full SQL database.

The following illustration shows how a client connects to a simple NuoDB database system.

The steps in the process shown in this conceptual illustration are as follows:

  1. An application that seeks to connect to the database calls to the broker on host A. Because the broker communicates with all brokers in the domain it has a record of which transaction engines are available and it uses that information to determine the best transaction engine for the application.
  2. The broker communicates to the client that it should connect to the transaction engine on host B. After that, the application no longer communicates with the broker.
  3. The client connects to the transaction engine on host B.

As indicated in the illustration, a domain may consist of multiple TEs and multiple SMs, configured as necessary to support scalability, availability, or redundancy requirements. A minimal deployment of NuoDB consists of a single TE, but that configuration provides no durability. A minimal durable configuration consists of a single TE and a single SM. A minimally-redundant configuration consists of two TEs and two SMs, paired to two hosts.

To make managing the scalability, reliability, and redundancy goals for your databases easier, NuoDB introduces the concept of a database template. A template specifies a Service Level Agreement (SLA)A contract between two or more parties that defines services to be delivered. NuoDB templates are an example of an SLA. for any databases to which it is applied. NuoDB's management tier enforces the SLA at all times and automatically restarts TEs or SMs on hosts as necessary to ensure that the template's specification is maintained. For example, suppose a host on which TEs or SMs are running becomes unavailable. NuoDB starts replacement TEs or SMs on other hosts in the domain to enforce the SLA. NuoDB includes the following templates:

A template is applied to a database when the database is created. A database created with a template is referred to as a managed database. The template specifies at a logical level how resources in the domain should be used to create and manage an appropriate configuration of TEs and SMs across the domain's hosts and regions as required to maintain the SLA required for a given database. For example, NuoDB ensures that databases created with the Minimally Redundant template are on at least two hosts in the domain with each host running a transaction engine and a storage manager. If more hosts are available, NuoDB distributes the four processes (2 TEs and 2 SMs) on up to four hosts.

If scalability, availability, or redundancy requirements change after you create a database, you can apply a different template at any time. NuoDB automatically adjusts the configuration of TEs and SMs in the domain according to the new template.

In this release, expanded support for specific two-region, multi-data-center scenarios including disaster recovery and active/active-type operations is a preview feature.

Caution: NuoDB encourages you to use preview features in your development projects. However, the use of preview features in production is not supported.

Interested in learning more? Here are some options: