Connected data abounds today. Modern web services connect people, products, photos, locations, ideas, creations and more. New tools have emerged that are optimized for this connectedness and graph databases are one such tool. Instead of working with tables and rows, you work with nodes and edges — storing data exactly as you would draw it on a whiteboard.
In this talk from the nodejs meetup in NYC, Aseem Kishore will share an introduction to Neo4j, the most popular graph database, along with his experiences and lessons learned building a startup on top of it. Aseem is the co-author and maintainer of node-neo4j, the Node.js client library for Neo4j, so he'll also walk through the basics of using Neo4j with Node.js.
Aseem's slides from the talk are here.
Bio: Aseem is a developer at FiftyThree, a startup in NYC and the company behind the popular iPad app, Paper. He has been working with both Node.js and Neo4j for two years now, and is looking forward to even more years ahead.
Background to Node.js
Background to Neo4j
Neo4j is the leading graph database. It is part of the NoSQL movement. It is also opensource. Neo4j was first released in 2010 and its adoption has grown ever since. The neo4j website claims that "for connected data operations, Neo4j runs a thousand times faster than relational databases." Neo4j is simple and intuitive to model. For more about data modeling with Neo4j, please take a look at our modeling graph databases with Neo4j talk and examples.
Background to graph databases
To state the obvious, graph databases store data in a graph. Graph is one of the most basic Computer Science data structures. One great thing about the graph data structure is that data can be sorted, found, and retrieved in a very efficient way using various graph traversing algorithms. Part of understanding how the graph data structure works is understanding that it uses nodes and relationships to manage and represent the data. A node is the smallest possible graph. And if there is more information, that information is connected (node to node) by edges. The advantage of graph database is that they are very good at expressing relationships between nodes. And if a database has many nodes, various analytics software can be run on top of that data to extract further intelligence, leveraging the power of graph databases.