Client Development

There are two ways to access a system running NuoDB:

  1. Using the NuoDB command line tools

  2. Write a client application using one of the NuoDB client drivers.

Database Tools

The tools are installed as part of deploying NuoDB, allowing direct execution on server machine (typically, any machine or VM where a NuoDB Admin Process is running). When using Docker or Kubernetes, the tools are executed by running commands inside the AP container using the exec command.

However, using the Client Package may be more convenient.

NuoDB command line tools are:

  • nuoarchive for validating an offline database or creating an archive from a backup-set.

  • nuocmd for managing and troubleshooting the domain.

  • nuodump for extracting schemas and table data from a running NuoDB database.

  • nuoloader for importing and exporting data from NuoDB database.

  • nuodb-migrator for migrating schemas and existing data to a NuoDB database.

  • nuosql provides an interactive command line prompt to issue SQL commands against a running NUODB database.

For more information, see Command Line Tools Reference.

Client Applications

NuoDB supports client connections by means of drivers written for various languages.

  • Clients connect to NuoDB using a driver.

  • A driver provides an Application Programming Interface (API) for interacting with a running database.

  • NuoDB provides drivers for various programming languages.

  • Additionally, NuoDB provides extensions to support various object-relational mappings (ORMs) such as Hibernate for Java.

The NuoDB JDBC driver provides full backward and forward compatibility with all NuoDB versions. When a NuoDB driver connects to the NuoDB database, it negotiates a client protocol version that both the client and the database agree on.

This ensures that when the NuoDB version is upgraded, it is not required to upgrade the client application. However, newer driver versions contain bug fixes and may be able to take advantage of newer features of the database for improved performance.

For more information, see NuoDB Drivers.

The C and C++ drivers are only available as part of full Server Installation or the Client Package.

Management Interface

NuoDB provides a REST API to manage databases. This expects connections via HTTP or HTTPS to any Admin Process (AP) running in the Domain. The same REST API is used internally by nuocmd.

Custom REST clients can be written in any preferred language, such as Go, Python, or Java. The REST API only requires HTTP support and does not require a driver.

NuoDB supplies a Python REST client called pynuoadmin (which is used internally by nuocmd). Refer to the Client Package for details.

Section Contents

This section covers the following information:

  1. The Client Package

  2. Load Balancing connections across TEs.

  3. NuoDB Drivers overview.

  4. Details of each driver in its own sub-section, including the following information where applicable:

    • Software Requirements

    • Installation

    • Common Database Operations

    • Additional Information to use the driver successfully.

    • Troubleshooting

    • Examples