Database Reference
In-Depth Information
• Declarative languages separate the concern of stating the problem, from
solving it. This allows greater readability of the queries that you write,
which is important as people tend to read their database queries more
often than they write them. This piece of your software will therefore
become more readable and shareable with others, and long term
maintenance of that easy-to-read query becomes so much easier.
• Declarative languages will allow the database to use the information that
it holds about the nature and structure of the data to answer your question
moreeficiently.Essentially,itallowsqueryoptimizationsthatyouwould
never have known of or thought about in an imperative approach. Therefore,
declarative languages can be faster—at least over time as the optimization
algorithms mature.
• Declarative languages are great for adhoc querying of your database,
without you having to write complex software routines to do so.
Part of the reason why I feel that Cypher is such an important part of Neo4j is that
we know that declarative languages, especially in the database management systems
world, are critical to mass adoption. Most application developers do not want to be
worrying about the nitty gritty of how to best interact with their data. They want to
focus on the business logic and the data should just be there when I want it, as I want
it. This is exactly how relational database systems evolved in the seventies (refer to
Chapter 2 , Graph Databases - Overview ). It is highly likely that we will be seeing a similar
evolution in the graph database management system space. Cypher, therefore, is in a
unique position and makes it so much easier to work with the database. It is already
an incredible tool today, and it will only become better.
Sweet spot use cases of Neo4j
Like with many software engineering tools, Neo4j too has its sweet spot use cases
—speciictypesofusesthatthetoolreallyshinesandaddsalotofvaluetoyour
process. Many tools can do many things and so can Neo4j, but only a few things can
be done really well by a certain tool. We have addressed some of this already in the
previouschapter.However,tosummarizespeciicallyfortheNeo4jsoftwarepackage,
Ibelievethattherearetwoparticulartypesofcases—featuringtwospeciictypesof
database queries—where the tool really excels.
 
Search WWH ::




Custom Search