Back
Sherman Ye
Founder & CEO, Vesoft Inc. (NebulaGraph)

Interview Sherman Ye by The Next Database Platform

🎥 Sep 08, 2020 📺 NebulaGraph DB ⏱ 19m 👁 1436 views
In this interview Nebula Graph CEO Sherman Ye has talked about; 1. His personal work experience in the graph database field and how he start to create Nebula Graph. 2. What is the advantages and the differences Nebula Graph have compare to other graph database like Neo4j and Tiger Graph etc. 3. How is the Graph database filed and what Nebula Graph can bring to the Graph database market. 4. How important open source are in Graph database and why it is important for Nebula Graph. 5. Who is the initial customers and users for Nebula Graph.
Watch on YouTube

About Sherman Ye

In a September 2020 interview with The Next Database Platform, Sherman Ye, founder and CEO of Vesoft (the commercial entity behind Nebula Graph), discussed his background and the company's positioning. Ye stated that he began working on graph databases at Facebook in late 2011, and later worked at the financial division of Alibaba, where he said the transaction data network was "way more than Facebook" and "the largest transaction network in China or pretty much in the world." He described the graph database market as having no dominant player, and said Nebula Graph's advantage comes from experience handling large-scale data. Ye said Vesoft's initial target customer sector was internet companies, explaining that these customers are "more willing to access the new technology" than traditional financial institutions and tend to have stronger technical teams. He attributed this choice to the internet sector's openness to new technology and its technical capabilities.

Source: AI-verified profile updated from Sherman Ye's recent appearances. Browse all interviews →

Transcript (20 segments)
T
Tim0:01
And up next we're talking to Sherman Ye, who is the founder and chief executive officer of Vesoft. Vesoft, of course, is the commercial entity behind the NebulaGraph graph database. It's brand spanking new. And Sherman, you have a very interesting history, and I think I want to start by having you review that you helped create the graph databases at Facebook and at the Ant Financial division of Alibaba. So that's a heck of a resume, so let's talk about that experience in building those graph databases before you started your own company.
S
Sherman Ye0:40
All right, first, thank you, Tim, to provide this opportunity. So, I started doing the graph database when I was at Facebook. I think we started the project back in late 2011. At that time, in Facebook, of course, we have a social graph, so it's very natural to have a graph database to serve relation queries for the products. So we started thinking to do something because there was no distributed graph database at that time. So we started thinking to index the relations shifts between people, like friendship, all those things, so we can provide easy access for the product. So we started building the project prototype. The prototype at the time, the project called the Dragon, it can serve like a friend-of-friends, that's a two-hop query, and we can even serve multiple hop queries like friend-of-friends photo, something like that. So after about a year, the system goes online and starts serving the products, and we get pretty positive feedback. After that, more and more products connected to the Dragon system. In 2015, I left Facebook and joined Ant Financial. I was lucky at the time because Ant Financial was looking to use the graph database in their portfolio, like risk management. So because of my background and experience with the graph database back at Facebook, they allowed me to lead the team to spearhead the graph database deployment at Ant Financial. First, we looked around to try to find some open source project or third-party commercial products. Unfortunately, at that time, no product could satisfy the amount of data and the high QPS of the financial. So after several months, in May 2015, we decided to build the system by ourselves. So we started gathering the team and building the system. Internally, we called it GBase, short for Graph Exploration and Analytic Database.
T
Tim4:05
I mean, are these all written in C, or do you use Java? How do you write them in? I mean, if you're worried about performance, I would think not. Yeah, I was going to say, you don't think you do it in Java.
S
Sherman Ye4:16
Yeah, it's all in C++. Yes, because of my background. I mean, I'm not a super expert guy, so I've been working on C process for many years.
T
Tim4:29
So that brings us to Nebula. So what makes Nebula different from the prior two ones you've helped create? What's different about it? It's better, stronger, faster, and you control it, so there's that. But I assume all that, but talk to me about what's different. What did you learn from the prior two experiences that you're bringing to bear with Nebula?
S
Sherman Ye5:03
Very good question. Actually, I think the main difference came from the different use scenario. In the previous two companies, in Facebook and Ant Financial, the system will be used basically for internal use, and all the users are internal product teams. So in that case, we not only provide the technology, we also maintain the system, right? We can provide a lot of consulting to the product team. But when we start doing our own stuff, like NebulaGraph, as a product to provide to external users, we cannot always do these things. We cannot maintain all the system for all the users, right? Of course, and we cannot provide all kinds of consulting work for free to all the other users. So that requires us to design the system in a way to be easily maintained, and the learning curve has to be smooth. Not like the internal system where the learning curve is not the first thing we consider. Because if it's hard to learn, that's fine because we can help the product team to build whatever and how to write the query as we want. But for other products, we cannot always do that. So two things we consider have the highest priority: one is that they're easy to use.
T
Tim6:39
Basically, what are the scalability limits of this thing? I mean, with prior distribution, unlimited? I would say it's unlimited, you know, when people say unlimited, I don't believe it, right?
S
Sherman Ye7:00
Very good question. The graph actually is a very special data structure. The scale of the graph we tested or experienced is at least at the trillion level, like a trillion edges.
T
Tim7:27
And if you wanted to do a trillion edges, like how big of a physical server cluster would be required for that? So give me an order of magnitude. Is that tens, hundreds, thousands of servers? What are we talking about?
S
Sherman Ye7:39
Very good question. The graph actually is a very special data structure. If we only look at the structure of the data, the graph, even when we talk about the trillion edges, the amount of data is not huge. We can use a couple of machines because today storage is huge. We can have several terabyte storage easily on one machine. So if we only look at the skeleton or the structure of the graph, it's something. But unfortunately, only the structure of the graph doesn't mean a lot or doesn't help the business logic a lot. So we have to use what we call the property graph. Property graph means you have properties on nodes or edges. So the amount of property decides how big the data is. Some graphs we run into have hundreds of properties on each edge or each node, and that makes the amount of data huge. Like the largest data we run into is close to one terabyte, hundreds of terabytes on one property graph. So it's like a hundred terabytes. Given that we usually store one to two terabytes data on each machine, the size of the cluster runs close to like 100 machines.
T
Tim9:15
How do you stack up against the competition in the market? So Neo4j has been out there for quite a while, Cambridge Semantics has been there for quite a while, TigerGraph is the new upstart. I can tell you from putting on this event, everybody is interested in graph databases, and here you are. You've done this, you can bring another one to market. Is there room for that many players? And what's your differentiation?
S
Sherman Ye9:40
First, I'll say, at least in this domain, in the graph database, so far there's no one dominant in this field. So there's a lot of rooms, but you also have a lot of players, and no player at least at this time dominates the field. So that's basically the background. When we come in, the advantage we have is the experience in a large amount of data. When I was at Facebook, we processed or experienced the largest social network in the world. But when I came back to China and joined Ant Financial, I was surprised because the amount of data is even larger, a different type. It's the transaction data. So actually, the number of edges is way more than Facebook. It's pretty much the largest transaction network in China or pretty much in the world. So we were fortunate to have this kind of experience. That's one advantage we have. The second advantage is the architecture of the system. Basically, we from the ground up would build a distributed system. It's not like, for example, Neo4j. I mean, I'll always pay a lot of respect to them; they are the first player in this field. They started the graph database more than a decade ago. But because they started early, their technology kind of limits the technology at that time. So basically, they're very good on a single machine, so they do not scale very well. But when we build our system, at the very beginning and the very first day, we started thinking about distributed system.
T
Tim12:00
So what's the trick to making that less painful? I mean, do you have a sophisticated caching algorithm between the nodes? How does this work? It seems like magic that it works as well as it does, that you can in fact scale pretty linearly across multiple nodes with a graph database without huge performance problems. So what did you do? What kind of black magic is in here?
S
Sherman Ye12:24
So basically, I'll say the magic here is how you organize the data. The nature of a graph is basically you have a node, a bunch of edges going out from this node, and then you have neighbors and neighbors going out. So it's a connected node. In a traditional database, the data was organized in tables, which means they put the same type of data together. But in the graph database, the data is organized in such a way that the node and its relations, or the edges starting from this node, we put those data together. So that means when we try to traverse out, it's much faster. So it's kind of like local access when we go out. But it's a distributed system, but when we go out one step, we always access one node, but we can go out.
T
Tim13:16
So how important is it that Nebula is open source? Neo4j is open source, a bunch of the other ones are not. You know, I'm not religious about open source; I think it's a fine model for software development. I think it gets exceedingly difficult to commercialize it. You know, Red Hat has obviously done a brilliant job of doing that. The number of companies who have done a good job making money from open source is hard; it's not a huge number. It's not a lot of money, but it's okay to live on. The 20% support is worth compared to licensing. If you can do it, it's great. It's a good living; everybody gets paid. You do great work. I'm not saying it doesn't work, but it's not necessarily easier. So I don't care if people license software or if it's open source; they're just two different ways to accomplish a goal. But for you, you've open-sourced Nebula, and you're trying to create a commercial entity capable of providing enterprise support. So what's the importance of open source for you?
S
Sherman Ye14:12
It's very important, basically from two aspects. First, because the graph database is relatively new. Even Neo4j started the graph database more than a decade ago, but at that time, it's still very limited use of the graph database. It's not very popular. Graph database only started getting popular in the last couple of years. So if you start hearing people say, "Oh, graph database, I want to use graph database," but still, today, more people know about the graph database or have heard about it than people really know what's going on in the graph database and how to use it. I mean, basically, most people don't know how to apply the graph database into their business. So for us, dealing with this new technology, it's a very high cost to educate people, to tell or teach people how to use graph database in their business and scenario. The best way we think is to give users the technology and let them handle this new technology, let them prove it by themselves. So the best way to provide that is to make the software open source, so people start using it and can easily get access to the technology and apply it into their use case. So that's one way we try to use open source to reduce the cost of educating the users by letting them hands-on with the new technology to try and adopt it.
T
Tim16:21
All right, that's a long reason. So last question: What industry and customer sets are you targeting? I mean, you're a startup, you've got to focus. You cannot just try to be everything to everyone. That's the nature of it. So where's your initial targeting to get your initial customer sets and really put the software to the test?
S
Sherman Ye16:44
Yes, the first sector we're going after is the internet customer. The reason we choose the internet customer is because first, internet customers are more willing to access the new technology than traditional financial institutes or other customers. Second, usually, internet companies or internet customers have better technologies; they have a more technical team. For example, their development team is, I would say, a little bit stronger than a traditional financial institute R&D team. So in that way, we decided to choose the internet sector as our first customer sector.
T
Tim17:30
All right, well, good luck. Let us know as you're doing new and different things, and as you get customers who are willing to talk, we're always willing to listen. Thanks for participating in the Next Database Platform, and we'll talk to you again soon.
S
Sherman Ye17:42
All right, thank you.