Skip to content
okram edited this page Jul 11, 2012 · 4 revisions

Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects. Berkeley DB provides a collection of well-proven building-block technologies that can be configured to address any application need from the hand-held device to the datacenter, from a local storage solution to a world-wide distributed one, from kilobytes to petabytes. — BerkeleyDB Homepage

Running Titan in Single Machine Mode

Titan was primary developed to be used for multi-machine, distributed graph storage and processing. However, to address all aspects of the CAP Theorem (see the final section of The Benefits of Titan), Titan provides out-of-the-box connectivity to BerkeleyDB. The simplest way to get Titan/BerekleyDB running is to point Titan to a local directory.

TitanGraph graph = TitanFactory.open("/tmp/graph")

If the directory doesn’t exist, then a new directory is created with an empty graph. If the directory already exists, then the graph data stored in that directory is loaded.

Titan/BerkeleyDB can also make use of a Configuration object.

Configuration conf = new BaseConfiguration();
conf.setProperty("storage.directory", "/tmp/graph")
conf.setProperty("storage.backend", "local")
conf.setProperty("storage.cache_percentage", 60)
TitanGraph graph = TitanFactory.open(conf);

Titan/BerkeleyDB has all the properties of a Titan graph database in that it can handle multiple concurrent transactions.

The Size of the Graph

Titan/BerkeleyDB has been tested at ranges in the 100s of millions of edges and the 10s of millions of vertices with consistent performance. Please feel free to add information to this section for other larger graphs being processed using Titan/BerkeleyDB.