Neo4j: Graph database
Introduction to Graph databases, Cypher and Neo4J.
Graph databases can be a tremendous advantage when working with data that is highly connected. This course in an introduction to graph databases, and also the query language Cypher and a databases product, Neo4J. Some of the topics that we will cover include the concepts of a graph database, querying the graph database with Cypher, and accessing a Neo4J graph database remotely. Before beginning the course, you should be familiar with database in general and relational databases.
A graph database is a database designed to treat the relationships between data as equally important to the data without constricting it to a predefined model. Instead, the data is stored as we first draw it out. Showing how each individual entity connects with or is related to others. We live in connected world, there are no isolated pieces of information, but rich, connected domains all around us only a database that natively embraces relationships is able to store ,process, and query connections efficiently .while other database compute relationships at query time through expensive Join operations , a graph database stores connections alongside the data in the model.
Accessing modes and relationships in a native graph database is an efficient constant time operation and allows you to quickly traverse millions of connections per second per core. The property graph model, as with most technologies, there are few different approach is the property graph model. Where data is organized as models, relationships, and properties (data stored on the modes or relationships). We will cover this model in more detail in the data modeling section of these guides but for now, we will briefly define the components that make up the property graph model.
Neo4j database is an open source, NOSQL, native graph database that provides an ACID compliant transactional backend for your application. Initial development began in 2003, but it has been publicly available since 2007. The source code, written in Java and Scala is available for free on GitHub or as a user- friendly, desktop application download. Neo4J has both a community Edition and Enterprise Edition of the database. The enterprise Edition includes all that community Edition has to offer, plus extra enterprise requirements such as backups, clustering and fail over abilities. Neo4J is referred to as a native graph database because it efficiently implements the property graph model down to the storage level.
Some of the following particular features make Neo4J very popular among developers, architects and DBAS.
*Cypher, a declarative query language similar to SQL but optimized for graphs. Now used by other database like SAP HANA Graph and Radis graph via the open cypher project.
*Constant time traversals, in big graphs for both depth and breadth due to efficient representation of modes and relationships.
*Flexible, property graph schema that can adapt overtime, making it possible to materialize and add men relationship.
*Drives for popular programing languages, includes Java, Java script Net python and many more.
Source J : https://neo4j.com/developer/graph-database/