Skip to content

Storage Backend Overview

Dan LaRocque edited this page Jul 24, 2013 · 6 revisions

Titan persists all data in a storage backend. It supports various storage backends which is denoted by the storage.backend option. The choice of backend determines the transactional guarantees and scalability of a particular Titan graph instance. This means, Titan can accomodate any level of isolation, consistency, scalability, or availability that a particular application may require.

However, the CAP theorem stipulates that any practical database can only provide 2 of the 3 desirable properties: Consistency, Availability, and Partitionability (i.e. scalability). The choice of storage backend is therefore a tradeoff guided by the requirements of a particular use case.

Titan currently supports 3 storage backends covering all 3 edges of the CAP theorem triangle as shown in the figure below.



Storage Backend Comparison

Name storage.option Consistency Availability Scalability Replication
Cassandra cassandra eventually consistent highly available linear scalability yes
HBase hbase vertex consistent single point of failure linear scalability yes
BerkeleyDB berkeleyje ACID single point of failure single machine HA mode available