Databases Reference
In-Depth Information
least about the real shape and intricacies of the data. Graph databases address this want
directly. As we show in Chapter 3 , the graph data model expresses and accommodates
business needs in a way that enables IT to move at the speed of business .
Graphs are naturally additive, meaning we can add new kinds of relationships, new
nodes, and new subgraphs to an existing structure without disturbing existing queries
and application functionality. These things have generally positive implications for de‐
veloper productivity and project risk. Because of the graph model's flexibility, we don't
have to model our domain in exhaustive detail ahead of time—a practice that is all but
foolhardy in the face of changing business requirements. The additive nature of graphs
also means we tend to perform fewer migrations, thereby reducing maintenance over‐
head and risk.
Agility
We want to be able to evolve our data model in step with the rest of our application,
using a technology aligned with today's incremental and iterative software delivery
practices. Modern graph databases equip us to perform frictionless development and
graceful systems maintenance. In particular, the schema-free nature of the graph data
model, coupled with the testable nature of a graph database's application programming
interface (API) and query language, empower us to evolve an application in a controlled
manner.
At the same time, precisely because they are schema free, graph databases lack the kind
of schema-oriented data governance mechanisms we're familiar with in the relational
world. But this is not a risk; rather, it calls forth a far more visible and actionable kind
of governance. As we show in Chapter 4 , governance is typically applied in a program‐
matic fashion, using tests to drive out the data model and queries, as well as assert the
business rules that depend upon the graph. This is no longer a controversial practice:
more so than relational development, graph database development aligns well with to‐
day's agile and test-driven software development practices, allowing graph database-
backed applications to evolve in step with changing business environments.
Summary
In this chapter we've reviewed the graph property model, a simple yet expressive tool
for representing connected data. Property graphs capture complex domains in an ex‐
pressive and flexible fashion, while graph databases make it easy to develop applications
that manipulate our graph models.
Search WWH ::




Custom Search