TypeDB Drivers overview

TypeDB accepts client connections via gRPC based TypeDB Driver RPC protocol.

To build an application capable of connecting to TypeDB, we can use one of the existing libraries implementing it, called TypeDB Drivers, or we can implement it ourselves as a new driver.

A TypeDB Driver is a library that implements TypeDB Driver RPC protocol and provides a language-specific native API. TypeDB Drivers are available for some of the most popular programming languages:

We recommend instantiating a single TypeDB Driver per application.

Architecture of a TypeDB Driver

TypeDB Drivers share a common architecture and capabilities. The key components have to do with providing an API, opening and managing connections, sessions, and transactions, as well as validating and sending queries, processing responses.

The following diagram illustrates the structure of a typical TypeDB Driver.

Structure of a TypeDB Dirver

Simply put, the main components of any TypeDB Driver are the classes and methods to establish a connection to a TypeDB database, execute queries, and process responses.

As of version 2.24.x the Java, Python, and C drivers are re-implemented as wrappers on top of the Rust driver via an FFI interface.

Provide Feedback