Distributed Graph Database: The Ultimate Guide

Matt Tanner
|
Head of Developer Relations
|
October 29, 2024
Distributed Graph Database: The Ultimate Guide

Data doesn’t exist in isolation these days. Every piece of data relates to another through some context or form. And this connectivity powers the digital infrastructure our world stands upon, and by association, our day-to-day lives. Through the natural trait of data, these relationships have been nothing but growing in complexity, size, and scope.

We need something that can efficiently keep up with the growing interconnected data ecosystem. One that, by design, scales gracefully, allows for real-time operations, analytics, and can process heavy volumes of data with realistic expectations.

Distributed graph databases have emerged as a powerful solution that stands the demand of relationship-heavy data management. In this article, we’ll discuss how this technology works, its advantages, challenges, and some of the use cases it truly shines in unlike any other. At the end, we’ll explore the best distributed graph database tools to help you easily navigate the space if you’re on the lookout for a solution.

What is a distributed graph database?

A distributed graph database is a specialized database that stores data as vertices and edges, distributing this information across multiple machines. This architecture offers significant performance advantages over traditional, centralized databases, especially when handling large, interconnected datasets.  

Instead of storing the entire dataset on a single server, a distributed graph database spreads it across numerous machines. This enables parallel processing, where multiple machines work concurrently on different parts of the data.  

Think of a travel application mapping the global airline network. Each airport is a node, and each flight route is an edge. A distributed graph database would store this data across many servers. When a user searches for the shortest route between distant airports, the system can simultaneously query multiple machines holding different parts of the network. This parallel processing dramatically speeds up complex queries that would overwhelm a single, centralized server.  

Furthermore, distributed architectures are inherently more scalable. As the dataset grows – say, by adding more airports and routes – the database can simply add more machines to the network. This allows the database to maintain high performance even with massive amounts of data, unlike traditional databases which struggle with complex queries as the dataset expands on a single machine. This scalability is crucial for applications requiring real-time responses on constantly evolving datasets, such as travel booking, social networks, and fraud detection systems.

Distribution also makes the system more fault tolerant. With sufficient replication, the database can continue functioning even if one machine fails, minimizing the risk of data loss. This resilience makes sure the database continues to operate smoothly, even under challenging conditions, without downtime or data inconsistency.

How distributed graph databases work?

Distributed graph databases use multiple techniques to efficiently store, query, and maintain consistency across large datasets. Let’s briefly discuss the key components graph databases employ to handle the complexity and scale of graph data distributed across several machines.

Sharding

Sharding breaks down a large graph into smaller, more manageable pieces. Each shard represents a subset of vertices  and edges . These shards live across different machines in the cluster. This strategy allows the database to handle enormous datasets that a single server would otherwise fail to manage.

Sharding strategies vary depending on the graph structure and use case. Some systems partition based on vertex  properties like geographic location or product type. Others divide by edge  types or use algorithms that cluster related vertices  into the same shard. For example, in a logistics network graph, each shard might represent a region, with warehouses and delivery routes as vertices  and edges . This method ensures consistent efficiency for queries within a region, while cross-region queries involve multiple shards.

Sharding not only reduces the storage burden but also balances the load across the machines. Each machine in the cluster holds responsibility for a portion of the graph. As a result, you get better query performance and less bottlenecks during heavy workloads. However, if you don’t choose an effective sharding strategy, poor partitioning can lead to data imbalance, causing some machines to become overloaded while others remain underutilized.

Distributed query processing

To search a distributed graph, you need a way to find and combine data spread across different parts (shards) of the graph. When a user submits a query, the database must first identify which shards contain the relevant data. It then breaks the query into subqueries, each targeting a specific shard. Then the machines holding the shards process these subqueries in parallel.

For example, in a recommendation engine for an e-commerce platform, a query might search for customers who bought a particular item. If the data is partitioned by product categories, the system issues subqueries to the shards storing customers within those categories. Each shard processes its subquery independently. The database then combines the results to form a complete response to the original query. This distributed processing allows the database to handle large-scale traversals and graph algorithms, such as finding shortest paths or community detection, more quickly than a centralized system can.

Parallel processing also helps with queries that involve edges  spread across different shards. A global supply chain network might span multiple regions, with vertices representing factories, warehouses, and transport hubs. A query to trace the path of goods across the network can involve multiple shards, but by processing these subqueries in parallel, the system can deliver the results faster.

Distributed concurrency control

Maintaining consistency in a distributed environment becomes a major challenge, especially when multiple users or applications access and update data simultaneously. Distributed graph databases use concurrency control mechanisms to prevent conflicts and make sure that the database remains consistent even during concurrent operations.

In optimistic concurrency control, a technique for managing data access, transactions proceed without preemptively locking data. Instead, each transaction completes its work and then checks to see if the data has changed since it was first accessed. If another transaction has modified the data in the meantime, the current transaction rolls back and retries. This approach minimizes contention, allowing for more concurrent operations while relying on validation to ensure data consistency. For example, in a financial graph tracking transactions between accounts, optimistic concurrency control ensures that updates to account balances don’t conflict with each other, even when multiple transactions occur simultaneously.

Many databases use distributed consensus algorithms like Paxos and Raft to maintain agreement across the machines on the order of operations. These algorithms make sure that all nodes in the cluster agree on changes to the data and therefore prevent inconsistencies. In a real-time communication network, for example, distributed consensus guarantees that messages sent between nodes remain consistent across the entire system, regardless of which machine processes them.

Replication

Replication guarantees the availability and fault tolerance of distributed graph databases. Each shard is replicated across several machines, meaning that if one machine fails, the system can continue to function by redirecting queries to another replica. This redundancy secures continuous availability and prevents data loss.

Replication also improves read performance. By creating multiple copies of the data, the system can distribute read queries across different replicas, reducing the load on any single machine. This becomes especially useful for applications that need to serve a large number of read-heavy queries, for example, a graph representing a large online knowledge base. With replicas distributed globally, users can access the nearest replica, which reduces latency and improves response times for geographically distributed users.

Benefits of distributed graph databases

Distributed graph databases offer significant advantages over traditional and single-instance graph databases, particularly when dealing with large datasets and complex relationships. In the preceding section, we’ve discussed some of the technical aspects about how distributed graph databases function. The singular benefits of them relate very much to these traits.

Scalability

Distributed graph databases scale horizontally by adding more machines to the cluster as data grows. Because of horizontal scaling, the database can handle increasing volumes of data without degrading performance. Unlike single-instance graph databases that can hit capacity limits, distributed systems distribute both data and workload across several nodes, significantly reducing the risk of central bottlenecks. While new bottlenecks can arise due to factors like network latency, data partitioning, and inter-node synchronization, these are typically smaller and more manageable than a central bottleneck, making distributed systems more resilient under heavy loads. 

For example, a telecommunications company tracking millions of real-time device connections can scale the system by adding more machines, each responsible for a subset of the network. As a result, the database continues to process and store data efficiently as the number of devices and connections increases. The ability to add machines, also called "node elasticity", allows organizations to grow their infrastructure in response to business needs, with minimal downtime or performance impact.

This scaling method also supports the handling of queries involving billions of vertices  and edges . As new machines join the cluster, they contribute additional processing power and storage. With proper data partitioning and query optimization, distributed systems can maintain relatively consistent query performance as the dataset expands.  For example, consider a large financial institution modeling customer transactions across different services. It can add more machines to efficiently handle the increasing transactional data while keeping the performance steady.

High availability and fault tolerance

As already mentioned, distributed graph databases ensure high availability by replicating data across multiple machines. Replication strategies involve storing copies of each shard (partition of the graph) on multiple nodes. If one node fails, another node with the replicated data can immediately take over, preventing any disruption to the service. This makes distributed graph databases highly fault-tolerant and resilient to hardware or network failures. Applications like e-commerce platforms or banking systems require continuous uptime. If a server failure occurs during peak hours, the database redirects queries to a replica, ensuring users experience no downtime. As you can imagine, failing to maintain robust fault tolerance in such use cases can bring serious consequences.

In more advanced distributed systems, databases employ techniques like quorum-based replication, where read and write operations require acknowledgment from a majority of nodes to ensure consistency. A quorum-based strategy strikes a balance between performance and data consistency so that data remains available even during network partitions or machine failures. In distributed consensus protocols like Raft or Paxos, consensus on the state of the system is reached even if some nodes go offline, guaranteeing system-wide agreement on updates or changes to the database.

Improved performance and fast complex queries

Distributed graph databases optimize their performance by processing queries across multiple machines simultaneously. Thanks to distributed query processing,  distributed graph databases can reduce query execution time and maintain that at scale. Each machine processes its subquery independently, and the database aggregates the results into a unified response. For example, consider a large fraud detection system analyzing banking transactions. Through distributed processing, the system can detect fraudulent activities quickly by traversing the edges between accounts, merchants, and transaction histories across multiple shards. This results in fast incident response and stronger security.

The parallelism not only speeds up traversal but also improves graph algorithms. For example, algorithms like pathfinding or centrality calculations often require examining many vertices and edges  at once. By distributing these operations across multiple machines, the system can handle real-time analytics for massive graphs.

Additionally, distributed caching mechanisms can further improve performance by storing frequently accessed data in memory across nodes. It reduces the need to read from disk repeatedly. Disk read operations are system calls and system calls are expensive. By avoiding them, you essentially save a significant amount of processing time.

Reduced latency

Distributed graph databases also reduce data access latency between database and application by distributing replicas geographically. By placing data closer to user locations, databases reduce the time it takes to retrieve information, significantly improving the user experience. 

A social media platform using a distributed graph database can provide users with immediate recommendations or connections by storing user relationship data in geographically close data centers. When a user in Asia connects, the database can quickly serve relevant data from a nearby replica rather than one in North America, ensuring faster and smoother interactions. Every millisecond of delay can affect the user experience.

Then there exists techniques like dynamic replication, where frequently accessed data is replicated across more nodes closer to the regions generating the most traffic. This further reduces latency while balancing the system load. For read-heavy applications, this technique provides significant performance gains without overwhelming any single node in the cluster.

Flexibility and agility for evolving data models

Distributed graph databases possess great flexibility. They can easily adapt to changes in data models and relationships. This doesn’t come as a surprise due to the fundamental nature of graph databases being schemaless

As new types of vertices or edges come in, the database can incorporate these changes without the need for a full schema overhaul. Dynamic applications like knowledge graphs continuously add new entities and relationships. In such use cases, this flexibility becomes a very critical component. For example, imagine an enterprise knowledge graph that tracks employees, projects, and skills. You can add new nodes representing emerging technologies or job roles without requiring significant restructuring of the existing graph.

You’ll also see this agility in querying capabilities. Distributed graph databases allow you to design flexible queries that can evolve as the data model changes. In a cybersecurity application tracking threats and attack vectors, the database may need to integrate new threat intelligence feeds as they become available. A distributed graph database can smoothly and continuously add new vertices  and edges  to the existing data model. As a result, security teams can analyze evolving threat patterns without interruptions or costly database migrations.

Enhanced load balancing and system efficiency

Distributed graph databases have been designed to distribute both storage and processing workloads efficiently across nodes in the cluster. It ensures that no single machine becomes a bottleneck. As the data grows or query traffic increases, distributed databases can automatically reassign workloads to underutilized nodes so the system stays efficient. 

For example, a logistics company using a distributed graph database to model its supply chain may experience uneven traffic as certain regions see a surge in shipping activities. The database can dynamically balance the load by redistributing queries or data storage to nodes with lower activity, resulting in even performance across the entire system.

In addition to automatic load balancing, distributed graph databases often support dynamic sharding. The database can re-shard parts of the graph when certain shards become too large or too active. Dynamic sharding can help make sure efficient usage of system resources, prevent performance degradation, and optimize resource allocation.

Challenges in managing distributed graph databases

The numerous benefits distributed graph databases have to offer may convince you to switch to or choose them promptly. But let's take a moment to consider the challenges that come with their adoption. These challenges arise from the inherent complexity of distributing data and processes across multiple machines.

Data consistency: balancing accuracy with performance

One of the biggest challenges lies in maintaining data consistency across a distributed system. Firstly, you must make sure that updates on one machine propagate quickly and correctly to all replicas. To achieve this, you have to implement robust concurrency control mechanisms. Distributed graph databases often face trade-offs between strong and eventual consistency. Strong consistency guarantees that all nodes reflect the same data instantly. However, it can slow down performance, especially under high write loads. Eventual consistency improves performance but may cause temporary inconsistencies. This can prove problematic for applications requiring real-time accuracy, such as financial services. Choosing the right consistency model depends on the application’s needs, balancing consistency, availability, and performance.

Network communication: minimizing latency and bandwidth issues

Distributed graph databases rely heavily on network communication between machines. Complex queries that traverse vertices across multiple shards often require data exchange between different machines, which introduces network latency. Additionally, bandwidth limitations can slow down the overall performance of the system. To minimize these issues, distributed systems must optimize network communication through routing algorithms that reduce unnecessary data transfers and maximize data locality. For example, placing frequently queried nodes on the same machine minimizes cross-shard communication and therefore reduces query times.

Operational complexity: managing a distributed cluster

Managing a distributed graph database introduces more operational complexity compared to a single-instance database. Cluster setup, monitoring, configuration, and maintenance require sophisticated tools and strategies. You must use automated tools and real-time monitoring systems to keep the cluster healthy and make sure that machines are balanced and working efficiently. Tools like Kubernetes and Prometheus have become very popular as they help simplify these tasks by automating deployment, scaling, and alerting. 

Without automation, managing a cluster at scale involves substantial manual effort, making it more error-prone and difficult to maintain. By today’s standards, that becomes an impractical approach and in most cases not feasible.

Data partitioning: finding the right sharding strategy

We’ve already discussed graph partitioning. For distributed graph databases, efficient sharding is critical for performance and scalability. Poor sharding strategies can result in uneven data distribution, where some machines handle more data or queries than others, creating performance bottlenecks. Inappropriate partitioning also leads to excessive network communication between shards, as different machines can store the related data. Effective sharding requires understanding both the graph structure and typical query patterns. 

For example, consider a social network, where some users have far more connections than others. Simply sharding by user ID here can lead to “hotspots” where certain machines handle much more data or traffic than others. Instead, sharding based on edge  types or community detection algorithms can group highly connected nodes within the same shard—for example, users with many mutual connections. This reduces the need for cross-shard communication when queries traverse these edges.

To alleviate this issue and help optimize performance, advanced techniques like dynamic re-sharding allow the database to adjust partitioning over time as query patterns change. However, it can add additional complexity.

Security: protecting data in a distributed environment

Securing a distributed graph database involves more layers than securing a single-instance system. Remember that data is spread across multiple machines. So you’re dealing with a larger attack surface. It becomes harder to ensure end-to-end protection. 

Security strategies must include strong authentication, role-based access control (RBAC), encryption of data in transit and at rest, and regular security audits. You must also secure network communication between nodes, as unencrypted traffic can expose sensitive data. Investment in tools like firewalls, virtual private networks (VPNs), and virtual private clouds (VPCs) becomes just as important. These tools allow administrators to control exposure to external threats as well as restrict network access to only authorized machines.

For highly sensitive applications like healthcare or government systems, encryption protocols like TLS and diligent access control policies can provide an extra layer of safety.

Use cases of distributed graph databases

Throughout our discussion so far, we’ve already touched on brief examples of use cases where distributed graph databases shine. To no one’s surprise, they have unmatched utility in use cases requiring the analysis of complex relationships within large datasets. Let’s explore more of the use cases.

Social networks

Social media platforms such as Facebook and Twitter rely heavily on distributed graph databases to manage the vast network of user interactions. These databases model friendships, follows, likes, and comments as vertices and edges in the graph level. It powers the ability of the platforms to analyze and suggest connections in real time. Without distributed graph databases, platforms like this wouldn’t possess the ability to handle millions of simultaneous interactions while maintaining low-latency performance. Distributed graph databases enable features like friend recommendations, targeted content delivery, and social graph analysis by quickly traversing the complex web of edges.

For example, if you use Facebook, you may have seen it recommend mutual friends. At the database level, this results from identifying second-degree connections between users. Same goes for content suggestions based on shared interests within a social circle.

Recommendation engines

E-commerce platforms like Amazon and streaming services such as Netflix have personalized recommendation sections. You may have noticed sections like “Frequently bought together” on Amazon or “Shows you might like” on Netflix. These recommendation engines leverage distributed graph databases behind the scenes. By analyzing relationships between users, products, and behaviors, they deliver personalized suggestions for each user.

For example, distributed graph databases allow platforms to model the connections between users' browsing history, product purchases, and reviews, so that algorithms can suggest similar products. By processing this data in real time, the system improves user engagement and drives higher sales or watch times. Just like social networks, the ability to scale across millions of users and products, while maintaining fast response times, makes distributed graph databases ideal for tasks like these.

Fraud detection

Financial institutions and e-commerce platforms use distributed graph databases for real-time fraud detection. These systems analyze transaction data, user behavior, and relationships between accounts to detect anomalies indicative of fraudulent activities. 

For example, a distributed graph database can quickly traverse the transaction network of a suspicious account, identifying unusual patterns such as rapid transfers between multiple accounts or connections to previously flagged entities. The system processes these queries across multiple nodes in parallel, reducing the time it takes to detect and block fraudulent activities. This speed and scalability give organizations fast response times and strong crisis management systems that prevent significant financial losses and protect users in real time.

Knowledge graphs

Knowledge graphs are an ideal use case for distributed graph databases due to the latter's ability to model intricate relationships between entities. For example, a knowledge graph in the medical field might represent the relationships between diseases, symptoms, treatments, and medical literature. Distributed graph databases allow researchers or medical professionals to quickly query this data for knowledge discovery through semantic search. They can identify connections, such as the correlation between certain symptoms and diseases, or emerging treatments based on recent research. 

Not just the medical field, distributed graph databases can power knowledge graphs for industries like healthcare, legal research, and scientific discovery. Handling large-scale data, updating information dynamically, and querying complex relationships make distributed graph databases a decisive technology for knowledge graphs.

Network and IT management

Telecommunications companies and IT departments rely on distributed graph databases to model and monitor their network infrastructures. It becomes possible to map out devices, connections, and data flows. Teams can then easily analyze network performance and detect issues like bottlenecks or security vulnerabilities. For example, consider a telecommunications company managing a global network of mobile towers and data centers. They can use a distributed graph database to model connections between infrastructure nodes. This allows engineers to optimize traffic routing, balance loads across the network, and detect points of failure in real time. By maintaining a dynamic, up-to-date view of the network, distributed graph databases can increase your operational efficiency and make sure your company delivers uninterrupted service.

Supply chain management

In supply chain management, distributed graph databases can track the movement of goods, monitor inventory levels, and optimize logistics. By mapping the relationships between suppliers, manufacturers, distributors, and customers, you get visibility into how products flow across the entire supply chain.

For example, a large retailer can use a distributed graph database to track shipments from various suppliers to distribution centers and stores. It can identify potential delays or disruptions in real time. The system analyzes these relationships and can suggest alternative routes, adjust inventory levels based on demand, and improve delivery times. 

Supply chains inherently possess a highly-interconnected nature. And since distributed graph databases excel in managing these large-scale, interconnected systems, matching these two together makes supply chain operations  more efficient and responsive.

Cybersecurity

Cybersecurity teams use distributed graph databases to analyze potential threats and vulnerabilities within their systems. The databases can map out relationships between users, devices, and access points. Organizations can quickly detect unusual activity or attack vectors within a very fast timeframe. For example, a distributed graph database can model connections between users' login attempts, access permissions, and sensitive data locations. If a user exhibits unusual access patterns or connects to known malicious entities, the system can flag the behavior as a potential breach. 

Distributed graph databases empower cybersecurity teams to perform deep, real-time analysis of their networks. They help reduce the response time to cyber threats and improve overall system security.

Best Distributed Graph Databases Tools

To choose the right distributed graph database tool, you have to carefully consider your specific needs and priorities. With the growing innovation in this space, several powerful tools exist that come with their unique strengths. Let’s look at some of the leading options.

PuppyGraph

PuppyGraph stands out as a cutting-edge distributed graph solution designed for ease of use, scalability, and high performance. It is the first and only graph query engine in the market. Unlike other graph database solutions that require extracting, transforming, and loading (ETL) data from existing databases, PuppyGraph directly integrates with your existing relational data sources. You don’t have to maintain complex data pipelines and incur latency costs. These strengths make PuppyGraph ideal for fast-paced environments and real-time analytics.

Figure: Supported data sources by PuppyGraph

PuppyGraph supports both openCypher and Gremlin as query languages. So you have the maximum flexibility to write your queries, no matter your background. Its distributed architecture ensures high availability and fault tolerance, making it suitable for demanding applications. With its focus on simplicity and performance, you can scale effortlessly without compromising performance.

Figure: PuppyGraph architecture

No ETL

PuppyGraph enables you to query your SQL data as a graph by directly connecting to your data warehouses and lakes. This eliminates the need to build and maintain time-consuming ETL pipelines for a traditional graph database setup. You don’t have to wait for data or encounter ETL process failures anymore.

Figure: Before vs. after PuppyGraph

Petabyte-level scalability

PuppyGraph eradicates graph scalability issues by separating computation and storage. Using min-max statistics and predicate pushdown, PuppyGraph significantly reduces the amount of data it scans. 

PuppyGraph perfectly aligns with vectorized data processing. It contributes to PuppyGraph’s ability to scale effectively and ensure rapid responses to intricate queries. You get streamlined data analysis and overall improved query performance. PuppyGraph’s auto-sharded, distributed computation effortlessly manages vast datasets, ensuring robust scalability on both storage and computation.

Complex queries in seconds

PuppyGraph delivers lightning-fast results, handling complex multi-hop queries like 10-hop neighbors in seconds. Our patent-pending technology efficiently leverages all computing resources for exceptional performance. PuppyGraph’s distributed query engine design allows users to increase the performance by simply adding more machines. 

Deploy to query in 10 mins

PuppyGraph's revolutionary query engine eliminates onboarding hassles that comes with a graph database. You deploy and start querying within just 10 minutes. 

Replacing an existing Neo4j database? Effortlessly drop in PuppyGraph as the replacement and seamlessly connect to third-party tools without any data or code migration. 

Neo4j AuraDB

Neo4j is a well-established graph database, known for its mature ecosystem and the Cypher query language. AuraDB, its cloud-based offering, brings fully-managed scalability to users to handle larger datasets compared to its on-premise version. 

However, for very large-scale graphs or complex queries, Neo4j's performance can sometimes fall short compared to more specialized distributed graph databases. It requires an ETL process to load data from other systems into its native graph format. This adds complexity and potential latency to data ingestion workflows.

Amazon Neptune

Amazon Neptune is AWS's fully managed graph database service designed for large-scale applications. It supports both property graphs, through Gremlin, and RDF graphs, through SPARQL. It also supports openCypher. So you get the versatility necessary for various use cases. 

While Neptune benefits from AWS's infrastructure, it relies on native graph storage. This means you must perform ETL to move data into the system. This additional data transformation step can introduce delays, especially when working with complex or large datasets. Neptune shines in its smooth integration with other AWS services, but users should think about the trade-offs of the ETL process.

ArangoDB

ArangoDB is a multi-model database that supports graph, document, and key-value data models in one system. Its multi-model nature allows flexibility for applications that require different data models, but this versatility can sometimes limit its optimization for graph-specific workloads compared to dedicated graph databases. 

ArangoDB also requires an ETL process to import data from other sources, which may add complexity to its deployment. While ArangoDB offers versatility, its graph capabilities may not match the specialization and performance of more focused graph databases.

TigerGraph

TigerGraph focuses on high performance and scalability, claiming to handle massive graphs with extremely fast query processing. TigerGraph uses its own query language GSQL, which is optimized for parallel query execution. However, the learning curve for GSQL can prove steeper compared to more widely used languages like Cypher or Gremlin. Like other native graph storage solutions, TigerGraph requires ETL for loading data, which can introduce additional steps and delays in data management.

Conclusion

Distributed graph databases make the power and value of graph databases more accessible and viable. New research, innovations, and tools have been constantly reinforcing the ecosystem around distributed graph computing, management, and analytics. PuppyGraph is one of those technologies, and truly one of its kind.

If you still aren’t convinced how PuppyGraph can help you get more value out of your data through the power of a distributed graph, download the forever free PuppyGraph Developer Edition. Or if you’re feeling more adventurous, start a free 30-day trial of the Enterprise Edition.

Matt is a developer at heart with a passion for data, software architecture, and writing technical content. In the past, Matt worked at some of the largest finance and insurance companies in Canada before pivoting to working for fast-growing startups.

Join our newsletter

See PuppyGraph
In Action

See PuppyGraph
In Action

Graph Your Data In 10 Minutes.

Get started with PuppyGraph!

PuppyGraph empowers you to seamlessly query one or multiple data stores as a unified graph model.

Dev Edition

Free Download

Enterprise Edition

Developer

$0
/month
  • Forever free
  • Single node
  • Designed for proving your ideas
  • Available via Docker install

Enterprise

$
Based on the Memory and CPU of the server that runs PuppyGraph.
  • 30 day free trial with full features
  • Everything in Developer + Enterprise features
  • Designed for production
  • Available via AWS AMI & Docker install
* No payment required

Developer Edition

  • Forever free
  • Single noded
  • Designed for proving your ideas
  • Available via Docker install

Enterprise Edition

  • 30-day free trial with full features
  • Everything in developer edition & enterprise features
  • Designed for production
  • Available via AWS AMI & Docker install
* No payment required