Skip to content

Latest commit

 

History

History
276 lines (212 loc) · 8.97 KB

CHANGELOG.textile

File metadata and controls

276 lines (212 loc) · 8.97 KB

Titan: Distributed Graph Database
http://titan.thinkaurelius.com

[[https://raw.github.com/thinkaurelius/titan/master/doc/images/titan-globe.png|width=100px]]

Titan 0.y.z

Version 0.4.0 (October 16, 2013)

```xml

com.thinkaurelius.titan
titan-core
0.4.0

```

Tested Compatibility:

  • Cassandra 1.2.2
  • HBase 0.94.7
  • BerkeleyJE 5.0.73
  • Elasticsearch 0.90.5
  • Lucene 4.4.0
  • Persistit 3.3.0
  • Hazelcast 3.0.2
  • Java 1.7+ (partially compatible with Java 1.6)

Features:

  • Initial Fulgora (alpha) release: Added CacheStore interface and adapter as well as a specific implementation based on the Hazelcast distributed data grid
  • Configurable LRU transaction cache for all data loaded into a transaction which allows rolling transactions without memory exceptions
  • MultiQuery which allows combining multiple queries into one request to speed up deep traversals by orders of magnitude against remote backends
  • Completely refactored query optimization and execution framework which makes query answering faster
  • GraphQuery optimizer combines multiple indexing backends to determine the result set most efficiently
  • Support for ordering in GraphQuery
  • Persistit storage adapter for local graph storage
  • Metrics integration for monitoring
  • Support for regular expressions in GraphQuery
  • Refactoring and improvement of the locking protocol
  • Renaming of type definition methods to reduce the confusion surrounding this topic (see UPGRADE for more detail)
  • Re-implemented scanning operations in storage backends to make getVertices() and getEdges() more efficient and functionally correct
  • Added performance test suite and automatic benchmark execution framework
  • Refactored attribute handling and made it explicit
  • Transactions are configurable by the user
  • Titan interprets relative paths in configuration files relative to the directory containing said configuration file (instead of the directory from which e.g. Gremlin was invoked)
  • Attribute Handling has been refactored and extended to allow custom converters and data type checkers

Bugfixes:

  • Cassandra compression
  • Resolution of elements across transaction boundaries
  • Tokenization of strings for full text search
  • Explicit mapping of elasticsearch elements
  • Changed index format to ensure uniqueness
  • Correct limit behavior for queries
  • Fixed incorrect query caching behavior
  • Correct string serialization
  • Correct handling of hybrid GraphQuery
  • Better handling of data degradation issues

Check the issue tracker for a full list of fixed issues.

Special Thanks to:

Version 0.3.1 (May 14, 2013)

```xml

com.thinkaurelius.titan
titan-core
0.3.1

```
Tested Compatibility:

  • Cassandra 1.2.2
  • HBase 0.94.1
  • BerkeleyJE 5.0.73
  • Elasticsearch 0.90.0
  • Lucene 4.1.0
  • Java 1.6+

Features:

  • Improved in-transaction index handling for equality matches
  • Support for Lucene 4 throughout
  • Storage backend compression enabled by default where applicable
  • Removed RexsterTitanClient since all the functionality has been rolled into RexsterClient
  • Automatic type-casting of most primitive types and Geoshape where possible
  • Refactored to using immutable data structures for storage backend communication
  • Re-implemented InMemory storage backend for better performance

Bugfixes:

  • Launching multiple Titan servers in one cluster with RF>1
  • Updated and improved the Astyanax adapter for Cassandra
  • Improved robustness of ID allocation
  • Vertex iteration in embedded Cassandra with BoP
  • Updated Titan server scripts and configuration files
  • Fixed issues around automatic transaction migration of vertices and edges
  • Fixed BerkeleyJE concurrency clean-up issue
  • Cleaned up and trimmed storage backend interfaces
  • Fixed ghost vertex issue when iterating over vertices
  • Fixed datatype conversion issues

Check the issue tracker for a full list of fixed issues.


Version 0.3.0 (March 29, 2013)

```xml

com.thinkaurelius.titan
titan-core
0.3.0

```
Tested Compatibility:

  • Cassandra 1.2.2
  • HBase 0.94
  • BerkeleyJE 5.0.73

Features:

  • Geo, numeric range, and full-text indexing supporting multiple index backends
  • Edge Indexing
  • Refactoring of Titan-core for enhanced performance due to selective de-serialization
  • New query optimizer for vertex-centric and graph queries
  • Vertex centric query caching for selective queries
  • InMemoryGraph implementation
  • IdGraph support
  • Relaxed transactional scope requirement for vertices
  • Edge no longer extends Vertex
  • Updated to Kryo 2

Bugfixes:

  • Cassandra Thrift Max-Message-Size issue
  • JMX settings for Titan Server
  • Out-unique edges
  • Modified state in global graph operations
  • see issue tracker for a full list


Version 0.2.1 (March 22, 2013)

```xml

com.thinkaurelius.titan
titan-core
0.2.1

```
Tested Compatibility:

  • Cassandra 1.2.0
  • HBase 0.94
  • BerkeleyJE 5.0.58

Features:

  • Refactored POM into multi-module project
  • Support for global vertex (g.V) and edge (g.E) iteration for cassandra and hbase backends
  • Compatible with Cassandra 1.2.0 for all three storage adapters: embedded, thrift, astyanax
  • Improved HBase adapter:
    • Automatic Master launch for testing
    • Refactored batch mutation and reading
    • Optimized HBase operations
  • Updated to Blueprints 2.3.0
  • Better integration with Rexster Rexpro
  • Automatic directory creation for local storage backends
  • Internal Titan version handling and compatibility checks
  • Added additional performance tests

Bugfixes:

  • Resolved issues around Java 1.7
  • Shutdown error in astyanax adapter
  • Made thrift frame and message size configurable for cassandra adapters
  • see issue tracker for a full list

Special Thanks to:

  • Pavel Yaskevich (xedin)


Version 0.2.0 (December 24, 2012)

```xml

com.thinkaurelius.titan
titan
0.2.0

```
Tested Compatibility:

  • Cassandra 1.1.3 & 1.1.4
  • HBase 0.94.1
  • BerkeleyDB 5.0.58
  • TinkerPop (Blueprints, Gremlin, Rexster) 2.2.0
  • This version is incompatible with the previous version of Titan. Please follow the [[Upgrade Instructions]] to switch to the new version.

Features:

  • Embedded Cassandra: Titan can be embedded with Cassandra, that means, Titan starts a Cassandra node in the same JVM and uses efficient in process communication to store and retrieve data.
  • [[Titan Server]]: Titan comes with a light-weight Gremlin query server.
  • Streamlined configuration settings. Please review the new configuration options if you are upgrading from an older version of Titan.
  • Many small performance improvements throughout the code. Please review the issue tracker and the commit log for more details.

Bugfixes:

  • Fixed edge sorting bug which caused edges to be returned in a random order even when a vertex centric index was defined.
  • Fixed id allocation bug that causes Titan to read the entire row during id allocation which can lead to id allocation failures.
  • Completely refactored diskstorage package for better code quality and performance.
  • Fixed edge caching bug for composite primary keys on edges.
  • Fixed a number of smaller bugs. Please review the issue tracker and the commit log for more details.

Special Thanks to:


Version 0.1.0 (September 7, 2012)

```xml

com.thinkaurelius.titan
titan
0.1.0

```
Tested Compatibility:

  • Cassandra 1.1.3 & 1.1.4
  • HBase 0.94.1
  • BerkeleyDB 5.0.58

Features:

  • The focus of the initial Titan release was on building a stable and robust graph database as well as incorporating community feature suggestions and feedback from early adopters of Titan.

Bugfixes:

  • Fixed concurrency and synchronization issues

Special Thanks to: