The 5-Minute Interview: Native Graph Storage and Connected Data
Learn how GraphGrid uses the benefits of native graph storage to provide a product that is truly scalable to its customers.
Join the DZone community and get the full member experience.Join For Free
“When we first started exploring Neo4j’s native graph database, we saw benefits in how the data was stored because it paralleled real-world connected data,” said Benjamin Nussbaum, Co-Founder at GraphGrid.
He and his team realized that the future of data was connected data, and this needed to be reflected in the data architecture of their product in order for customers to use their data most effectively.
In this week’s five-minute interview (conducted at GraphConnect San Francisco), we discuss how GraphGrid uses the benefits of native graph storage to provide a truly scalable product to customers.
Q: Talk to us about how Neo4j is related to GraphGrid.
Benjamin Nussbaum: GraphGrid is an enterprise data platform built around Neo4j, which we’ve been working with for about five years.
At its core with graph ops, it provides all of the orchestration management for scaling out Neo4j starting from a single instance in a single region all the way out to a cluster in that region. It even has the flexibility to span multiple availability zones within that region and scale that cluster to multiple regions.
This means you could go from Oregon to Virginia to Ireland, Frankfurt, and Sydney until you reached the full global scale of Neo4j. GraphGrid also provides the flexibility to change your core instance properties, such as if you need to go from 4 GB of memory to 8 GB to 16 GB to 32 GB, you can do all of that with zero downtime. Or if you need to upgrade from Neo4j 3.0 to 3.2, you can do that with zero interruption or downtime as well.
Q: What made you choose Neo4j?
Nussbaum: We were running into a number of challenges with the typical relational database in terms of getting it to scale for the problems we were asked to solve.
When we first started exploring databases optimized for connected data, including Neo4j’s native graph database, we saw benefits in how the data was stored because it paralleled real-world connected data. This needed to be reflected in our data storage if we wanted to use our data most effectively.
Because Neo4j is a native graph database and treats relationships as first-class entities, we have a tremendous advantage when building connected enterprise solutions, building 360 customer reviews or connecting an enterprise with master data management. In all of these cases you need to bring the data together in its connected state, and understand how it’s connected.
We realized early on that the future is connected data, and today we have a strong engineering team building connected data solutions.
Q: What are some of the most interesting or surprising ways you’ve seen your customers use Neo4j?
Nussbaum: Some of the most interesting ways our customers have used GraphGrid has been on the graph analytics side, using it to orchestrate a distributed graph-compute framework. With the orchestration to scale up and scale out, you can go from having your core Neo4j cluster of three instances, which is where your applications are interacting in real time, but you also need ad hoc analytics.
You can create another grid — which is just a logical grouping of instances — and say, “This is my analytics grid, and these instances need to be ten times bigger.” Keep in mind that a grid controls the region where your instances are deployed, as well as the instance type, the IOPS, and all of the attributes of those instances.
With all of that, you have very efficient control to develop a set of instances that are ten times bigger, run all of the ad hoc analytics and scale out the grid to 40 instances to perform temporary heavy offline compute, and then bring it back down — all without impacting your core cluster that is servicing real-time requests for your application.
Q: Is there anything else you’d like to share?
Nussbaum: The focus of GraphGrid in 2017 is validating our new self-service dashboard. So far we have a fully managed service with Neo4j, and the dashboard will put a lot of the flexibility of managing operations into the hands of our customers, which will be a huge benefit.
As we see an increase in the adoption of Neo4j, we see a challenge for customers in the operational component from startups to enterprise. Our experience running Neo4j in production has led us to build into the GraphGrid platform the foundation for any company to get up and running with Neo4j very quickly, especially if they’re on AWS.
We also want to provide a way to bring the community together in terms of deploying and running the different plugins, extensions and APOC procedures to provide an efficient way to get up and running, as well as to accelerate the adoption of graph database technology.
Published at DZone with permission of Bryce Merkl Sasaki, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.