You are on page 1of 3

NEO4J

Neo4j is a one of the popular Graph Databases. Neo4j is written in Java Language. It is an
open source, Schema-free, No SQL , Graph Database.

Neo4js architecture with regards to the clustering features


1. High throughput
To meet demanding graph workloads, Neo4j clusters allow work to be federated across a
number of cooperating machines.

2. Continuous availability
A fundamental requirement for most enterprise-grade systems is high availability. That is,
even in the presence of failures, the system continues to deliver its functionality to end users
(humans or other computer systems).

3. Disaster recovery
Disaster recovery is the ability to recover from major service outages, greater than can be
accommodated by the redundant capacity in a continuously available cluster. Typically these are
manifested as data center outages, physical network severance, or even denial of service attacks that
render large amounts of infrastructure inoperable.
Neo4j Features
1) It contains a UI to execute CQL Commands : Neo4j Data Browser
2) It supports full ACID(Atomicity, Consistency, Isolation and Durability) rules
3) It uses Native graph storage with Native GPE(Graph Processing Engine)
4) It supports exporting of query data to JSON and XLS format
5) It provides REST API to be accessed by any Programming Language like Java, Spring,Scala
etc.
6) It provides Java Script to be accessed by any UI MVC Framework like Node JS.
7) It supports two kinds of Java API: Cypher API and Native Java API to develop Java
applications.

Neo4j Advantages
1) Neo4j CQL query language commands are in humane readable format and very easy to
learn.
2) It uses simple and powerful data model.
3) It does NOT require complex Joins to retrieve connected/related data as it is very easy to
retrieve it's adjacent node or relationship details without Joins or Indexes.
Neo4j Drawbacks or Limitations
1) It has a limitation of supporting number of Nodes, Relationships and Properties.
2) It does not support Sharding.
CQL Stands for Cypher Query Language. Like Oracle Database has query language SQL, Neo4j
has CQL as query language.
Neo4j CQL -
1) It is a query language for Neo4j Graph Database.
2) It is a declarative pattern-matching language
3) It follows SQL like syntax.
4) It is syntax is very simple and human readable format.
Like Oracle SQL -
1) Neo4j CQL has commands to perform Database operations.
2) Neo4j CQL supports many clauses like WHERE, ORDER BY etc., to write very complex
queries in very easy manner.
3) Neo4j CQL supports some functions like String, Aggregation.In addition to them, it also
supports some Relationship Functions.

Neo4j CQL Commands/Clauses


The following are frequently used Neo4j CQL Commands/Clauses:

S.No. CQL Command/Clause Usage


1. CREATE To create nodes, relationships and properties
2. MATCH To retrieve data about nodes, relationships and properties
3. RETURN To return query results
4. WHERE To provide conditions to filter retrieval data
5. DELETE To delete nodes and relationships
6. REMOVE To delete properties of nodes and relationships
7. ORDER BY To sort retrieval data
8. SET To add or update labels

Neo4j CQL Functions


The following are frequently used Neo4j CQL Functions:

S.No. CQL Functions Usage


1. String They are used to work with String literals.
They are used to perform some aggregation operations on CQL Query
2. Aggregation
results.
3. Relationship They are used to get details of Relationships like startnode,endnode etc.
Neo4j CQL Data Types
These data types are similar to Java language. They are used to define properties of a node or a
relationship Neo4j CQL supports the following data types:

S.No. CQL Data Type Usage


1. boolean It is used to represent boolean literals: true, false.
2. byte It is used to represent 8-bit integers.
3. short It is used to represent 16-bit integers.
4. int It is used to represent 32-bit integers.
5. long It is used to represent 64-bit integers.
6. float It is used to represent 32-bit floating-point numbers.
7. double It is used to represent 64-bit floating-point numbers.
8. char It is used to represent 16-bit characters.
9. String It is used represent Strings.

You might also like