Book Image

Building web applications with Python and Neo4j

By : Sumit Gupta
Book Image

Building web applications with Python and Neo4j

By: Sumit Gupta

Overview of this book

Table of Contents (14 chapters)
Building Web Applications with Python and Neo4j
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Neo4j logical architecture


In this section, we will talk about the various layers and the role they perform in the overall architecture of Neo4j.

Neo4j is an open source database written in Java and Scala. It implements generic property graph models and provides full database characteristics, including ACID transaction compliance, cluster support, and runtime failover, making it suitable for using graph data in production scenarios.

The following is the high-level logical architecture of Neo4j:

The preceding logical architecture defines the various layers of Neo4j. Let's briefly discuss the role and function of each of these layers.

Disk/filesystem

Neo4j is a fully transactional database that supports all properties of ACID. Thus, we have to ensure that the file system should also support features such as flush (fsync, fdatasync) (http://en.wikipedia.org/wiki/Sync_(Unix)), and therefore Neo4j recommends using at least an ext4 filesystem (http://en.wikipedia.org/wiki/Ext4), but better would be...