Weaver is a distributed graph store that provides horizontal scalability, high-performance, and strong consistency.
• Weaver achieves over 12x higher throughput than Titan on an online social network workload similar to that of Tao. In addition, Weaver also achieves 4x lower latency than GraphLab on an offline, graph traversal workload
• Weaver is a high-performance, transactional, and scalable online data store for graphs.
• In addition to the native C++ binding, Weaver provides a Python client that users can program against.
Contact for Pricing
Small (<50 employees), Medium (50 to 1000 employees), Enterprise (>1001 employees)
Weaver Alpha is a scalable, fast, consistent graph store. Weaver is a distributed graph store that provides horizontal scalability, high-performance, and strong consistency. Weaver enables users to execute transactional graph updates and queries through a simple python API. For example, users can create a user (node) and a link (edge) of a specified type in a single transaction. Users can also query a user's friends-of-friends in another transaction. Weaver dynamically migrates portions of the graph across shards to maintain graph locality and minimize communication. Weaver also enables users to cache results of graph computation at the nodes.
Weaver has a pre-built Docker image that makes it easier to deploy the system. The weaver/weaver Docker image includes a Weaver installation and scripts that setup a local Weaver instance. Weaver needs running instances of Hyperdex, the Weaver timeline oracle, and the Weaver coordinator. To start all of this, get the code and execute the start_weaver.sh script. This script will ssh into the machines which will host the various processes, so users need a running ssh-server on those machines. The script takes a single argument: path of the weaver.yaml config file, which defaults to /etc/weaver.yaml or /usr/local/etc/weaver.yaml. The config file specifies the IP addresses and ports to which the Hyperdex coordinator, the timeline oracle, and the Weaver coordinator will bind. Users must start as many timestampers as listed in the weaver.yaml config file, at which point users have a working cluster. Users should additionally start backup timestampers and shards by appending the -b option to weaver shard and weaver timestamper. Users need f backups for each shard and timestamper to tolerate failures.