-
Notifications
You must be signed in to change notification settings - Fork 0
Storage Backend Overview
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.
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 |