Neo4j 1.9 M02 – Under the Hood by Peter Neubauer.
From the post:
We have been working hard over the last weeks to tune and improve many aspects in the Neo4j internals, to deliver an even faster, more stable and less resource intensive graph database in this 1.9.M02 milestone release. Those efforts span a lot of areas that benefit everyone from the typical developer to sysops and to most other Neo4j users.
We are thrilled about the feedback we got from customers, and our community via Google Group, Stack Overflow and Twitter. Thanks for helping us improve.
While the new changes might not be visible at the first glance, let’s look into Neo4j’s engine room to see what has changed.
Everyone’s most beloved query language, Cypher, has matured a lot thanks to Jake and Andres’ incredible work. They have made query execution much faster, for most use-cases, while utilizing less memory. The lazy execution of queries has sneaked away lately, so Andres caught it and put it back in. That means you can run queries with potentially infinitely large result sets without exhausting memory. Especially when streaming results (no aggregation and ordering) it will use only a tiny fraction of your memory. The very frequent construct ORDER BY … LIMIT … now benefits from a better top-n-select algorithm. These latest improvements are closing the performance gap to the core-API even more. We’ve also glimpsed a new internal SPI, that will allow Cypher to run even faster in the future.
Peter gives a quick tour of improvements in the latest milestone release of Neo4j.
Suggest you download the latest version to experiment with while you read Peter’s post.