Client Development

There are two ways to access a system running NuoDB:

  1. Using the NuoDB command-line tools such as nuocmd and nuosql.

  2. Write a client application using one of our many drivers.

Database Tools

The tools are installed as part of deploying NuoDB, so you can run them directly on the server machine (typically, any machine or VM where a NuoDB Admin Process is running). If you are running Docker or Kubernetes, you would exec into the AP container to run them.

However, you may find it more convenient to use the Client-Only package.

Tools are:

  • nuosql provides a SQL command line for interacting with a running NuoDB database.

  • nuocmd utility for managing and troubleshooting your domain.

  • nuoloader and nuodump for exporting and importing data respectively.

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

  • NuoDB Migrator for migrating schemas and existing data to a NuoDB database.

Refer to Command Line Tools Reference for details.

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.

Driver and NuoDB versions can be mixed flexibly. 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 any driver version can work with any NuoDB database version (both drivers newer than the database and drivers older than the database are supported). When you upgrade NuoDB, you do not need to upgrade your client application.

  • You do not have to choose the latest available driver or the driver included in the same release (for drivers that are shipped with the NuoDB software).

  • However, newer driver versions contain bug fixes and may be able to take advantage of newer features of the database for improved performance.

The drivers can be found in various locations, for details refer to NuoDB Drivers.

The C and C++ drivers are only available as part of a NuoDB installation (either the full Server Installation or the Client-Only package). They are not available from anywhere else.

Managememt 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.

You can write your own REST clients, if you wish, in the language if your choice, such as Go, Python, or Java. The REST API only requires HTTP support and no driver is required.

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

Section Contents

This section covers the following information:

  1. The Client-Only package - just the command-line tools and drivers.

  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:

    • Requirements — software you must have installed.

    • Installation — where to find the driver, what files are installed and any steps you need to complete.

    • Common Database Operations — basic operations such as creating a connection and executing a query.

    • Additional Usage Information — various topics to help you use the driver successfully.

    • Troubleshooting — issues you might encounter and how to resolve them.

    • See Also — pointers to additional information you might find useful.

    • Examples — samples that illustrate how to use the driver.