Community Building And User-group Organizing: Mike Hall Interviews Max De Marzi | GOTO Conference 2014

UGtastic Archive
Full Transcript Available
Max De Marzi, a Neo4j user group organizer, discusses the benefits of graph databases and his experience founding and running the Windy City GraphDB user group in Chicago. Learn how graph databases handle relationships, why Neo4j is open-source, and how the user group fosters a sense of community and sharing. Don't miss this opportunity to learn more about graph databases and the power of community! #graphdatabases #neodb #usergroup #communitybuilding #maxdemarzi
The Interviewer

Mike Hall

Interviewer, UGtastic

The Guest

Max De Marzi

community building and user-group organizing

The Conversation


Mike Hall Interviewer, UGtastic
Hi, it's Mike with UGtastic . I'm here at GOTO Conference 2014. I'm standing with Max DeMarzi, who's going to be presenting on graph databases and both with graph databases with Neo4j. But he also runs the Neo4j, or I should say the Windy City GraphDB database user group. That's a mouthful. Windy City GraphDB meetup here in Chicago. Max, thanks for taking the time to speak with me. So your presentation, what is the title of the presentation and what is the gist of what you're going to be talking about? Sure.
Max De Marzi community building and user-group organizing
So the presentation is basically just in relation to graph databases. And the idea of the presentation is to take you through a bunch of different use cases or things you can do with the graph. Whether you're building a new social network, looking at permission management or network ontology, there's many different places where graphs fit. One of the models of Neo4j is that graphs are everywhere. And we kind of want to show that and say, look, they really are everywhere. So, I mean, for people who might be familiar with a relational database, what's the difference between something like Neo4j and RDB MS? The difference is how we handle relationships. In a relational database, you're always joining. Every time you make a query, you're asking to find a way to connect these two things together. In the graph, we don't do that. Instead, we connect when you create things. So the relationships get created ahead of time.
Mike Hall Interviewer, UGtastic
And what that gives you is the ability to say, how is this connected?
Max De Marzi community building and user-group organizing
By a pointer that I can traverse directly. I don't have to worry about how big my join tables get or anything like that. Everything is an O1 cost to you when you're trying to join two things together. And that helps you scale when you have highly connected components in your data model.
Mike Hall Interviewer, UGtastic
Okay.
Max De Marzi community building and user-group organizing
And so it's not quite analogous to a foreign key relationship described in RDBMS. It's something like a relationship is its own entity.
Mike Hall Interviewer, UGtastic
Yeah.
Max De Marzi community building and user-group organizing
And to be honest, it is kind of a foreign key. It's really, the foreign key is in memory and it's a pointer. So it's not a different table you have to go and scan and find. It's really, it's just right there waiting for you. And that's what really makes it fast. Computer science, there's no magic. It's always data structures and algorithms. So we have a data structure that's optimized for connecting things together. And that's the difference between us and relational database.
Mike Hall Interviewer, UGtastic
Okay.
Max De Marzi community building and user-group organizing
And Neo4j, that's not like a closed source. That's not like Oracle or something like that. That's another interesting aspect of this presentation is that Neo4j is an open source. Yeah, absolutely. It's an open source library. It's been around for about 10 years. And if you want to use a community edition, you're welcome to use it anywhere you use MySQL. I do a lot of examples also on my blog at maximars. com where I show you everything I do and have all the sources available on GitHub. So you're free to download and play with it and build your own stuff with it. You know, it's one of the nice things about working in an open source company that everything you do, it gets to be open source. You don 't have to worry about it. You know, there's a few bits and pieces that are client code that are closed source, but in the end, I turn those around and make blog posts out of them anyway.
Mike Hall Interviewer, UGtastic
Right.
Max De Marzi community building and user-group organizing
So there's always that sharing. And just in the spirit of sharing, going to the user group itself, the WindyCityGraphDB user group, which probably reads a lot easier than it rolls off the tongue.
Mike Hall Interviewer, UGtastic
But are you the founder of the group or are you an organizer over there? Sure.
Max De Marzi community building and user-group organizing
I started the group about two years ago because I fell in love with Neo4j, the product. And I was a community user for about four years. I only joined the company about a year and a half ago. I just love the product. I fell in love with it. Like I said, it's addictive to be able to do things in Graph. I was a SQL developer for years, and that 's a lot worse. But usually I wrap a blog post or two, and then I will present the blog post and explain how it was done, get more details, answer people's questions. And then if people have their own ideas of what they want to do with the graph, I'll show how they could do it. It's really about the audience, whatever they want, whatever they need, they have access to ask questions and learn something from it.
Mike Hall Interviewer, UGtastic
Yeah.
Max De Marzi community building and user-group organizing
And so the format, you said you started the group because you were already passionate about Neo4j. And then you've been... Writing blog posts and you come up with an idea for a presentation, then you write it up and then do the talk at the user group? Yeah, pretty much. I mean, the ideas come from customer work we do and also from just random people emailing me, "Hey, how would I do this in the Graph ? " Right. And sometimes it's easier to just build it than to tell them how they would do it.
Mike Hall Interviewer, UGtastic
Right.
Max De Marzi community building and user-group organizing
You know, nothing speaks louder than code. So I'll show them, "Here's the code. " Yeah. Someone knows how to connect to Facebook. "Well, here's the code to do it. " Not just theoretically how you would do it.
Mike Hall Interviewer, UGtastic
Yeah. And do you ever have anybody come in from outside? And do presentations or is it mostly just you're fielding these requests or these questions?
Max De Marzi community building and user-group organizing
We have a few customers in the area and sometimes they'll come and talk and show you what they've done.
Mike Hall Interviewer, UGtastic
Okay.
Max De Marzi community building and user-group organizing
But a lot of times it's hard because Neo4j stuff seems to be secret sauce for a lot of people. So they can't really show us proprietary stuff they 're doing. But a lot of times it's really just me. I wish I hadn't been helping me out. I wish there were more open source projects out there in Chicago doing it so that they could help me out. But there's always something, and I can talk about graphs wherever.
Mike Hall Interviewer, UGtastic
Yeah.
Max De Marzi community building and user-group organizing
And we talked a little bit before this conversation about, there was a little example of a Meetups app that was looking at some of the analytics and statistics around user group meetings.
Mike Hall Interviewer, UGtastic
Do you know anything about that? Sure.
Max De Marzi community building and user-group organizing
It's something one of my colleagues built. And I think he's going to expand it out.
Mike Hall Interviewer, UGtastic
But the general idea is, do you know anything about that? Sure.
Max De Marzi community building and user-group organizing
It's something one of my colleagues built. And I think he's going to expand it out. But the general idea is, you can see how people, they belong to a group, but they also belong to many other groups. So they're related through that. They're also interests that these groups are about. Whether they're about big data, they're about NoSQL, whether they 're about Java, whatever they're about, you can connect groups that way and connect people that way. And you can expand it further out. If you wanted to see what other groups, the cities I may want to go visit based on my current likes, something else you can do. Connect products to people through it as well, same thing. You have the trick to the graph really is if you have two points that you want to connect together through some common language, whether it's, you know, same unit groups, same company, same product, same, whatever it is, you can do it through the relationships in the graph and just combing through and finding paths from one point to the other.
Mike Hall Interviewer, UGtastic
Okay. And is this up on GitHub or is this a website? Do you know?
Max De Marzi community building and user-group organizing
It's both. It's a website. I don't have the URL in my head, but it's, it's, you can usually just find Neo4j and Meetup and you'll, you'll find it. Everything we do is open source, so it should be up there somewhere.
Mike Hall Interviewer, UGtastic
Right.
Max De Marzi community building and user-group organizing
So you have a repo on, I mean, an organization on GitHub. Yeah, there's a Neo4j, there's a Neo Contrib, there's Neo Community. There's just, we have like a whole bunch. Everything is on GitHub. You can see the guys' latest commits on, on, on Neo4j dot slash Neo4j and you can see what the team worked on yesterday night.
Mike Hall Interviewer, UGtastic
It's kind of nice, right?
Max De Marzi community building and user-group organizing
You can see exactly what we're doing every single day. And we know the bug fixes that come in, the pull requests that come in, it's all right there.
Mike Hall Interviewer, UGtastic
Okay. Well, thank you very much for taking the time to speak with me. No worries. Thanks. [Music]

Critical Insights


durable
"Graph databases handle relationships differently than relational databases, creating connections ahead of time for faster querying."
durable
"Neo4j is an open-source library that allows users to build their own stuff with it, fostering a sense of community and sharing."
durable
"The Windy City GraphDB user group is a platform for learning and sharing knowledge about graph databases, with presentations and discussions led by Max and other community members."