Dynamic data management
First Claim
1. A method for accessing data, the method comprising:
- receiving, with a server having one or more processors, a user query formatted according to a relational database query language utilized for a first database of a first database format, wherein the user query is utilized against unstructured data and structured data in the first database, wherein the unstructured data is stored in a second database of distributed, non-relational, semi-structured database format and utilizes a different query language than the first database and the user query;
requesting, with the one or more processors and in response to the user query, the structured data from the first database;
receiving, from the first database and with the one or more processors, in response to the requesting, the structured data from the first database;
requesting, with the one or more processors and in response to the user query, the unstructured data from the second database using a unstructured data request created from the user query, wherein the unstructured data request is formatted according to the different query language;
receiving, from the second database, with the one or more processors, in response to the requesting, the unstructured data including at least a set of data groups, each data group having a set of one or more values, each value of a respective data group being associated with a different tag;
determining, in response to receiving the unstructured data, with the one or more processors, a first number of data groups in the unstructured data;
determining, in response to receiving the unstructured data, with the one or more processors, a second number of unique tags across the data groups of the unstructured data;
creating, with the one or more processors, a table in the first database format, wherein the number of columns of the table is based on the second number of unique tags, and the number of rows of the table corresponds to the first number of data groups;
generate a populated table by populating, with the one or more processors, each row of the table with the unstructured data of a respective data group by adding each value to the column corresponding to the associated tag;
creating, with the one or more processors, a joined table comprising data of the populated table and the structured data from the first database;
applying, with the one or more processors, the user query to the joined table to obtain a query result; and
transmitting, with the one or more processors, the query result to the user device.
1 Assignment
0 Petitions
Accused Products
Abstract
An interface for users to gain access and manipulate unstructured data is provided. In response to receiving a user query associated with a first database format, a system can request unstructured data associated with a second database format from a second database. The unstructured data can include a set of data groups where each data group has a set of values. Each value can be associated with a different tag. To generate a structured database, some embodiments can determine the number of data groups and the number of unique tags across the data groups and populate the table with data from the unstructured data. Subsequently, the system can apply the user query to the table to obtain a query result and transmit the query result to the user device.
-
Citations
16 Claims
-
1. A method for accessing data, the method comprising:
-
receiving, with a server having one or more processors, a user query formatted according to a relational database query language utilized for a first database of a first database format, wherein the user query is utilized against unstructured data and structured data in the first database, wherein the unstructured data is stored in a second database of distributed, non-relational, semi-structured database format and utilizes a different query language than the first database and the user query; requesting, with the one or more processors and in response to the user query, the structured data from the first database; receiving, from the first database and with the one or more processors, in response to the requesting, the structured data from the first database; requesting, with the one or more processors and in response to the user query, the unstructured data from the second database using a unstructured data request created from the user query, wherein the unstructured data request is formatted according to the different query language; receiving, from the second database, with the one or more processors, in response to the requesting, the unstructured data including at least a set of data groups, each data group having a set of one or more values, each value of a respective data group being associated with a different tag; determining, in response to receiving the unstructured data, with the one or more processors, a first number of data groups in the unstructured data; determining, in response to receiving the unstructured data, with the one or more processors, a second number of unique tags across the data groups of the unstructured data; creating, with the one or more processors, a table in the first database format, wherein the number of columns of the table is based on the second number of unique tags, and the number of rows of the table corresponds to the first number of data groups; generate a populated table by populating, with the one or more processors, each row of the table with the unstructured data of a respective data group by adding each value to the column corresponding to the associated tag; creating, with the one or more processors, a joined table comprising data of the populated table and the structured data from the first database; applying, with the one or more processors, the user query to the joined table to obtain a query result; and transmitting, with the one or more processors, the query result to the user device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium encoded with program instructions that, when executed, are configurable to cause one or more processors to:
-
receive a user query formatted according to a relational database query language utilized for a first database of a first database format, wherein the user query is utilized against unstructured data and structured data in the first database, wherein the unstructured data is stored in a second database of distributed, non-relational, semi-structured database format and utilizes a different query language than the first database and the user query; request, in response to the user query, the structured data from the first database; receive, from the first database and in response to the request, the structured data from the first database; request, in response to the user query, the unstructured data from the second database using a unstructured data request created from the user query, wherein the unstructured data request is formatted according to the different query language; receive, from the second database, in response to the requesting, the unstructured data including at least a set of data groups, each data group having a set of one or more values, each value of a respective data group being associated with a different tag; determine, in response to receiving the unstructured data, a first number of data groups in the unstructured data; determine, in response to receiving the unstructured data, a second number of unique tags across the data groups of the unstructured data; create a table in the first database format, wherein the number of columns of the table is based on the second number of unique tags, and the number of rows of the table corresponds to the first number of data groups; generate a populate table by populate each row of the table with the unstructured data of a respective data group by adding each value to the column corresponding to the associated tag; create a joined table comprising data of the populated table and the structured data from the first database; apply the user query to the joined table to obtain a query result; and transmit the query result to the user device. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more processors; and a memory device including instructions that, when executed by the one or more processors, are configurable to cause the system to; receive a user query formatted according to a relational database query language utilized for a first database of a first database format, wherein the user query is utilized against unstructured data and structured data in the first database, wherein the unstructured data is stored in a second database of distributed, non-relational, semi-structured database format and utilizes a different query language than the first database and the user query; request, in response to the user query, the structured data from the first database; receive, from the first database and in response to the request, the structured data from the first database; request, in response to the user query, the unstructured data from the second database using a unstructured data request created from the user query, wherein the unstructured data request is formatted according to the second database; receive, from the second database, in response to the requesting, the unstructured data including at least a set of data groups, each data group having a set of one or more values, each value of a respective data group being associated with a different tag; determine, in response to receiving the unstructured data, a first number of data groups in the unstructured data; determine, in response to receiving the unstructured data, a second number of unique tags across the data groups of the unstructured data; create a table in the first database format, wherein the number of columns of the table is based on the second number of unique tags, and the number of rows of the table corresponds to the first number of data groups; generate a populated table by populate each row of the table with the unstructured data of a respective data group by adding each value to the column corresponding to the associated tag; create a joined table comprising data of the populated table and the structured data from the first database; apply the user query to the joined table to obtain a query result; and transmit the query result to the user device. - View Dependent Claims (14, 15, 16)
-
Specification