Sie sind auf Seite 1von 3

Neo4j Use Case: Social

More and more organizations across a variety of sectors are gaining competitive and operational advantage by leveraging social computing. Plugging into the brave new world of social media is a common way to do this, and is a common driver for adopting Neo4j. Neo Technologys customers have begun to use social computing is to use information about relationships and social context in business and operational decisions, recognizing the impact of social context on individual preferences and behavior.

The Social Graph

Graphs are the ideal technical representation of a social network comprised of people and relationships between people. It is no coincidence that one of the more common uses of Neo4j is social. Common queries which work with social networks include determining whether and how any two people are connected; or navigating through progressive layers of a social network by tracing through friends of friends. These particular queries are notorious for bringing relational databases to their knees whereas in a social graph the query results are instantaneous. Other types of NOSQL database are likewise not generally not designed to handle high degrees of relatedness. Graph databases are both extremely quick at traversing relationships, and easy to work with, making them ideal choice for social applications of all kinds.

Key Challenges

Social networks generally: change and evolve quickly, often densely connected (becoming more so over time) have relationships which can be as or more important than individuals when striving to understand behavior The queries required to navigate a social graph and understand both the individuals and the relationships can lead to long, intense SQL with complex recursive joins, that are difficult to write and debug, and can take a long time to execute.

1 Neo Technology Inc. All Rights Reserved. www.neotechnology.com

Neo4j Solution

Neo4js graph data model - coupled with Neos exclusive Cypher query language - make it possible to very easily build extremely fast social data applications. Neo4j can return data thousands of times faster than a relational database, using queries that require one-tenth the amount of code. Graph databases have the following advantages when it comes to working with social data applications: Best Fit for the Domain. Social networks are already graphs. So why spend extra effort converting a graph into tables and then back again? There is immense power in having a data model that matches directly with your domain model. It lets business owners understand the data model, helping communication, and avoids lots of needless work, improving quality and speeding development.
1

Minutes to Milliseconds Performance. Neo4j takes a novel approach to

database storage, using a technique called index-free adjacency to store physical pointers to record locations inside each relationship. Neo4j can traverse millions of relationships per second. Weve had many customers begin writing social networking applications with MySQL, only to find they had to move to Neo4j for performance reasons, once their graph got big. Agility. With Neo4j, the data is effectively the schema, and the schema is the data. This leads to an unprecedented data modeling flexibility that is ideal for agile development. With a relational database, you need to get most of the requirements exactly right in order to build your app. The cost of schema changes can take up a high proportion of overall project costs. With a graph database, you can easily change the model as the business evolves.

First Class Relationships. With Neo4j, relationships are first class citizens. Unlike relational databases, where a foreign key constraint denotes only that multiple rows are related, relationships in Neo4j each have a type, a direction, and a virtually unlimited number of properties, which is very useful for capturing duration, quality, degree of influence, and so on.

See the book by Manning, entitled Neo4j in Action, for a thorough explanation and comparison of graph databases and RDBMS for social queries. The first chapter is available here for preview: http://www.manning.com/partner/Neo4J_meap_ch01.pdf
2 Neo Technology Inc. All Rights Reserved. www.neotechnology.com

Neo Customers

Some of the many companies whose social applications are powered by Neo4j include the following. Neo4j is fully transactional, durable, and supports 24X7 availability with HA clustering, also providing horizontal scaling for read throughput, and full ACIDity. Neo4j has been in production for nearly 10 years, and is being used in some of the worlds most demanding social applications today.

3 Neo Technology Inc. All Rights Reserved. www.neotechnology.com

Das könnte Ihnen auch gefallen