Methods, systems, and computer program products for storing graph-oriented data on a column-oriented database
First Claim
1. A system for maintaining and accessing a graph-oriented data set over a network, the system comprising:
- a server communicatively connected to the network; and
a plurality of column-oriented storage nodes coupled to the server via the network;
wherein the server is configured to, for each user of a plurality of users;
store social networking data associated with the each user on one or more of the plurality of column-oriented storage nodes,maintain a graph model of the social networking data associated with the each user,wherein the graph model identifies a plurality of vertices and a plurality of edges defined by the social networking data associated with the each user,wherein the graph model works cooperatively with a column-oriented database to store, for each vertex and each edge in the graph model, one or more corresponding entries in one or more of a plurality of lookup tables in the plurality of column-oriented storage nodes,the column-oriented database comprising a vertex key-value table and an edge key-value table,the vertex key-value table configured for storing entities identified in the social networking data associated with the each user,the edge key-value table configured for storing relationships identified in the social networking data associated with the each user,receive a graph-oriented query via a user input interface on a computing device communicatively connected to the server via the network,analyze the graph-oriented query and sequentially convert the graph-oriented query to one or more column-oriented key-value lookup queries,search the plurality of lookup tables distributed across the plurality of column-oriented storage nodes by performing the column-oriented key-value lookup queries corresponding to the graph-oriented query on the plurality of column-oriented storage nodes, wherein the plurality of column-oriented storage nodes are physically separate storage nodes, andconvert results from the search to a graph model representation and present on the computing device to a user via the network.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and computer program products for efficiently storing and accessing graph-oriented information retrieved from disparate sources using an interface that effectively emulates a graph database to access a set of indexed, column-oriented tables. One embodiment is a system that includes a server and a plurality of storage nodes. The server retrieves graph-oriented social networking data for multiple users, identifies vertices, edges and associated properties within the data and stores this information in key-value lookup tables within a column-oriented database. The server can receive graph-oriented queries, convert the graph-oriented query to corresponding key-value lookup queries, and search the tables of the column-oriented database using the key-value lookup queries. The results of the lookup queries can be converted to a graph-oriented representation and presented to a user.
-
Citations
18 Claims
-
1. A system for maintaining and accessing a graph-oriented data set over a network, the system comprising:
-
a server communicatively connected to the network; and a plurality of column-oriented storage nodes coupled to the server via the network; wherein the server is configured to, for each user of a plurality of users; store social networking data associated with the each user on one or more of the plurality of column-oriented storage nodes, maintain a graph model of the social networking data associated with the each user, wherein the graph model identifies a plurality of vertices and a plurality of edges defined by the social networking data associated with the each user, wherein the graph model works cooperatively with a column-oriented database to store, for each vertex and each edge in the graph model, one or more corresponding entries in one or more of a plurality of lookup tables in the plurality of column-oriented storage nodes, the column-oriented database comprising a vertex key-value table and an edge key-value table, the vertex key-value table configured for storing entities identified in the social networking data associated with the each user, the edge key-value table configured for storing relationships identified in the social networking data associated with the each user, receive a graph-oriented query via a user input interface on a computing device communicatively connected to the server via the network, analyze the graph-oriented query and sequentially convert the graph-oriented query to one or more column-oriented key-value lookup queries, search the plurality of lookup tables distributed across the plurality of column-oriented storage nodes by performing the column-oriented key-value lookup queries corresponding to the graph-oriented query on the plurality of column-oriented storage nodes, wherein the plurality of column-oriented storage nodes are physically separate storage nodes, and convert results from the search to a graph model representation and present on the computing device to a user via the network. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for maintaining and accessing a graph-oriented data set over a network, the method comprising:
-
storing, by a server computer communicatively connected to the network, social networking data associated with a user on one or more column-oriented storage nodes coupled to the server via the network; maintaining, by the server computer, a graph model of the social networking data associated with the user, wherein the graph model identifies a plurality of vertices and a plurality of edges defined by the social networking data associated with the user, wherein the graph model works cooperatively with a column-oriented database to store, for each vertex and each edge in the graph model, one or more corresponding entries in one or more of a plurality of lookup tables in the column-oriented storage nodes, the column-oriented database comprising a vertex key-value table and an edge key-value table, the vertex key-value table configured for storing entities identified in the social networking data associated with the each user, the edge key-value table configured for storing relationships identified in the social networking data associated with the each user; receiving, by the server computer, a graph-oriented query via a user input interface on a computing device communicatively connected to the server computer via the network; analyzing, by the server computer, the graph-oriented query and sequentially converting, by the server computer, the graph-oriented query to one or more column-oriented key-value lookup queries; searching, by the server computer, the plurality of lookup tables distributed across the column-oriented storage nodes by performing the column-oriented key-value lookup queries corresponding to the graph-oriented query on the plurality of column-oriented storage nodes, wherein the column-oriented storage nodes are physically separate storage nodes; and converting, by the server computer, results from the search to a graph model representation and presenting on the computing device to a user via the network. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product comprising at least one non-transitory computer readable storage medium containing computer instructions configured to cause a computer system to perform:
-
storing social networking data associated with a user on one or more column-oriented storage nodes, the storage nodes communicatively coupled to the computer system via the network; maintaining a graph model of the social networking data associated with the user, wherein the graph model identifies a plurality of vertices and a plurality of edges defined by the social networking data associated with the user, wherein the graph model works cooperatively with a column-oriented database to store, for each vertex and each edge in the graph model, one or more corresponding entries in one or more of a plurality of lookup tables in the column-oriented storage nodes, the column-oriented database comprising a vertex key-value table and an edge key-value table, the vertex key-value table configured for storing entities identified in the social networking data associated with the each user, the edge key-value table configured for storing relationships identified in the social networking data associated with the each user; receiving a graph-oriented query via a user input interface on a computing device communicatively connected to the computer system via the network; analyzing the graph-oriented query and sequentially converting the graph-oriented query to one or more column-oriented key-value lookup queries; searching the plurality of lookup tables distributed across the column-oriented storage nodes by performing the column-oriented key-value lookup queries corresponding to the graph-oriented query on the plurality of column-oriented storage nodes, wherein the column-oriented storage nodes are physically separate storage nodes; and converting results from the search to a graph model representation and presenting on the computing device to a user via the network. - View Dependent Claims (15, 16, 17, 18)
-
Specification