Abstract:
Systems and methods are disclosed for efficiently searching a database including a table. The table is partitioned along a first dimension, such as latitude. Indexes in each of the partitions are built along a second dimension, such as longitude. The table may also be clustered according to an index to improve performance. When a processor receives a database query term and a starting location, the processor selects, from the table, a data partition within a first offset to the starting location along the first dimension. The processor selects, from the selected data partition, a first number of first data records related to the query term and within a second offset to the starting location along the second dimension.
Abstract:
A system and method for database management and accessing data stored in the database may be optimized based on the database structure. For example, data associated with a range (e.g. owners of IP addresses) may have query requests optimized by utilizing two tables. The first table may include all the ranges, such that the ranges are continuous and not overlapping, and an identifier for each of the ranges. The second table may include the identifiers and the data that is associated with the range corresponding with those identifiers. Query requests for a particular range may be optimized by utilizing specialized database queries for the first table and because the data associated with the range is not part of the first table. Further, the second table size is reduced because an identifier may be associated with multiple ranges.
Abstract:
A system and method for database storage may be dynamically optimized for entity-attribute-value (EAV) data. In one embodiment, this dynamic EAV database may include one column for the entity identification (“ID”) and a second column for the serialized data for that ID (each attribute and the values for those attributes). The database may be dynamically updated to move or copy certain attributes to a separate column. The dynamic updating of one or more attributes may be based on certain factors (seasonal, temporal, usage, etc.), such as frequent requests for a particular attribute. This dynamic updating and indexing of particular attributes may improve certain queries and data requests.
Abstract:
Systems and methods are disclosed for efficiently searching a database including a table. The table is partitioned along a first dimension, such as latitude. Indexes in each of the partitions are built along a second dimension, such as longitude. The table may also be clustered according to an index to improve performance. When a processor receives a database query term and a starting location, the processor selects, from the table, a data partition within a first offset to the starting location along the first dimension. The processor selects, from the selected data partition, a first number of first data records related to the query term and within a second offset to the starting location along the second dimension.