Here's the transcript of our conversation:
RVB: Hello everyone, my name is Rik and I'm here again recording one of our podcasts around Neo4j and graph databases in general. We are here today joined by Yan Cui who is a developer at one of our Neo4j users called Gamesys. I'd like to ask Yan, would you mind introducing yourself quickly to us?
YC: Sure. Hi, so well like Rik said my name's Yan Cui and I'm I work for a company called Gamesys. So we are a company that's based in Central London and we are one of the market leaders in the real money gaming business. My team focus on slightly different target audience. We build freemium model games for a more social audience, so people that play Facebook games and mobile games for example. I'm a backend modeller there and I build the backend for a number of our games in my area already.
RVB: Super, that's great. So again in these podcasts we really want to talk about two questions. So first of all, how do you use Neo4j and what do you like about it? What do you think is cool about it? Secondly, I'd like to get your opinion on where is this going? Where will it be in five years from now? Would you mind giving your perspective? Why do you use Neo4j? What do you like about it? What are the cool things about graph databases?
YC: Sure, so first we have a game called Here Be Monsters, which is a MMORPG game. The challenge we have with that particular game is that, in terms of the game design it is a lot of data there, and it's highly connected. From a game design perspective, it's too much data for any one of our game designers to understand and comprehend the level of impact that any particular change would have on the rest of the data set. For example, if you change the price of a lower level ingredient like water, then you have knock on effects for the rest of it, for anything that's made from water. So if you don't adjust those knock on effects, you can potentially open up overcharge opportunities within you game economy, so that players can go out and make money without doing anything interesting.
YC: With Neo4j, we're able to model the whole game as a graph and use cypher - which I think is amazing and one of the things that I really love about Neo4j. It was able to run all kinds of interesting queries and find out relationships that are not apparent immediately. Based on that information, we can then build a map model which allows us to automate the process of balancing our game in terms of its content, as well as in terms of its economy. In terms of the things that I love about Neo4j - while I think graph databases are super powerful, unfortunately they've been under-looked by a lot of people who are interested in the NOSQL space. In terms of the power it gives you to model your domains, it is by far the most powerful and complete solution in the NOSQL space.
RVB: Super, that's great. I think it's amazing, the work you guys are doing around Neo and the way you're using it to model those games. I think it's fantastic. Yan has actually done a bunch of talks around that. If you're ever at a conference and you look at the agenda and find his name, you should absolutely attend one of his talks. Final question: where do you think this going? Where are graph databases going? Where do you think you will use in the next couple of years? Will they take off? Will it disappear into a niche? What do you think is going to happen to these types of technologies?
YC: I think in terms of the modeling power it gives you, it's pretty much there already. It's amazing. It's more powerful than anything else I've used. I think the next key development point is going to be how do we then visualize those data? How do we build up tools to help us understand the data and the connections that we have, and all the hidden information we're having this data. So visualization tools and analysis tools it's going to be more and more important as more people start to use Neo4j to model their domain. Aside from that, I also think maybe - from Neo4j's perspective - ability to scale horizontally, that would be also another very important thing, because right now for us one of the considerations is that we make sure that every component of our stack is scalable. With Neo4j right now, even though you can do with replicas, you have ACID guarantees and all that, it's amazing, but horizontal scalability is the one thing that we're lacking right now.
RVB: Yeah, completely get that. I think it is one of those things that are going to be evolving in the next couple of years. There is a team here in London that's actually doing work around that, so stay tuned for that. I want to really thank you for taking the opportunity to talk to us, it was great having you here and I look forward to speaking to again soon. Thanks Yan.
YC: Thank you, it was nice talking to you too.Subscribing to the podcast is easy: just add the rss feed or add us in iTunes!
Hope you'll enjoy it!