Chapter 2. Architectural Overview

Titan is a graph database engine. Titan itself is focused on compact graph serialization, rich graph data modeling, and efficient query execution. In addition, Titan utilizes Hadoop for graph analytics and batch graph processing. Titan implements robust, modular interfaces for data persistence, data indexing, and client access. Titan’s modular architecture allows it to interoperate with a wide range of storage, index, and client technologies; it also eases the process of extending Titan to support new ones.

Between Titan and the disks sits one or more storage and indexing adapters. Titan comes standard with the following adapters, but Titan’s modular architecture supports third-party adapters.

Broadly speaking, applications can interact with Titan in two ways:

  • Embed Titan inside the application executing Gremlin queries directly against the graph within the same JVM. Query execution, Titan’s caches, and transaction handling all happen in the same JVM as the application while data retrieval from the storage backend may be local or remote.
  • Interact with a local or remote Titan instance by submitting Gremlin queries to the server. Titan natively supports the Gremlin Server component of the Tinkerpop stack.

Figure 2.1. High-level Titan Architecture and Context

titan architecture layer diagram