LinkedIn China new Social Platform Chitu. Interview with Dong Bin.
“Complicated queries, like looking for second degree friends, is really hard to traditional databases.” –Dong Bin
I have interviewed Dong Bin, Engineer Manager at LinkedIn China. The LinkedIn China development team launched a new social platform — known as Chitu — to attract a meaningful segment of the Chinese professional networking market.
Q1. What is your role at LinkedIn China?
Dong Bin: I am an Engineer Manager in charge of the backend services for Chitu. The backend includes all Chitu`s consumer based features, like feeds, chat, event, etc.
Q2. You recently launched a new social platform, called Chitu. Which segment of the Chinese professional networking market are you addressing with Chitu? How many users do you currently have?
Dong Bin: Unlike Linkedin.com, Chitu is targeting on young people without strong background, who mostly work at second-tier cities. They are eager to learn how to promote their career path. Due to business reasons, the members count can not be published yet. Sorry for that.
Q3. What are the main similarities and differences of Chitu with respect to LinkedIn?
Dong Bin: Besides the difference of user targeting, Chitu involves more popular features like Live Mode and knowledge monetization. And the Chitu team worked as a startup, which make the product run extremely fast. It is the key to beat the local competitors.
Q4. Who are your main competitors in China?
Dong Bin: The main competitors are: Maimai and Liepin.
Q5. What were the main challenges in developing Chitu?
Dong Bin: 1. At the beginning of the development, Chitu needed to be launched on an impossible deadline to catch up with competitors, by a team of engineers less than 20. 2. So many hot features are proposed which are so complicated from an implementation perspective, like friends with 1/2/3 degree, realtime chatting. They are tough problems for traditional infrastructure.
Q6. Why did you use a graph database for developing Chitu and not a conventional relational database?
Dong Bin: For development efficiency, I need a schemaless database which can handle relationships very easily. Schema will be a pain for fast iteration cause migration in many environment. And complicated queries, like looking for second degree friends, is really hard to traditional databases. Then I found graph database just fit my requirement.
Then I found graph database is good at performance of query connected data. With more than 10 years of experience of using relational database, I know that complicated joins are the performance killer. But graph databases kick ass of other databases.
Q7. What are the main advantages did you experience in using Neo4j?
Dong Bin: 1. I decide to use graph database and I found the No.1 graph database is Neo4j which make me no other choice; 2. Neo4J has a native graph storage; 3. The community is active and document is so rich, though it is comparable to MySQL or Oracle; 4. It is very fast.
Q8. Did you evaluate other graph databases in the market, other then Neo4j? If yes, which ones?
Dong Bin: Yes, I have evaluated OrientDB. I didn’t choose it because 1) it is not native graph storage, which make concern about performance; 2) the community and the documentation are weak.
Q9. Can you be a bit more specific, and explain what do you do with the Neo4j native graph storage, and why is it important for your application?
Dong Bin: Because native graph storage can handle query with joins very quickly. Chitu has so many queries depending on that. I have experience on that.
Q10. When you say, Neo4J is very fast, did you do any performance benchmarks? If yes, can you share the results? Did you do performance comparisons with other databases?
Dong Bin: We did have some rough benchmarks, but now we focus on production performance metrics. In production log, I can see that 99% of the queries need no more than 10ms. This is the data I can provide with confidence.
Q11. What is the roadmap ahead for Chitu?
Dong Bin: The long-term goal is becoming the No.1 professional network platform in China. Also, Chitu will focus on knowledge sharing and monetization.
Dong Bin is an Engineer Manager at Linkedin China. He has more than ten years experience of building web and database applications. His main interests are architecture for high performance and high stability. He has several years of database experience for MySQL, Redis and Mongodb, and fall in love with Graph DB after learning about Neo4j. Prior joining to Linkedin, he worked at Kabam as an Engineer Lead for developing mobile strategy game. He obtain a M.S in Harbin Institute of Technology in China.
– Chitu: Chitu is a social network app created by LinkedIn China.
– Neo4j Graph Database Helps LinkedIn China Launch Separate Professional Social Networking App
– Graph Databases for Beginners: Native vs. Non-Native Graph Technology
– Graph Databases. by Ian Robinson, Jim Webber, and Emil Eifrem. Published by O’Reilly Media, Inc. Second edition (224 pages).
– The Panama Papers: Why It Couldn’t Have Happened Ten Years Ago By Emil Eifrem, CEO, Neo Technology, ODBMS.org April 6, 2016
– Forrester Report: Graph Databases Market Overview, ODBMS.org, AUGUST 31, 2015
– Embracing the evolution of Graphs. by Stephen Dillon, Data Architect, Schneider Electric. ODBMS.org, January 2015.
– Graph Databases for Beginners: Why Data Relationships Matter. By Bryce Merkl Sasaki, ODBMS.org, July 31, 2015
– Graph Databases for Beginners: The Basics of Data Modeling. By BRYCE MERKL SASAKI, ODBMS.org, AUGUST 7, 2015
– Graph Databases for Beginners: Why a Database Query Language Matters. BY BRYCE MERKL SASAKI, ODBMS.org, AUGUST 21, 2015
Follow us on Twitter: @odbmsorg
What does mean Dong Bin with “it is not native graph storage, which make concern about performance”? OrientDB is a “native” Graph Database in the same meaning Neo4j gives to this word: https://neo4j.com/blog/native-vs-non-native-graph-technology/. OrientDB saves references to the vertices as pointers, like Neo4j. There are no run-time JOINs. This is inaccurate.
I’m sorry that LinkedIn didn’t even give to OrientDB a chance because they misinterpret the definition of “Native”. The differences are explained here: http://orientdb.com/orientdb-vs-neo4j/.
(Disclaimer: I’m the author of OrientDB)
Thank you Luca for your feedback. I will pass on this to Dong Bin.