Neo Technology, which was formed in 2007, offers Neo4J, a Java-based open source NoSQL graph database. With a graph database, which can search social network data, connections between data are explored. Neo4j can solve problems that require repeated network probing (the database is filled with nodes, which are then linked), and the company stresses Neo4j's high performance. InfoWorld Editor at Large Paul Krill recently talked with Neo CEO Emil Eifrem and Philip Rathle, Neo senior director of products, about the importance of graph database technology as well as Neoo4j's potential in the mobile space. Eifrem also stressed his confidence in Java, despite recent security issues affecting the platform.
InfoWorld: Graph database technology is not the same as NoSQL, is it?
Eifrem: NoSQL is actually four different types of databases: There's key value stores, like Amazon DynamoDB, for example. There's column-family stores like Cassandra. There's document databases like MongoDB. And then there's graph databases like Neo4j. There are actually four pillars of NoSQL, and graph databases is one of them. Cisco is building a master data management system based on Neo4j, and this is actually our first Fortune 500 customer. They found us about two years ago when they tried to build this big, complex hierarchy inside of Oracle RAC. In Oracle RAC, they had response time in minutes, and then when they replaced it [with] Neo4j, they had response times in milliseconds.
[ Neo4j was a 2013 InfoWorld Technology of the Year award winner. | Also, see InfoWorld's recent interview with MongoDB developer 10gen. | Download InfoWorld's Big Data Analytics Deep Dive to make sense of Big Data. ]
InfoWorld: How did they do that?
Eifrem: It's because the graph model fundamentally assumes that data is connected, whereas the relational model was built back in the 1970s when databases were mostly used to sort tabular data.
InfoWorld: But you're not going to use a graph database for a payroll application or anything like that?
Eifrem: Payroll is actually the example that I always use, because payroll is first name, last name, age, salary, title maybe, and super-well-structured, very tabular, and awesome for a relational database. That's the original use case.
InfoWorld: Are graph databases limited to a single machine?
Eifrem: Neo4j is an open source project. It has a community edition, which is a fully featured graph database, but it runs just on one machine. But then there's Neo4j Enterprise, which is the commercial edition and that's the one that Cisco uses, that's the one that Adobe uses. We have more than 20 of the Global 2000 using Neo4j Enterprise. It's clustered across many, many machines.
InfoWorld: What would you say is the main takeaway from a graph database?
Eifrem: I would say two things. One is it's 1,000 times faster for a lot of queries on connected data than a relational database. The second thing is that it's a lot more intuitive to model many domains as a graph. If you have a domain that is very connected and messy and changing, it's very intuitive and easy to model it with a graph database.