Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Create a Linode account to try this guide with a $ credit.
This credit will be applied to any valid services used during your first  days.

Many of the world’s largest organizations rely on Neo4j. This introduction explains Neo4j’s role in managing modern databases and its advantages over other technologies.

What Is Neo4j?

Neo4j is a database management system (DBMS). Rather than the relational model used in the SQL language, Neo4j organizes, represents, and delivers data in terms of graph structures. Because of this distinction, graph database managers are often labeled as NoSQL. However, NoSQL encompasses more than just graph databases. For example, a key-value store such as Redis is also NoSQL, but it is not a graph database.

The Neo4j DBMS was created by a company of the same name, which develops and maintains the associated software, library, and tool set. Neo4j is available either as self-managed software or as a cloud-based solution (called AuraDB). This guide covers the free Neo4j self-managed Community edition, though it also comes as a paid Enterprise edition. Review the Neo4j product page and license page to learn more about the differences between editions.

While Neo4j is coded in Java, the information Neo4j manages is also accessible to most other programming languages.

The Benefits of Using Neo4j

In what situations do graph databases shine, and how does Neo4j compare to other graph databases?

Graph databases excel when hosting structured data such as customer records, financial transactions, clinical information, scientific measurements, and sports observations. They make it less complicated to manage the relationships between data, particularly as those relationships become more complex.

For example, when there’s a need to look not just at customers, but at people known to customers, or customers acquainted with other customers. In this scenario, it’s likely that a graph database is an order of magnitude faster for many queries than a relational database (RDBMS).

In this case, “faster” has a couple of meanings. Graph databases return the answers to specific complex queries on terabyte-sized databases in fractions of a second. Additionally, the time to develop those queries is also believed to be less than corresponding RDBMS programming.

It’s true that SQL has been in use for five decades, and a large pool of practitioners already exist. On the other hand, graph databases are more expressive of complex relationships and “unstructured” data. Therefore, graph databases have the potential to be less difficult and quicker to program for many contemporary relationship-focused problems. Neo4j, in particular, has all the capabilities of previous generations of data management technology. It then extends that base to solve the data problems involved in complex relationships.

Business strategists often refer to data and information as a company’s greatest asset. Not factories, or the land underneath the factories, or the inventory inside of them. Rather, the decades of intelligence on how to run those factories, and on the customers they serve. Modern DBMS, such as Neo4j, can effectively query that data.

Indexes play a crucial role in RDBMS architecture. The best RDBMS results come when an application is designed ahead of time with appropriate SQL indexes. SQL enhancements frequently require new indexes, which themselves might involve downtime and delicate updates. In contrast, graph databases handle new data attributes and new relationships more gracefully.

Neo4j has a weighty market presence among graph databases. As of 2022, it had an installed base of thousands of enterprise-class deployments and hundreds of thousands of working applications. Some competitive graph databases like TigerGraph and Neptune may be faster than Neo4j in some ranges. However, Neo4j offers more mature development and operating communities, documentation, training, and associated services.

A crucial strategic benefit of Neo4j is the extent to which it shifts human effort from capital to operations. SQL installations typically thrive with a carefully designed data model crystallized early in an organization’s history, and amortized over a long span of use. While Neo4j is effective at managing large, old datasets, it simultaneously encourages “experimental”, light-weight project management. Changes in requirements during the course of a project are less traumatic for graph databases than for the corresponding relational databases. Graph databases are intrinsically agile, and simply more flexible in this sense.

Key Features of Neo4j

Those who use relational databases think in terms of tables, rows, columns, and relationships. The rough equivalents in graphical databases are nodes, relationships, and properties. Customer Mary Smith might appear in a particular graphical database as a customer node with such properties as name, address, and account number. Specific relationships connect Ms. Smith to family members, to purchases she’s made, and meetings she’s attended.

Neo4j builds in a query language, CQL (Cypher Query Language), which serves the role SQL does for RDBMSs. The Neo4j Data Browser is a graphical user interface which eases the use of CQL. CQL expresses such queries as:

MATCH (prospect: Person {income > 10000})-
       [:PURCHASED]->(course: {level: 'introductory'})
RETURN prospect
LIMIT 10

The Data Browser makes it quick work to express complex look-ups. Neo4j’s intrinsic speed returns results in a fraction of a second, even when working with terabytes of data. Neo4j supports ACID–atomic, consistent, isolated, and durable rules of database operation. This guarantees that database instances behave sensibly and reliably. ACID makes it feasible to trust that a bank’s books are balanced, and prevents money involved in a transaction from being spent twice.

Neo4j offers a REST API that any programming language can use to access Neo4j data, along with specialized language-specific APIs for JavaScript and Java.

It supports familiar enterprise-class database capabilities, including backups, indexes, partitioning, replication, and sharding. These are all features that make real-world databases more responsive and trustworthy.

Conclusion

Neo4j is a popular, stable, fast, and agile graph database system. Run-time results are often an order of magnitude faster than those from RDBMSs, especially on relation-centered problems. Consequently, programming those relation-centered applications can also be less complicated. Neo4j has a rich and stable ecosystem, including good documentation, training, and support services.

The result is wide adoption of Neo4j by organizations with complex and rigorous data-processing requirements. Every one of North America’s twenty largest banks licenses Neo4j as a platform for regulatory compliance, customer retention, and other crucial applications. Similarly, Neo4j is widely used in aerospace, telecommunications, retailing, and other leading industries.

This page was originally published on


Your Feedback Is Important

Let us know if this guide was helpful to you.


Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.
The Disqus commenting system for Linode Docs requires the acceptance of Functional Cookies, which allow us to analyze site usage so we can measure and improve performance. To view and create comments for this article, please update your Cookie Preferences on this website and refresh this web page. Please note: You must have JavaScript enabled in your browser.