Here's the transcript of our conversation (now including timestamps thanks to the TranscribeMe service):
RVB @ 00:02 Hello, everyone. My name is Rik, Rik Van Bruggen from Neo, and here we are again recording a podcast session for our Neo4j graph database podcast. This morning, actually, on the show I have Stefan Armbruster with me from Munich. Hi, Stefan.
SA @ 00:20 Hi, Rik. How are you?
RVB @ 00:21 I'm doing really well. How are you?
SA @ 00:24 Perfectly fine.
RVB @ 00:24 Super. Is the weather as nice over there as it is over here?
SA @ 00:28 Yeah, we are more today, more than 30 degrees, so I already have the shorts and t-shirt.
RVB @ 00:36 [chuckles] Same here, same here. Hey, Stefan, this is a podcast where we talk to people about their relationship to graphs and graph databases, so why don't you introduce yourself and tell us a little bit about yourself, your work, and how you got to graph databases?
SA @ 00:53 Yeah, as you have mentioned, my name is Stefan. I'm from Munich in Germany. I'm one of the field engineers with Neo Technology so it's basically the interface between the customers and the ebgubeers... so we work with very deep technical background and the ultimate goal is to make the customer successful, make sure that projects run well, and make them happy that they can spend more bucks on us of course.
RVB @ 01:24 If I recall correctly, Stefan, you and me started together about a year ago, didn't we?
SA @ 01:29 About three years ago, I--
RVB @ 01:31 Three years ago, I mean, yes [chuckles].
SA @ 01:33 This nice company meeting in Sweden where they served so good foods so I finally decided to sign the contract [chuckles]. But to be more honest, my story to Neo was started already more than seven years ago, of course, the first Gr8conf conference in Copenhagen. At the time being, I was working as a freelancer, did a little work with Grails and built some websites or some backend applications for my customers, and it was the first conference on the graph framework. There was another guy attending from Sweden, Emile, and after some beers in the evening, I got in touch with him, he talked some crazy things about graph databases - some fancy stuff - and, at the first place, I said, "Okay, it sounds interesting, but I don't see a use case for me here." So I put it on my list of technologies to take a look at. After some months, I really looked at Neo4j, so this was way before the 1.0 version, but it was a 0. something whatever. I was really pleased by the cleanness of the java API. At the time being, there was no Cypher, there was no server, so Neo4j was just a kind of embedded graph database for Java. That's [inaudible] Neo4j.
RVB @ 03:05 And then so you wrote the groovy driver? Is that true or...?
SA @ 03:10 It's not [inaudible]. For groovy you don't need a driver because groovy is basically Java, so I wrote the Grails driver, and this was then the next step so couple of months later I was getting asked to deliver a project where you can place comments on the equi-distant of football so you can express your opinion - well, was the red card in that game in minute 45 justified, or who would be the next champion? Will the trainer of that team be fired? So they tried to aggregate the opinions of the fans together and since you can put a comment in everything and everything can be potentially connected with everything else in the data set, it's natural in a graph. This was my eye-opener. I said, "Okay, we should use Neo4j for our project." I also wanted to use Grails because that's my common framework the years, and then I decided to bring the two things together and wrote the first version of the Grails driver.
RVB @ 04:17 And nowadays you still use that a lot, or do you use more Java or--?
SA @ 04:22 To be honest, 'm still maintaining the Grails driver, but it's a little bit rotten so I'm spending some time to deliver your version 2.0 for the Grails driver which then will be only based on Cypher and JDBC, and therefore it's also future-proof already. If we look a little bit in the future as of the plans to merge efforts with the spring data, a Neo4j project to reuse their mapper because that's a little bit more powerful than what I did.
RVB @ 04:58 Super cool. So, Stefan, now you mentioned sort of how you got into it, but what do you love about it? What do you think is so powerful about a graph and a graph database? Is there something that jumps out?
SA @ 05:09 What I like, of course, I'm a big fan of open source software so I really appreciate that we're completely open source. I think it's very easy to make more sense out of data basically. So you can organize your data into a graph and then you can have immediately some new insights which you didn't know beforehand.
RVB @ 05:37 What kind of insights would that be? Things like unknown connections or stuff like that?
SA @ 05:41 Unknown connections so you can easily field connections, so as a simple example, we both work for Neo so we have a [?] relationship to you as a company and as an indirection, since Neo is a rather small [?] - 100 people - there is an implicit relationship between you and me because we know each other. So that can be filled without having that explicitly as data so you can infer hidden knowledge basically. In my opinion, it's more or less kind of a philosophical thing. The interesting part from pure IT perspective, the cool thing is that you can [create?] a graph database independent of data size. So your view is as long as their local road gets slower, just because of growing a data set.
RVB @ 06:41 Yeah, that's a really powerful feature. Every customer that I meet, or user that I meet, loves that graphical kind of end piece of it.
SA @ 06:49 Yeah, that's super cool.
RVB @ 06:52 We actually have a hidden connection in common as well - our love for fantastic beers, right [chuckles]?
SA @ 06:58 Oh, yes, oh, yes. Not the common kind of beer but a different kind of beer, but yes.
RVB @ 07:03 Absolutely. Now, you gave me some really nice beers a while back. That's really nice of you.
SA @ 07:09 that was the Unertl, right?
RVB @ 07:10 Yes, I think so.
SA @ 07:11 I love that one.
RVB @ 07:12 Very cool. So what does the future hold, Stefan? Where is this thing going? What do you think is the big things coming up for you and for us, for the industry? Get your perspective on that.
SA @ 07:26 I think the adoption will grow. Since graph databases are, from a mental perspective, rather close to relational databases, it's easy for people to move over so they don't need to change too much, but of course they need to change something. I think we will see graph databases being as commonly used in the industry as today are Oracle and DB2.
RVB @ 07:57 That's an aggressive statement [chuckles].
SA @ 08:00 It's in fact going to happen. Next year, probably not the next year, but if you look in the large scope - four, five, years - that is probably where I see the future.
RVB @ 08:10 It's a very natural revolution. So many people, it's such a natural way for people to deal with data, I suppose.
SA @ 08:18 Yeah, yeah, exactly. And if you look more the short term what I'm really looking forward is that binary protocol will be-- we'll see will most likely end of the year for version 3.0--
RVB @ 08:29 Yeah, yeah.
SA @ 08:31 That makes the interactions with client drivers much more easy and much more unified--
RVB @ 08:40 That's the replacement protocol for REST, or complementary to REST.
SA @ 08:43 Complementary, so we will have REST protocol forever, I guess, but the binary on the side provides kind of a completely redesigned interface. There is already a kind of spike on the Java driver that uses the protocol and on top of the Java driver, Rickard is doing a little bit of spiking on JDBC for that. Because I think JDBC is the key integration technology that allows anyone to use Neo4j within their existing infrastructure. All of the BI tools, all the reporting tools, everyone has a JDBC interface and by that we could just easily plug in the graph database in existing infrastructures.
RVB @ 09:32 Yeah, because the current JDBC driver uses REST and you can replace that REST layer with a binary protocol--
SA @ 09:38 Yeah, even people using the current REST-based JDBC driver, migrating that over is a completely no-brainer because they don't have to rewrite a single-- they just have to change the URL and the driver, but they don't have to change a single line of code.
RVB @ 09:56 Super interesting. Thank you, Stefan. We want to keep these podcasts reasonably short so thank you for coming online and talking to me. It was really interesting, and I'm hoping we'll see each other again very soon, probably this summer.
SA @ 10:14 Hopefully.
RVB @ 10:15 Thanks [chuckles].
SA @ 10:15 With some beers.
RVB @ 10:16 With some beers, exactly. Thank you, Stefan. Have a nice day.
SA @ 10:20 Thank you so much, Rik. Have a good day. Thank you. Good-bye.Subscribing to the podcast is easy: just add the rss feed or add us in iTunes! Hope you'll enjoy it!
All the best