This article is more than 1 year old
New graph database features eschew need for DBAs
Python's stranglehold in data science makes Neo4j rethink language strategy
Graph database specialist Neo4j has launched a graph analytics workspace as a fully managed cloud service.
Called AuraDS, it is aimed directly at data scientists hoping to use the features of Neo4j's graph database and its machine learning library, promising to liberate data scientists from the dreary tasks of setting up databases and broadening the appeal of the graph databases, according to Carl Olofson, IDC research vice president.
Neo4j launched a native graph analytics workspace, graph database, scalable graph algorithms, machine learning libraries and graph visualization all in one environment in April 2020.
Later that year, it added graph embeddings to its suite of tools.
With the latest release, the data science toolkit comes as a fully managed cloud service with a native client for Python, which is popular among data scientists.
Alicia Frame, director of graph data science at Neo4j, told The Register: "Data scientists really love Python. Unlike developer projects, there's no variety. Everyone is using Python."
Although it technically supports Python, Neo4j built its data science workspace with Cypher — the SQL-like query language — as the main interface.
Frame said while data scientists liked the graph capabilities, they really struggled. "They said: 'You want me to learn a new language? I don't understand your drivers. This is hard.'
"We learned just how strong Python is, and how almost any friction will discourage a new user."
As well as native support for Python, Neo4j AuraDS includes access to over 65 graph algorithms in a single workspace as well as in-graph ML models to reduce the data science burden.
Frame said Neo4j had built guardrails into the product so users don't inadvertently break the back-end. "If you now try to run an algorithm that you don't have enough memory for, instead of letting you do that, you get a message that says, 'Hey, you're trying to run graph, and it requires this much memory.'"
I have no doubt that there will be resistance initially from DIY-ers
Users are given the option of either killing a process, resizing the server instance, or running their own risk, she said.
Graph databases are suited to high-dimensional problems, and as such were applied in their early days to understanding social networks. Financial risk management and fraud-detection have become other popular use cases while the concept is gaining traction in chemistry, biology and drug research.
"The most important thing to think about is connected data – by definition it is super high dimensional. There's a lot of information encoded in those relationships.
"So, typical data science workflow: I have a data frame; god forbid, I have a spreadsheet; I've got a matrix; and I don't really care how things are connected to each other. I treat everything as individual uniquely distributed.
"With graph you go from a table to a massive adjacency matrix, where all of a sudden I have to consider for every data point. What other data points is it connected to? And then what are its connections connected to? And so you get really high dimensional really fast," said Frame, who worked using graph databases in microbiology and genetics before joining the tech industry.
IDC's Olofson said Neo4j graph DBMS was designed to handle complex problems and is implemented mainly in a scale-up manner, which means the user must anticipate the most demanding query and scale its system to support it.
- Google talks up its 540-billion-parameter text-generating AI system
- Oracle adds autoML to its MySQL HeatWave service
- What does Go-written malware look like? Here's a sample under the microscope
- Hackers weigh in on programming languages of choice
- Can Rust save the planet? Why, and why not
"The AuraDS service enables dynamic scaling, so the problem is out of the user's hands. This is the most natural way to deploy Neo4j," he said.
Users are set to be impressed by its ease of use, and the ability to allocate resources dynamically, Olofson said. "Configuring a graph database can be tricky business, especially where data science is involved, so the AuraDS service frees users from that effort so they can focus on analytics."
The advantages meant most users would err towards the managed cloud service, he said.
"I have no doubt that there will be resistance initially from do-it-yourselfers, but the overall benefits so clearly outweigh what minute advantages may be gained by explicit physical deployment, that most will surely move to the cloud service, except in rare special cases where very particular system requirements demand manual setup," he said.
AuraDS is available in Google Cloud. It is set to launch on AWS later this year, and Azure soon after. ®