Titan graph database is focused on high scalability and distributed processing.
The below excerpts should give you an high-level overview of what ecosystem Titan lives in. There are lots of names, terms and concepts to grasp to fully employ Titan so be prepared for...mental damage early and often.
- 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.
- Between Titan and the disks sits one or more storage and indexing adapters.
- Gremlin is Titan’s query language used to retrieve data from and modify data in the graph.
- a path-oriented language
- developed independently from Titan and supported by most graph databases.
- Gremlin is a graph traversal language.
- use Gremlin for graph query, analysis, and manipulation.
- Gremlin works over those graph databases/frameworks that implement the Blueprints property graph data model.
- This distribution of Gremlin provides support for Java and Groovy.
- Gremlin-Scala = a thin wrapper for Gremlin to make it easily usable for Scala Developers.
- Gremlin is a graph DSL for traversing graph databases
- graph databases including Neo4j, OrientDB, DEX, InfiniteGraph, Titan, Rexster graph server, and Sesame 2.0 compliant RDF stores.
- Graphs are data structures where there exists vertices (i.e. dots, nodes) and edges (i.e. lines, arcs).
- By using Gremlin, it is possible make use of a REPL (command line/console) to interactively traverse a graph.
- Titan is interesting to me for a few reasons: its vertex-centric indexes can greatly improve query performance, it can use ElasticSearch for external indexes to quickly find vertexes to start queries at, it scales-out simply thanks to Cassandra, and integrates tightly with Faunus for global graph processing via map-reduce.
A very interesting and short reading is Defining a Property Graph. Perhaps the entire Wiki article could've been copied over here.