-
Notifications
You must be signed in to change notification settings - Fork 0
Titan Limitations
There are various limitations and “gotchas” that one should be aware of when using Titan. Some of these limitations are necessary design choices and others are issues that will be rectified as Titan development continues.
Titan is a scalable OLTP graph database focused on handling a large number of concurrent transactions against a single graph. Titan does not support global graph operations, like retrieving all vertices or edges, because such work loads cannot be reasonably handled within the context of a single transaction. We are working on a Hadoop adapter to process such OLAP work loads.
Before a key is used as a vertex property, a key index must be created for it if indexing is desired. This pitfall will be fixed in a future release.
Once an index has been created for a key, it can never be removed. This pitfall will be fixed in a future release.
This pitfall constrains the graph schema. While the graph schema can be extended, previous declarations can not be changed. This pitfall will be fixed in a future release.
Titan provides a batch loading mode that can be enabled through the configuration. However, this batch mode only facilitates faster loading into the storage backend, it does not use storage backend specific batch loading techniques that prepare the data in memory for disk storage. As such, batch loading in Titan is currently slower than batch loading modes provided by single machine databases.
Another limitation related to batch loading is the failure to load millions of edges into a single vertex at once or in a short time of period. Such supernode loading can fail for some storage backends. This limitation also applies to dense index entries. For more information, please refer to the ticket