Global dictionaries using universal primitives
First Claim
1. A network device, comprising:
- a database for managing mixed numeric and non-numeric data;
a storage device for storing the database, or other data; and
a processor that is operative to perform actions, including;
reading data within the database having mixed numeric and non-numeric data;
generating one or more global dictionaries for read data having one or more common data types in the database, wherein each read data value for a common data type is copied to a global dictionary;
when it is determined that the read data value for the common data type is non-numeric, performing further actions, including;
creating a universal primitive (UNIP) having a first field indicating that the read data value is non-numeric, and at least a second field that identifies a storage location within the storage device for storing the read data value, wherein the UNIP is assigned to the read non-numeric data value, andreplacing the read non-numeric data value within the database with the created UNIP, such that subsequent queries within the database manages queries using the UNIPs that replaced the read non-numeric data values having the common data types; and
when it is determined that the read value for the common data type'"'"'s values is numeric, replacing the common data type'"'"'s values with one or more keys for the global dictionary.
6 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are directed towards managing data storage and queries within a database system using global dictionaries with universal primitives (UNIPs) to represent non-numeric data within a mixed numeric/non-numeric environment. Common data types are managed within a same global dictionary through dictionaries that are globally used within the database system. At least non-numeric data within mixed data fields may be stored using a UNIP to identify the stored non-numeric data. The UNIP may take advantage of the IEEE-754 standard for floating point data representation by setting a first field within the UNIP to 0x7ff (HEX) to indicate that the data is non-numeric (NaN) and using remaining bits to store typed data, such as a date or unique indirect reference (e.g. a sequence number or file offset to larger piece of data). The UNIP may then replace the data within the database and be used during operations performed on the data.
160 Citations
20 Claims
-
1. A network device, comprising:
-
a database for managing mixed numeric and non-numeric data; a storage device for storing the database, or other data; and a processor that is operative to perform actions, including; reading data within the database having mixed numeric and non-numeric data; generating one or more global dictionaries for read data having one or more common data types in the database, wherein each read data value for a common data type is copied to a global dictionary; when it is determined that the read data value for the common data type is non-numeric, performing further actions, including; creating a universal primitive (UNIP) having a first field indicating that the read data value is non-numeric, and at least a second field that identifies a storage location within the storage device for storing the read data value, wherein the UNIP is assigned to the read non-numeric data value, and replacing the read non-numeric data value within the database with the created UNIP, such that subsequent queries within the database manages queries using the UNIPs that replaced the read non-numeric data values having the common data types; and when it is determined that the read value for the common data type'"'"'s values is numeric, replacing the common data type'"'"'s values with one or more keys for the global dictionary. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a storage device that stores a database having stored therein mixed numeric and non-numeric data; one or more processors operative to perform actions, including; reading data within the database having mixed numeric and non-numeric data; generating one or more global dictionaries for read data having one or more common data types in the database, wherein a read data value for a common data type is copied to a global dictionary; when it is determined that the read data value for the common data type is non-numeric, performing further actions, including; creating a universal primitive (UNIP) having a first field indicating that the read data value is non-numeric, and at least a second field that identifies a storage location within the storage device for storing the read data value, wherein the UNIP is assigned to the read non-numeric data value, and replacing the read non-numeric data value within the database with the created UNIP, such that subsequent queries within the database manages queries using the UNIPs that replaced the read non-numeric data values having the common data types; and when it is determined that the read value for the common data type'"'"'s values is numeric, replacing the common data type'"'"'s values with one or more keys for the global dictionary. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus comprising a non-transitory computer readable medium, having computer-executable instructions stored thereon, that in response to execution by a computing device, cause the computing device to perform operations, comprising:
-
reading data within the database having mixed numeric and non-numeric data; generating one or more global dictionaries for read data having one or more common data types in the database, wherein a read data value for a common data type is copied to a global dictionary; when it is determined that the read data value for the common data type is non-numeric, performing further actions, including; creating a universal primitive (UNIP) having a first field indicating that the read data value is non-numeric, and at least a second field that identifies a storage location within the storage device for storing the read data value, wherein the UNIP is assigned to the read non-numeric data value, and replacing the read non-numeric data value within the database with the created UNIP, such that subsequent queries within the database manages queries using the UNIPs that replaced the read non-numeric data values having the common data types; and when it is determined that the read value for the common data type'"'"'s values is numeric, replacing the common data type'"'"'s values with one or more keys for the global dictionary. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification