Pages

Monday, September 12, 2016

Graph Advantage: Developer Productivity

Developer productivity is critical for any organization building software. There are many factors to consider ranging from effective communication with the business on requirements to ease of working
with the chosen technologies. When the chosen technology is new to the enterprise, understanding the ability to transition smoothly and build a quality solutions with the chosen technology are essential to confidently move forward.
I often receive questions from enterprises around the actual development impact of introducing a database technology that changes the paradigm for reading and writing data — albeit to one that has an immediate appeal for intuitively representing the connections we see in the world around us. About four and half years ago we were in the same position, considering Neo4j for the first time, with a team proficient with SQL and critical project deadlines to keep.
We did it because we saw the potential benefit of the native graph paradigm and our software team today laughs at me if I ever jokingly suggest we may make a wholesale change back to SQL. They laugh because they’ve experienced the benefits of using the Neo4j native graph database and the developer productivity level only continues to increase with each new release of Neo4j.

Consistent Developer Productivity with Neo4j

There are a few consistent benefits of the Neo4j native graph database we’ve experienced in dealing with connected data throughout the evolution of Neo4j:
  • constant time traversals via index-free adjacency avoids the time-consuming dance of normalize, de-normalize, generate view table to squeeze out performance via fewer JOIN operations
  • an intuitive property-graph model that is intuitive with contextually relevant relationships avoids the overhead of creating additional, and often complex, application logic to aggregate and orchestrate those connections after retrieving the entities
  • the whiteboard-friendly nature of the graph model avoids confusion around the way things are connected resulting in fewer misunderstandings between product/business concepts and engineering leading to incorrect implementations requiring rework later
A major cornerstone in developer productivity was the introduction of Cypher in Neo4j 2.0 which is a very intuitive and direct representation of the graph data model being queried. Cypher makes

No comments:

Post a Comment