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:
- Scale-Out Performance
- Continuous Availability
- Region Distribution
- No Knobs Administration
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:
- Broker: Manages access to transaction engines and storage managers, independent of any particular database in the NuoDB system. By default, when you start a broker, the broker defines a domain. A domain comprises one or more brokers. There is never more than one broker on a host.
- Agent: Manages NuoDB processes running on a particular host and communicates with one broker about the state of the NuoDB processes on its host. There is one broker or one agent on each host in a domain. However, in this release, the use of agents is not supported. Use brokers instead.
- Transaction engine (TE): Provides application access to a single NuoDB database by processing SQL commands, caching data, and coordinating transactions with other TEs and storage managers (see below).
- Storage manager (SM): Reads and writes transacted data to and from disk.
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 ACID 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:
- 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.
- 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.
- 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.
Interested in learning more? Here are some options: