I can’t believe it’s already been two years since we raised our seed round! Oct 2009 saw a nascent NOSQL movement and Neo Technology as a two man band in Malmö, Sweden. Today, NOSQL is exploding and Neo has grown to a 25 person orchestra across two continents and five countries.
During these two years we've released Neo4j 1.0 (after 10 years of development!), coined the NOSQL = Not Only SQL expansion at nosql east, heard the CTO of Amazon proclaim that “Neo4j absolutely ROCKS,” watched Facebook tell the world that it’s all about graphs, co-founded the Spring Data project to provide excellent support for NOSQL in the world’s most popular Enterprise Java middleware, changed our open source licensing to enable graph database ubiquity, made several kickass releases and started putting graph databases in the cloud.
But all of that is dwarfed by the amazing things our customers and community have done with Neo4j! Neo4j downloads grew by 10x last year and this year our growth has accelerated even more. Neo4j is clearly taking off.
The Evolution Of NOSQL
In parallel, it’s been fascinating to see the evolution of NOSQL these last two years. NOSQL is exploding. But in at least one aspect, it is falling short of its potential. Today, NOSQL is by and large a Web phenomenon, not an enterprise success story.
Sure, there’s some uptake in the enterprise. But that's exclusively in peripheral and non-critical applications like storage systems for logs, and never for mission-critical functionality like backing revenue-impacting always-on systems.
Why is that? The enterprise certainly sees the same explosion in data complexity and volume as the web world. But it turns out that very few NOSQL databases can meet the demands of the enterprise. Spearheaded by companies like Amazon, Google and Facebook most NOSQL databases are designed for the requirements of high-volume web properties, which aren’t necessarily the same as the enterprise requirements.
This prompts the question: are there things missing from today's NOSQL databases that the enterprise needs and demands?
Enterprise Expectations
We've talked to developers, architects and CxOs at many of the biggest enterprises out there about their database needs and three things stand out:
- Support for transactions. Enterprise developers want to be able to group operations and have all of them succeed or none. This has been a basic and fundamental feature of all enterprise-strength relational databases since the early days and SQL wouldn’t be where it is today without it. Unfortunately, most NOSQL databases choose to relax consistency for availability. (For the right reasons, it turns out... well, at least if you’re Google!)
- Support for durability. When you ask your database to store stuff, you want it to be there. Period. Unfortunately, most NOSQL choose performance over durability.
- Support for Java. The enterprise application developer lives and breathes Java (and if they use something else, it’s not Ruby or PHP - it’s .NET). Unfortunately, most NOSQL databases come out of the web world where Java is the last thing they want to work with. Most have embryos of Java support, but none of it is great.
NOSQL For The Enterprise
Now, Neo4j is very different from other NOSQL databases in several ways. The first thing that comes to mind is its powerful graph data model, which is a superset of all the document and key value data models. That’s the fundamental basis upon which everything else is built. But how does Neo4j stack up against the above mentioned enterprise criteria?
- Support for transactions: We wrote our first JTA/JTS-compliant logging transaction manager in 2002 and have supported full ACID-style transactions (including XA-compliant distributed two-phase commits) in production since 2003. Check!
- Support for durability: This one was obvious to us. When we first started working on Neo4j in 2000 it was unthinkable to have a database that didn’t store stuff. Our opinions in 2011 haven’t changed. When you hit commit in Neo4j, your data will never get lost. Ever. Check!
- Support for Java: Well, the 4j in Neo4j is actually “for the JVM.” Neo4j has excellent bindings to other languages like Ruby, Python and PHP. But we’ve always been Java first. We live and breathe Java every hour of every day. Check!
The enterprise sees the same explosion in data complexity and volume as the web world. And Neo4j is a perfect match for handling that data.
Building The Enterprise NOSQL Company
At Neo Technology we’re building the enterprise database company for the post-relational era, serving companies across the globe with solutions for managing complex and connected data. That is a major undertaking and a huge aspiration. And it is why today we are announcing that we’ve raised $10.6M in a Series A financing. This investment was led by Fidelity Growth Partners Europe with participation from existing investors Sunstone and Conor. Additionally, open source and enterprise software veteran Rod Johnson (who created the Spring framework which now has three million active enterprise developers) participated in the funding and will join our board as chairman.
Today marks an important milestone for Neo Technology, the Neo4j community, our customers and - I believe - for NOSQL in the enterprise. It is early still, but the database landscape is ripe for a disruption of schumpeterian proportions. Two years ago NOSQL was a niche and contrarian hacker movement. Today it's established in the web world. Two years from now it will be broadly adopted across the enterprise. This funding allows Neo Technology and the Neo4j community to fully participate in (and contribute to!) that historical transformation.
Recent Comments