WO2001088656A2 - Apparatus and method for performing transformation-based indexing of high-dimensional data - Google Patents

Apparatus and method for performing transformation-based indexing of high-dimensional data Download PDF

Info

Publication number
WO2001088656A2
WO2001088656A2 PCT/SG2001/000081 SG0100081W WO0188656A2 WO 2001088656 A2 WO2001088656 A2 WO 2001088656A2 SG 0100081 W SG0100081 W SG 0100081W WO 0188656 A2 WO0188656 A2 WO 0188656A2
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
data item
dimensional data
value
subqueries
Prior art date
Application number
PCT/SG2001/000081
Other languages
French (fr)
Other versions
WO2001088656A3 (en
Inventor
Beng Chin Ooi
Kian Lee Tan
Stephen Bressan
Cui Yu
Original Assignee
National University Of Singapore
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University Of Singapore filed Critical National University Of Singapore
Priority to AU55135/01A priority Critical patent/AU5513501A/en
Priority to US10/276,357 priority patent/US7117217B2/en
Publication of WO2001088656A2 publication Critical patent/WO2001088656A2/en
Publication of WO2001088656A3 publication Critical patent/WO2001088656A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Definitions

  • the present invention relates to the field of database management, and more particularly to a method and an apparatus for achieving efficient database indexing structures which permit high-speed access to high-dimensional data points from a large repository of points stored in memory.
  • Database management systems are widely accepted as a standard tool for manipulating large volumes of data in secondary storage media.
  • databases typically use structures known as indexes.
  • indexes are optional because data can always be located by an exhaustive search, indexes are the primary means of reducing the volume of data that must be retrieved and processed in response to a query. Therefore, in practice, large database files must be indexed to satisfy performance requirements.
  • Hierarchical tree structures such as R-trees
  • linear quad-trees linear quad-trees
  • grid-files many indexing methods for multi-dimensional data have been developed, including hierarchical tree structures (such as R-trees), linear quad-trees, and grid-files.
  • hierarchical tree structures perform well when the tree nodes exhibit a large degree of fan-out, with an increasing number of dimensions, a low degree of fan-out contributes to increased overlap between node entries and increased tree height, resulting in rapid deterioration in performance.
  • Linear quad-trees and grid-files also work well for low dimensionalities, but the response time explodes exponentially for high dimensionalities. In fact, for high dimensionality, sequential scanning becomes more efficient.
  • Recent efforts have sought to address these problems by reducing the dimensionality of the indexing attribute so that one direction corresponds to projecting high-dimensional points on a hyperplane containing the axis.
  • One such method e.g., that disclosed by Friedman, et al. An Algorithm For Finding Nearest Neighbors, IEEE Transaction on Computers, Vol C-24, pp.1000-1006
  • truncates high dimensional data Searching on projections, however, produces false drops, which can reduce the effectiveness of the technique.
  • Another recent method groups high-dimensional data into smaller buckets so that a search can be performed by sequentially scanning the smaller number of buckets. This approach is not expected to scale for large amounts of high-dimensional data, as the number of buckets will be too large to allow efficient searching. Therefore, there is a need for indexing technique which reduces the dimensionality of a high-dimensional database, while at the same time ensuring that objects are not missed and false drops do not frequently occur when answering a query.
  • the present invention is a method and apparatus for achieving efficient and complete retrieval of high-dimensional points from a database.
  • high-dimensional data points are mapped to single-dimensional space using a computationally inexpensive transform.
  • data points in d-dimensional space are mapped to a single-dimension using either the value of the dimension with the maximum value or the value of the dimension with the minimum value, such that a value associated with such a maximum or minimum dimension is a representative index key for the high-dimensional point.
  • the transformed values for all data points can be ordered and range queries can be performed on the transformed (single-dimensional) space. Accordingly, single- dimensional indexes can be employed to index the transformed values.
  • the B + -tree structure can be employed since it is supported by all commercial database management systems.
  • the present invention can be readily adopted for use in known indexing/retrieval systems by determining the way the data is stored in memory, e.g., through the use of B + -tree, and the efficiency of the present invention improves the processing time for retrieving data from secondary memory to the buffer (RAM).
  • buffer space is efficiently used by fetching just enough data for answering user queries.
  • the transform used by the present invention to map high-dimensional data to single-dimensional space is a "tunable" index scheme, which, by varying a value ⁇ , is able to bias selection to either the dimension with the maximum value or the dimension with the minimum value so as to optimize the distribution of data points over a single dimension.
  • FIG. 1 illustrates a database management system according to an embodiment of the present invention
  • Fig. 2A illustrates an example of a distribution of data points in three- dimensional space
  • Fig. 2B illustrates an exemplary mapping of the three-dimensional data points of Fig. 2A to a single dimension according to an embodiment of the present invention
  • Figs. 3A-3B illustrate examples of search space for 2-dimensional space
  • Fig. 4 is a flow diagram illustrating a point search algorithm according to an embodiment of the present invention
  • Fig. 5 is a flow diagram illustrating a range search algorithm according to an embodiment of the present invention
  • Figs. 6A-6B are graphs illustrating the effectiveness of an implementation of the present invention based on varying the number of dimensions
  • Figs. 7A-7B are graphs illustrating the effectiveness of an implementation of the present invention based on data set size and selectivity respectively;
  • Figs. 8A-8B are data distribution graphs showing the effect of ⁇ on a skewed normal distribution and a skewed exponential distribution respectively;
  • Figs. 9A-9B are graphs illustrating the effect of varying ⁇ on efficiency; and Fig. 10 is a graph illustrating efficiency results of an implementation of the present invention for high-dimensional data points having a skewed exponential distribution.
  • FIG. 1 illustrates a database management system 100 which is suitable for implementing embodiments of the present invention, and which includes: a data input unit 10 for inputting data to be indexed and stored by the database management system; a data retrieval input/output unit 20 for inputting search queries for data retrieval and outputting query results; a transform processor 30 for transforming high-dimensional data points received from the data input unit 10 and high-dimensional queries received from the data retrieval input/output unit 20; a buffer 40, e.g., Random Access Memory (RAM), for storing transformed data points and queries resulting from the transform processor for outputting transformed data points to a secondary storage 50, such as a disk memory, and retrieving data points from the secondary storage 50 based on the transformed queries.
  • RAM Random Access Memory
  • the transform processor 30 When high- dimensional points received from data input unit 10 have to be stored, the transform processor 30 first transforms by a mapping function, referred to herein as iMinMax( ⁇ , into single dimensional values in buffer 40. These single- dimensional values are then inserted into a secondary storage 50, such as in the form of a disk-based B + -tree. Since a single-dimensional indexing structure, like a B + -tree, clusters data that has similar values together, this effectively clusters high- dimensional points that are related.
  • a mapping function referred to herein as iMinMax( ⁇
  • a query (also in high-dimensional space) from the data retrieval input/output unit 20 will also be transformed using iMinMax(6) into a set of subqueries in single- dimension space in buffer 40. These subqueries are then used to access the data from the secondary storage 50. Only a fraction of the secondary storage 50 will be searched, and only the relevant portions of the pages stored in secondary storage
  • iMinMax( ) The transform function used in an exemplary implementation of the present invention, adopts a simple mapping function that is computationally inexpensive. Specifically, a data point x is mapped to a point y over a single dimensional space as follows:
  • the domain of Salary is a number between 30,000 to 100,000; the domain of Age is a number from 20 to 70, and the domain of Competency is a real number between 0 and 1.
  • the attribute values are first mapped into a [0,1] range.
  • an integer value is assigned to each attribute type (i.e., dimension).
  • 0, 1 and 2 are assigned to represent the dimension (i) of salary, age and competency respectively.
  • Figs. 2A-2B illustrate this simple transformation of data points with 3 indexed attributes to data points indexed by a single value.
  • the basic idea of iMinMax is to distribute high-dimensional data points in a single-dimensional space so that they can be searched and retrieved efficiently. This is realized by three beneficial properties of iMinMax.
  • can be relied on to influence the number of points falling on each index hyperplane.
  • the unique tunable feature facilitates the adaptation of iMinMax( ⁇ S) to data sets of different distributions (i.e., uniform or skewed). In cases where data points are skewed toward certain edges, these points may be "scattered" to other edges to achieve even distribution by making a choice between d m ; n and d max .
  • Statistical information such as the number of index points can be used for such a purpose. Alternatively, one can either use the information on the data distribution or information collected to categorically adjust the partitioning. As discussed below, the trade off of a dynamic ⁇ s that certain queries cannot be pruned.
  • Range queries in the original ⁇ f-dimensional space must be transformed to the single-dimensional space for evaluation.
  • iMinMax( ⁇ S) the original query in the d-dimensional space is mapped into of subqueries — one for each dimension.
  • the nodes of the single-dimensional indexing structure e.g., the leaf nodes of a B + -tree
  • the leaf node entries contain the tuple x, ptr), where X key is the single-dimensional index key of point x and ptr is the pointer to the data page containing other information that may be related to the high-dimensional point. Therefore, any false drop which occurs as a result of Theorem 1 affects only the vectors used as index keys, rather than the actual data itself.
  • Theorem 3 given a query q, and the subqueries q ⁇ ,q2,...,qd, at most d subqueries need to be evaluated.
  • Theorem 2 assumes that a fixed ⁇ is used throughout the life span of the index. That is, ⁇ cannot be dynamically tuned. Fortunately, dynamic tuning of indexes will not be a common practice in the real world and is not cost effective. From Theorem 2 and Theorem 3, the effectiveness of iMinMax( ) can be seen because, for very high dimension spaces, we can expect significant savings from the pruning of subqueries.
  • Figures 3A-3B illustrates how iMinMax can keep out points from the search space.
  • a B + -tree is adopted (such as disclosed in D. Comer. The Ubiquitous B-tree. ACM Computing Surveys. 11(2), 121-137, 1979) as the underlying single-dimensional index structure.
  • Entries at the internal nodes are of the form (key, ptr), where key is a single-dimensional value, and ptr is a pointer to its child node at the next level of the tree.
  • leaf nodes also store the high-dimensional key, i.e., leaf node entries are of the form (key, v, ptr), where key is the single- dimensional key, v is the high-dimensional key whose transformed value is key, and ptr is the pointer to the data page containing information related to v. Keeping v at the leaf nodes can minimize page accesses to non-matching points.
  • multiple high-dimensional keys may be mapped to a single key value.
  • the algorithms for searching, inserting and deleting data points are similar to well known algorithms.
  • An algorithm for a point search is summarized in the flow-diagram of Figure 4.
  • the algorithm first maps a multi-dimensional search point p to the single-dimensional key, x p , using the transform described above (step 202).
  • the previously generated index structure e.g., the B + -tree, is then traversed (step 204) to the leaf node where x p may be stored. If the point does not exist, then a NULL value is returned (steps 206-208). Otherwise, for every matching x p value, the high-dimensional key of the data is compared with p for a match and those that match are accessed using the pointer value (step 210). Otherwise, they are ignored.
  • the final answers are then returned (step 212).
  • Range queries are slightly more complicated than point searches.
  • the subquery stops. Otherwise, for every x e [/,/7 / ], the high- dimensional key of the data is compared with p for a match and those that match are accessed using the pointer value (step 308). As in a point search, multiple leaf pages may have to be examined. Once all subqueries have been evaluated, the final answers are then returned (step 310).
  • iMinMax( ⁇ ) and a Pyramid technique were implemented in C, and the B + -tree was used as the single-dimensional index structure.
  • Each index page was a 4 KB page, and no data pages were buffered. Therefore, every page touched incurred an I/O.
  • the traversal paths of the d subqueries generated by iMinMax( ⁇ S) do not overlap and hence share very few common internal nodes. This is also true for the subqueries generated by the Pyramid technique.
  • the pruning outlined in Theorem 2 was not implemented.
  • Each query is a hyper- cube and has a default selectivity of 0.1% of the domain space ([0,1], [0,1],...,[0,1]).
  • the query width is the d-th root of the selectivity: ij .001 .
  • the query width is 0.841, which is much larger than half of the extension of the data space along each dimension. Different query sizes will be used for non- uniform distributions.
  • the default number of dimensions used is 30.
  • Each I/O corresponds to the retrieval of a 4 KB page.
  • the average I/O cost of the queries is used as a performance measure.
  • the number of dimensions is varied from 8 to 50.
  • the data set is uniformly distributed over the domain space. There are a total of 100K points.
  • the MAX scheme is the simple scheme that maps each point to its maximum value. However, the transformed space is not partitioned.
  • Figure 6A shows the results.
  • Figure 7A shows the results when the data set sizes vary from 100K to 500K points.
  • Figure 7B shows the results when the query selectivities vary from 0.01% to 10%.
  • Figs. 8A-8B illustrate the data distributions in 2-dimensional space.
  • the first set of experiments studies the effect of ⁇ on skewed normal distribution. For normal distribution, the closer the data center is to the cluster center, the more points can be evenly assigned to each edge. For queries that follow the same distribution, the data points will have the same probability of being kept far from the query cube. In these experiments, each dimension of the query is fixed to have a width of 0.4.
  • Fig. 9A shows the results for 100K 30-dimensional points.
  • Fig. 9A shows that for iMinMax, there exists a certain optimal lvalue that leads to the best performance. Essentially, ⁇ "looks out" for the center of the cluster.
  • iMinMax can outperform the Pyramid technique by a wide margin (more than 50% ).
  • iMinMax can perform worse than the Pyramid scheme when the distribution of points to the edges becomes skewed, and a larger number of points have to be searched. Because of these factors, it is important to fine tune ⁇ for different data distributions in order to obtain optimal performance. This tuning can be easily performed by varying ⁇ .
  • Fig. 9B the results for 500K 30-dimensional points are shown.
  • iMinMax's effectiveness depends on the ⁇ value set.
  • Fig. 9B demonstrates that iMinMax performs better than Pyramid over a wider range of tuning factors, and over a wider margin (more than 66%).
  • the second set of experiments looks at the relative performance of the schemes for skewed exponential data sets.
  • each dimension of the query is fixed to have a width of 0.4.
  • For an exponential distribution we choose to be exponential to small value), many dimensions will have small values, and a small number of dimensions will have large values. Thus, many data points will have at least one large value. Because many of the dimensions are associated with small values, the data points tend to lie close along the edges of the data space.
  • exponential data distributions can be very different from each other. They may be more likely to be close along the edges, or close to the different corners depending on the number of dimensions that are skewed to be large, or small.
  • a range query if it is with exponentially distribution characteristics, will have subqueries which are mostly close to the low corner. Therefore, tuning the keys to choose large values is likely to keep away more points from the query.
  • Fig. 10 shows the results for 500K 30-dimensional points on a skewed exponential distribution. The result is of similar form to that of the normal distribution experiment — iMinMax is optimal at certain lvalues.

Abstract

A method and apparatus for implementation in a database management system transforms high-dimensional data points to a single-dimensional space so that single-dimensional values can be used as representative index keys for high-dimensional data points and a single-dimensional index structure can be employed to index the transformed values. Upon achieving transformed values, known single-dimensional indexing structures can be employed. To achieve transformation from high-dimensions to a single-dimension, attribute values of a data item, each representing a different dimension, are mapped into a range and an integer value is assigned to each dimension. Either the minimum or maximum dimension value for the multi-dimensional data item is selected, and the minimum or maximum dimensional value is added to the integer value. As a result of this transformation, data points are mapped over a range in a single dimension and associated single-dimension values are used as a representative index key for subsequent search queries.

Description

APPARATUS AND METHOD FOR PERFORMING TRANSFORMATION-BASED
INDEXING OF HIGH-DIMENSIONAL DATA
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to the field of database management, and more particularly to a method and an apparatus for achieving efficient database indexing structures which permit high-speed access to high-dimensional data points from a large repository of points stored in memory.
Description of Related Art
Database management systems are widely accepted as a standard tool for manipulating large volumes of data in secondary storage media. To enable fast access to stored data according to its content, databases typically use structures known as indexes. Although indexes are optional because data can always be located by an exhaustive search, indexes are the primary means of reducing the volume of data that must be retrieved and processed in response to a query. Therefore, in practice, large database files must be indexed to satisfy performance requirements.
Recent years have seen an explosive growth in use of new database applications such as CAD/CAM systems, spatial information systems, and multimedia information systems. The needs of these applications are far more complex than traditional business applications. In particular, data objects are typically represented as high-dimensional points. Traditional indexing techniques such as the B-tree and its variants, which are single-dimensional indexing structures, do not efficiently support such new database applications, thereby requiring the design of new and more complex indexing mechanisms.
Consequently, many indexing methods for multi-dimensional data have been developed, including hierarchical tree structures (such as R-trees), linear quad-trees, and grid-files. Although hierarchical tree structures perform well when the tree nodes exhibit a large degree of fan-out, with an increasing number of dimensions, a low degree of fan-out contributes to increased overlap between node entries and increased tree height, resulting in rapid deterioration in performance. Linear quad-trees and grid-files also work well for low dimensionalities, but the response time explodes exponentially for high dimensionalities. In fact, for high dimensionality, sequential scanning becomes more efficient.
Recent efforts have sought to address these problems by reducing the dimensionality of the indexing attribute so that one direction corresponds to projecting high-dimensional points on a hyperplane containing the axis. One such method (e.g., that disclosed by Friedman, et al. An Algorithm For Finding Nearest Neighbors, IEEE Transaction on Computers, Vol C-24, pp.1000-1006) truncates high dimensional data. Searching on projections, however, produces false drops, which can reduce the effectiveness of the technique. Another recent method groups high-dimensional data into smaller buckets so that a search can be performed by sequentially scanning the smaller number of buckets. This approach is not expected to scale for large amounts of high-dimensional data, as the number of buckets will be too large to allow efficient searching. Therefore, there is a need for indexing technique which reduces the dimensionality of a high-dimensional database, while at the same time ensuring that objects are not missed and false drops do not frequently occur when answering a query.
SUMMARY OF THE INVENTION The present invention is a method and apparatus for achieving efficient and complete retrieval of high-dimensional points from a database. According to the present invention, high-dimensional data points are mapped to single-dimensional space using a computationally inexpensive transform. In one implementation, data points in d-dimensional space are mapped to a single-dimension using either the value of the dimension with the maximum value or the value of the dimension with the minimum value, such that a value associated with such a maximum or minimum dimension is a representative index key for the high-dimensional point. The transformed values for all data points can be ordered and range queries can be performed on the transformed (single-dimensional) space. Accordingly, single- dimensional indexes can be employed to index the transformed values. For example, the B+-tree structure can be employed since it is supported by all commercial database management systems. Thus, the present invention can be readily adopted for use in known indexing/retrieval systems by determining the way the data is stored in memory, e.g., through the use of B+-tree, and the efficiency of the present invention improves the processing time for retrieving data from secondary memory to the buffer (RAM). In addition to improving the storage and retrieval time of data from secondary memory, buffer space is efficiently used by fetching just enough data for answering user queries.
In one implementation, the transform used by the present invention to map high-dimensional data to single-dimensional space is a "tunable" index scheme, which, by varying a value θ, is able to bias selection to either the dimension with the maximum value or the dimension with the minimum value so as to optimize the distribution of data points over a single dimension.
BRIEF DESCRIPTION OF THE DRAWINGS
Other aspects and advantages of the present invention will become apparent upon reading the following detailed description and upon reference to the drawings in which: Fig. 1 illustrates a database management system according to an embodiment of the present invention;
Fig. 2A illustrates an example of a distribution of data points in three- dimensional space;
Fig. 2B illustrates an exemplary mapping of the three-dimensional data points of Fig. 2A to a single dimension according to an embodiment of the present invention;
Figs. 3A-3B illustrate examples of search space for 2-dimensional space;
Fig. 4 is a flow diagram illustrating a point search algorithm according to an embodiment of the present invention; Fig. 5 is a flow diagram illustrating a range search algorithm according to an embodiment of the present invention;
Figs. 6A-6B are graphs illustrating the effectiveness of an implementation of the present invention based on varying the number of dimensions;
Figs. 7A-7B are graphs illustrating the effectiveness of an implementation of the present invention based on data set size and selectivity respectively;
Figs. 8A-8B are data distribution graphs showing the effect of θ on a skewed normal distribution and a skewed exponential distribution respectively;
Figs. 9A-9B are graphs illustrating the effect of varying θ on efficiency; and Fig. 10 is a graph illustrating efficiency results of an implementation of the present invention for high-dimensional data points having a skewed exponential distribution.
DETAILED DESCRIPTION The following detailed description relates to a method and an apparatus for indexing high-dimensional datapoints in a database management system by transforming datapoints to single-dimensional values to be used as representative index keys. Illustrative embodiments of the present invention will be described with reference to the accompanying drawings. Fig. 1 illustrates a database management system 100 which is suitable for implementing embodiments of the present invention, and which includes: a data input unit 10 for inputting data to be indexed and stored by the database management system; a data retrieval input/output unit 20 for inputting search queries for data retrieval and outputting query results; a transform processor 30 for transforming high-dimensional data points received from the data input unit 10 and high-dimensional queries received from the data retrieval input/output unit 20; a buffer 40, e.g., Random Access Memory (RAM), for storing transformed data points and queries resulting from the transform processor for outputting transformed data points to a secondary storage 50, such as a disk memory, and retrieving data points from the secondary storage 50 based on the transformed queries. It should be realized that the configuration shown in Fig. 1 is for illustrative purposes to illustrate the flow of data for storage and retrieval, and that the present invention may be implemented to improve any existing database management system, for example one which utilizes a database server which has the ability of handling multiple databases.
As shown in Figure 1, there are two functional parts of the database management system 100: storage of data and retrieval of data. When high- dimensional points received from data input unit 10 have to be stored, the transform processor 30 first transforms by a mapping function, referred to herein as iMinMax(<^, into single dimensional values in buffer 40. These single- dimensional values are then inserted into a secondary storage 50, such as in the form of a disk-based B+-tree. Since a single-dimensional indexing structure, like a B+-tree, clusters data that has similar values together, this effectively clusters high- dimensional points that are related. On the other hand, when retrieving data, a query (also in high-dimensional space) from the data retrieval input/output unit 20 will also be transformed using iMinMax(6) into a set of subqueries in single- dimension space in buffer 40. These subqueries are then used to access the data from the secondary storage 50. Only a fraction of the secondary storage 50 will be searched, and only the relevant portions of the pages stored in secondary storage
50 will be transferred into buffer 40. The relevant data is refined and returned to the data retrieval input/output as answers to the data retrieval input/output unit 20.
The following discussion and illustrative examples demonstrates the operation performed by the transform processor 30 using iMinMax(ό).
In the following discussion, we consider a unit of d-dimensional space, e.g., points are in the space ([0,1], [0,1] [0,1]). In other words, all attribute values of multi-dimensional data points are mapped for example into a [0,1] domain. An arbitrary data point in the space is represented as x = xι,X2,...,Xd)- Furthermore, let xmax =
Figure imgf000007_0002
, and xm,π =
Figure imgf000007_0001
/be the maximum value and minimum value among the dimensions of the point. Moreover, dmaχ and dmm- denote the dimensions at which the maximum and minimum values occur. A range query is represented by q = [xu,xi2],[χ2i,X22],---,[Xdi,Xd2]) and ans(q) denotes the answers produced by evaluating a query q.
1. Transforming High-Dimensional Data to Single-Dimensional Space
The transform function used in an exemplary implementation of the present invention, iMinMax( ), adopts a simple mapping function that is computationally inexpensive. Specifically, a data point x is mapped to a point y over a single dimensional space as follows:
y = in + min if *- + < ι-*.« max + ma.x Otherwise
where θ is a real number. The result of formula (1) is best illustrated by the following example in which θ is 0. For this example, we consider the following Employee database with three data items, or records, each having three attribute fields - salary, age, and competency:
Figure imgf000008_0001
In this example, the domain of Salary is a number between 30,000 to 100,000; the domain of Age is a number from 20 to 70, and the domain of Competency is a real number between 0 and 1. To index Employee data based on (Salary, Age, Competency), the attribute values are first mapped into a [0,1] range. Furthermore, an integer value is assigned to each attribute type (i.e., dimension). In this example, 0, 1 and 2 are assigned to represent the dimension (i) of salary, age and competency respectively. Applying equation (1) to this example, the following values result. Mapping the attribute values to the [0,1] range, and then applying
Figure imgf000008_0002
Based on iMinMax, with θ = 0.0, e1 is indexed using the corresponding Age attribute value, e2 is indexed using the corresponding Competency attribute value, and e3 is indexed using the corresponding Salary attribute value, and the respective dimension value (i) is added thereto.
Figs. 2A-2B illustrate this simple transformation of data points with 3 indexed attributes to data points indexed by a single value. As seen in these figures, the basic idea of iMinMax is to distribute high-dimensional data points in a single-dimensional space so that they can be searched and retrieved efficiently. This is realized by three beneficial properties of iMinMax. First, θ can be relied on to influence the number of points falling on each index hyperplane. In fact, θ is the "tuning knob" that affects the hyperplane on which an index point should reside. To illustrate this, take a data point (0.2, 0.75) in 2-dimensional space for example. With θ= 0.0, the index point will reside on the Min edge according to equation (1). By setting θ to 0.1 , however, the index point will be pushed to reside on the Max edge. The higher the value of θ≥ 0, the greater the bias the function expresses towards the Max edge. When θ = 0.1 , the Max edge has the preference of about 10% more. Similarly, the transformation can "favor" the Min edge using θ < 0. In fact, at one extreme, when θ≥ 1.0, the transformation maps all points to their Max edge and by setting θ< -1.0, the values at the Min edge are always chosen as the index key. For simplicity, we denote the former extreme as iMax and the latter extreme as iMin, and any other variation as iMinMax (dropping Sunless its value is critical). As a second property of iMinMax, the transformation actually splits the
(single-dimensional) data space into different partitions based on the dimension which has the largest value or smallest value, and provides an ordering within each partition. This is affected by including the dimension at which the maximum value occurs, i.e., the first component of the mapping function. Finally, the unique tunable feature facilitates the adaptation of iMinMax(<S) to data sets of different distributions (i.e., uniform or skewed). In cases where data points are skewed toward certain edges, these points may be "scattered" to other edges to achieve even distribution by making a choice between dm;n and dmax. Statistical information such as the number of index points can be used for such a purpose. Alternatively, one can either use the information on the data distribution or information collected to categorically adjust the partitioning. As discussed below, the trade off of a dynamic θ\s that certain queries cannot be pruned.
2. Mapping Range Queries
Range queries in the original αf-dimensional space must be transformed to the single-dimensional space for evaluation. In iMinMax(<S), the original query in the d-dimensional space is mapped into of subqueries — one for each dimension.
These subqueries are denoted as qι,q2,-..,qd, where q, = [,,h\, 1 ≤ i ≤ d. For the th query subrange in q, [Xji,Xj2], we have:
Figure imgf000009_0001
The union of the answers from all subqueries provides a candidate answer set from which the query answers can be obtained, i.e., ans(q) c Jd i=lans(q,) . The following "Theorems" illustrate some interesting results achieved upon mapping range queries.
Theorem 1 Under the iMinMax(θ) scheme of the present invention, αns(q) c Uti αns(qt) • Moreover, there does not exist qι' = [/,'Λ1, where / > // or hi' < hi for which αns(q) U =, αns(q ) always holds. In other words, q,- is "optimal", and narrowing its range may miss some ofq's answers.
In an actual implementation, the nodes of the single-dimensional indexing structure, e.g., the leaf nodes of a B+-tree, will contain the high-dimensional point. In other words, even though the index key on the B+-tree is only a single dimension, the leaf node entries contain the tuple
Figure imgf000010_0001
x, ptr), where Xkey is the single-dimensional index key of point x and ptr is the pointer to the data page containing other information that may be related to the high-dimensional point. Therefore, any false drop which occurs as a result of Theorem 1 affects only the vectors used as index keys, rather than the actual data itself.
Theorem 2 given a query q, and the subqueries qι,q2,...,qd, qι need not be evaluated if any of the followings holds:
d d d
(i) min x ,, + θ ≥ 1 - max ., and ht < max x ,,
7=1 =1 7=1 d d d (ii) min x n + θ < 1 - ma xl2 and I , > max x n
7=1 J 7=1 J 7=1
To demonstrate Theorem 2 the following example is given: Let θ = 0.5 and consider the range query ([0.2,0.3];[0.4,0.6]) in 2-dimensional space. Since 0.2+0.5 > 1-0.4 = 0.6, all points that satisfy the query fall on the Max edge. This means that the lower bound for the subqueries should be 0.4, i.e., the two subqueries are respectively [0.4,0.3] and [0.4,0.6]. Since the first subquery's upper bound (i.e, 0.3) is smaller than 0.4, it need not be evaluated because no points will satisfy the query.
Theorem 3, given a query q, and the subqueries qι,q2,...,qd, at most d subqueries need to be evaluated.
Note that Theorem 2 assumes that a fixed θ is used throughout the life span of the index. That is, θ cannot be dynamically tuned. Fortunately, dynamic tuning of indexes will not be a common practice in the real world and is not cost effective. From Theorem 2 and Theorem 3, the effectiveness of iMinMax( ) can be seen because, for very high dimension spaces, we can expect significant savings from the pruning of subqueries.
As an example, Figures 3A-3B illustrates how iMinMax can keep out points from the search space. Here, we have two points A(0.2,0.5) and B(0.87,0.25) in 2- dimensional space. If we employ either iMax or iMin, at least one false drop will occur. On the other hand, using iMinMax(0.5) effectively keeps both points out of the search space.
3. iMinMax(^ Algorithms
In an exemplary implementation of iMinMax(<S), a B+-tree is adopted (such as disclosed in D. Comer. The Ubiquitous B-tree. ACM Computing Surveys. 11(2), 121-137, 1979) as the underlying single-dimensional index structure. Entries at the internal nodes are of the form (key, ptr), where key is a single-dimensional value, and ptr is a pointer to its child node at the next level of the tree.
However, for greater efficiency, leaf nodes also store the high-dimensional key, i.e., leaf node entries are of the form (key, v, ptr), where key is the single- dimensional key, v is the high-dimensional key whose transformed value is key, and ptr is the pointer to the data page containing information related to v. Keeping v at the leaf nodes can minimize page accesses to non-matching points. We note that multiple high-dimensional keys may be mapped to a single key value. By using a known single-dimensional index structure, i.e., B+-tree in this example, the algorithms for searching, inserting and deleting data points are similar to well known algorithms. Additional complexity arises only because we have to deal with the additional high-dimensional key (besides the single- dimensional key value). Exemplary search algorithms (for both point and range queries) are described below to illustrate that this additional complexity can easily be addressed. Insert and delete algorithms can be found in (R. Ramakrishnan, Database Management Systems. McGraw-Hill. 1997). 3.1 Point Search Algorithm
In point search, a point is issued and all matching tuples are to be retrieved. An algorithm for a point search is summarized in the flow-diagram of Figure 4. The algorithm first maps a multi-dimensional search point p to the single-dimensional key, xp, using the transform described above (step 202). The previously generated index structure, e.g., the B+-tree, is then traversed (step 204) to the leaf node where xp may be stored. If the point does not exist, then a NULL value is returned (steps 206-208). Otherwise, for every matching xp value, the high-dimensional key of the data is compared with p for a match and those that match are accessed using the pointer value (step 210). Otherwise, they are ignored. We note that it is possible for a sequence of leaf nodes to contain matching key values and hence they all have to be examined. The final answers are then returned (step 212).
3.2 Range Search Algorithm
Range queries are slightly more complicated than point searches. Figure 5 is a flow-diagram which summarizes an exemplary range search algorithm. Initially, let us assume that there are d dimensions. Unlike point queries, a range query r is transformed into d subqueries (step 302). A range query r = ([x , x-12], [X21. X22 ..-)■ The rth subquery is denoted as n =
Figure imgf000012_0001
Next, a routine prune Subquery is invoked to check if n can be pruned (step 304). If it can be pruned, then it is ignored. Otherwise, the subquery is evaluated as follows. The B+-tree is traversed to the appropriate leaf node (step 306). If there are no points in the range of r-,, then the subquery stops. Otherwise, for every x e [/,/7/], the high- dimensional key of the data is compared with p for a match and those that match are accessed using the pointer value (step 308). As in a point search, multiple leaf pages may have to be examined. Once all subqueries have been evaluated, the final answers are then returned (step 310).
4. Performance Study
To analyze performance, iMinMax(ό) and a Pyramid technique (as disclosed by S. Berchtold, et al., The Pyramid-Technique: Towards Breaking the Curse of Dimensionality, SIGMOD'98, 142-153, 1998) were implemented in C, and the B+-tree was used as the single-dimensional index structure. Each index page was a 4 KB page, and no data pages were buffered. Therefore, every page touched incurred an I/O. However, it should be noted that the traversal paths of the d subqueries generated by iMinMax(<S) do not overlap and hence share very few common internal nodes. This is also true for the subqueries generated by the Pyramid technique. For iMinMax, the pruning outlined in Theorem 2 was not implemented.
Numerous experiments were conducted to analyze performance, with some of the more interesting results on range queries being summarized below. A total of 500 range queries were used for these experiments. Each query is a hyper- cube and has a default selectivity of 0.1% of the domain space ([0,1], [0,1],...,[0,1]). The query width is the d-th root of the selectivity: ij .001 . For a 40-dimensional space, the query width is 0.841, which is much larger than half of the extension of the data space along each dimension. Different query sizes will be used for non- uniform distributions. The default number of dimensions used is 30. Each I/O corresponds to the retrieval of a 4 KB page. The average I/O cost of the queries is used as a performance measure.
4-1 Effect of Dimensions
In the first set of experiments, the number of dimensions is varied from 8 to 50. The data set is uniformly distributed over the domain space. There are a total of 100K points. In the first experiment, besides the Pyramid scheme, we also compare against the MAX scheme and the sequential scan (seq-scan) technique. The MAX scheme is the simple scheme that maps each point to its maximum value. However, the transformed space is not partitioned. Moreover, two variations of iMinMax(ό) are used, namely iMax (i.e., θ= 1) and ι'MinMax(#=0.0)(denoted as iMinMax). Figure 6A shows the results. First, we note that both the MAX and seq- scan techniques perform poorly, and their I/O cost increases with the higher number of dimensions. MAX performs slightly worse because of the additional internal nodes to be accessed and the high number of false drops.
Second, while the number of l/Os for iMinMax, iMax and Pyramid also increases with increasing number of dimensions, the number grows at a much slower rate. Third, we see that iMinMax performs the best, with Pyramid following closely, and iMax performing worse than Pyramid. iMinMax outperforms the iMax and Pyramid since it can prune away some subqueries and its search space touches fewer points. Based on the above results, for all subsequent experiments described below, study is restricted to iMinMax and Pyramid techniques. The results of further evaluation of Pyramid and iMinMax are shown in Figure 6B. It can be seen from this figure that iMinMax remains superior, and can outperform Pyramid by up to 25%.
4.2 Effect of Data Set Sizes and Query Sizes
In this set of experiments, different factors are studied, including the data set sizes, and the query selectivities. For both studies, the number of dimensions is fixed at 30. Figure 7A shows the results when the data set sizes vary from 100K to 500K points. Figure 7B shows the results when the query selectivities vary from 0.01% to 10%.
As expected, both iMinMax and Pyramid incurred higher I/O cost with increasing data set sizes as well as the query selectivities. As before, iMinMax remains superior over the Pyramid scheme. It is interesting to note that the relative difference between the two schemes seems to be unaffected by the data set sizes and query selectivities. Upon investigation, both iMinMax and Pyramid return the same candidate answer set. The improvement of iMinMax stems from its reduced number of subqueries compared to the Pyramid scheme.
4. 3 Effect of Data Distributions
In this experiment, relative performance of iMinMax and Pyramid is studied on skewed data distributions. The results on two distributions, namely skewed normal and skewed exponential are shown. Figs. 8A-8B illustrate the data distributions in 2-dimensional space.
The first set of experiments studies the effect of θ on skewed normal distribution. For normal distribution, the closer the data center is to the cluster center, the more points can be evenly assigned to each edge. For queries that follow the same distribution, the data points will have the same probability of being kept far from the query cube. In these experiments, each dimension of the query is fixed to have a width of 0.4.
Fig. 9A shows the results for 100K 30-dimensional points. First, Fig. 9A shows that for iMinMax, there exists a certain optimal lvalue that leads to the best performance. Essentially, θ "looks out" for the center of the cluster. Second, iMinMax can outperform the Pyramid technique by a wide margin (more than 50% ). Third, iMinMax can perform worse than the Pyramid scheme when the distribution of points to the edges becomes skewed, and a larger number of points have to be searched. Because of these factors, it is important to fine tune θ for different data distributions in order to obtain optimal performance. This tuning can be easily performed by varying θ.
In Fig. 9B, the results for 500K 30-dimensional points are shown. As in the earlier experiment, iMinMax's effectiveness depends on the θ value set. Fig. 9B demonstrates that iMinMax performs better than Pyramid over a wider range of tuning factors, and over a wider margin (more than 66%). The second set of experiments looks at the relative performance of the schemes for skewed exponential data sets. As above, each dimension of the query is fixed to have a width of 0.4. For an exponential distribution (we choose to be exponential to small value), many dimensions will have small values, and a small number of dimensions will have large values. Thus, many data points will have at least one large value. Because many of the dimensions are associated with small values, the data points tend to lie close along the edges of the data space. We note that exponential data distributions can be very different from each other. They may be more likely to be close along the edges, or close to the different corners depending on the number of dimensions that are skewed to be large, or small. A range query, if it is with exponentially distribution characteristics, will have subqueries which are mostly close to the low corner. Therefore, tuning the keys to choose large values is likely to keep away more points from the query. Fig. 10 shows the results for 500K 30-dimensional points on a skewed exponential distribution. The result is of similar form to that of the normal distribution experiment — iMinMax is optimal at certain lvalues.
Although the present invention has been described in considerable detail with reference to certain embodiments, it should be realized that numerous modifications are possible without departing from the spirit and scope of the invention. For example, although an exemplary implementation of the present invention has been described in which a B+-tree is used as the underlying single- dimensional indexing structure, other single-dimensional indexing structures may be used.

Claims

CLAIMS 1. A method of managing a database which stores high-dimensional data items, comprising: applying a transform function to a high-dimensional data item to map the high- dimensional data item to single-dimensional space, thereby obtaining a single- dimensional value which represents the high-dimensional data item; and indexing the single-dimensional value obtained by said applying step using a single-dimensional index structure.
2. The method according to claim 1 , wherein said applying and indexing steps are performed for a plurality of high-dimensional data items to form an indexed set of single-dimensional values, said method further comprising: performing a search on the indexed set of single-dimensional values to retrieve a set of points.
3. The method according to claim 2, wherein the retrieved set of points represents a plurality of desired data items and a plurality of non-desired data items.
4. The method according to claim 3, further comprising: pruning away non-desired data items from the set of points retrieved by the search.
5. The method according to claim 1, wherein a high-dimensional data item includes a plurality of attribute values, each attribute value corresponding to a different dimension of the high-dimensional data item; and said step of applying a transform function maps each attribute value of the high-dimensional data item to a predetermined range, thereby obtaining a mapped attribute value for each attribute value, and calculates the single-dimensional value which represents the high-dimensional data item as dmm + xmm- or dmax + xmax, where xm!n is the smallest mapped attribute value associated with the high- dimensional data item, dmm- is a value associated with the dimension which corresponds to the smallest mapped attribute value, xmax is the largest mapped attribute value associated with the high-dimensional data item, and dmax is a value associated with the dimension which corresponds to the largest mapped attribute value.
6. The method according to claim 5, where said step of applying a transform function calculates the single-dimensional value which represents the high- dimensional data item as dm\n + Xmin or dmax + xmaχ as a function of a tuning value θ.
7. The method according to claim 6, wherein said step of applying a transform function calculates the single-dimensional value which represents the high- dimensional data item as dm;„ + xmm- when xm/n + θ < 1 - xmaχ and as dmax + xmaχ otherwise.
8. The method according to claim 2, wherein said step of performing a search includes transforming a range query into a set of subqueries in the single- dimensional space, and evaluating each subquery in said set of subqueries using the single- dimensional index structure.
9. The method according to claim 8, wherein a set of d subqueries is represented as qι,q2,...,qd, where q,- =
Figure imgf000017_0001
1 ≤ i ≤ d, and for a/th query subrange in q, [Xji,Xj2]: r if min , x., + θ ≥ 1 - max . xn
Figure imgf000017_0002
qj = ' U + Xji , J +
Figure imgf000017_0003
xn U + Xji,j + Xj2] otherwise,
where θ\s a tuning parameter.
10. The method according to claim 8, wherein subqueries in said set of subqueries are pruned without performing said evaluating step.
11. The method according to claim 8, wherein the number of subqueries in said set of subqueries equals to number of dimensions in the high-dimensional data item.
12. An apparatus for managing a database which stores high-dimensional data items, comprising: transform means for applying a transform function to a high-dimensional data item to map the high-dimensional data item to single-dimensional space, thereby obtaining a single-dimensional value which represents the high- dimensional data item; and indexing means for indexing the single-dimensional value obtained by said transform means using a single-dimensional index structure.
13. The apparatus according to claim 12, wherein said transform means and said index means operate on a plurality of high-dimensional data items to form an indexed set of single-dimensional values, said apparatus further comprising: searching means for performing a search on the indexed set of single- dimensional values to retrieve a set of points.
14. The apparatus according to claim 13, wherein the retrieved set of points represents a plurality of desired data items and a plurality of non-desired data items.
15. The apparatus according to claim 14, further comprising: pruning means for pruning away non-desired data items from the set of points retrieved by said searching means.
16. The apparatus according to claim 12, wherein a high-dimensional data item includes a plurality of attribute values, each attribute value corresponding to a different dimension of the high-dimensional data item; and said transform means maps each attribute value of the high-dimensional data item to a predetermined range, thereby obtaining a mapped attribute value for each attribute value, and calculates the single-dimensional value which represents the high-dimensional data item as dmm + xmin or dmax + xmax, where xm;n is the smallest mapped attribute value associated with the high-dimensional data item, dmm is a value associated with the dimension which corresponds to the smallest mapped attribute value, xmax is the largest mapped attribute value associated with the high-dimensional data item, and dmaχ is a value associated with the dimension which corresponds to the largest mapped attribute value.
17. The apparatus according to claim 16, where said transform means calculates the single-dimensional value which represents the high-dimensional data item as dmin + Xmm or dmax + xmax as a function of a tuning value θ.
18. The apparatus according to claim 17, wherein said transform means calculates the single-dimensional value which represents the high-dimensional data item as dm/π + xm/nwhen xmm- + θ< 1 - xmaxand as dmax + xmax otherwise.
19. The apparatus according to claim 13, wherein said searching means transforms a range query into a set of subqueries in the single-dimensional space, and evaluates each subquery in said set of subqueries using the single- dimensional index structure.
20. The apparatus according to claim 19, wherein a set of d subqueries is represented as qι,q2 qα, where q, = [//, ?/], 1 < / < d, and for the yth query subrange in q, [xp.Xj∑]'-
Qj =
Figure imgf000019_0001
where θ s a tuning parameter.
21. The apparatus according to claim 19, wherein said searching means prunes subqueries in said set of subqueries.
22. The apparatus according to claim 19, wherein the number of subqueries in said set of subqueries equals to number of dimensions in the high-dimensional data item.
PCT/SG2001/000081 2000-05-15 2001-04-27 Apparatus and method for performing transformation-based indexing of high-dimensional data WO2001088656A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU55135/01A AU5513501A (en) 2000-05-15 2001-04-27 Apparatus and method for performing transformation-based indexing of high-dimensional data
US10/276,357 US7117217B2 (en) 2000-05-15 2001-04-27 Apparatus and method for performing transformation-based indexing of high-dimensional data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG200002639-3 2000-05-15
SG200002639A SG103262A1 (en) 2000-05-15 2000-05-15 Apparatus and method for performing transformation-based indexing of high-dimensional data

Publications (2)

Publication Number Publication Date
WO2001088656A2 true WO2001088656A2 (en) 2001-11-22
WO2001088656A3 WO2001088656A3 (en) 2004-02-26

Family

ID=20430586

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2001/000081 WO2001088656A2 (en) 2000-05-15 2001-04-27 Apparatus and method for performing transformation-based indexing of high-dimensional data

Country Status (4)

Country Link
US (1) US7117217B2 (en)
AU (1) AU5513501A (en)
SG (1) SG103262A1 (en)
WO (1) WO2001088656A2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239343B2 (en) * 2003-05-23 2012-08-07 Bmc Software, Inc. Database reorganization technique
US7660822B1 (en) 2004-03-31 2010-02-09 Google Inc. Systems and methods for sorting and displaying search results in multiple dimensions
US7257663B2 (en) * 2004-11-17 2007-08-14 International Business Machines Corporation Initiating and using information used for a host, control unit, and logical device connections
CN100418090C (en) * 2005-08-31 2008-09-10 国际商业机器公司 Data storage method and data storage structure
US8688723B2 (en) * 2007-12-21 2014-04-01 Hewlett-Packard Development Company, L.P. Methods and apparatus using range queries for multi-dimensional data in a database
US8055687B2 (en) * 2009-01-20 2011-11-08 Hewlett-Packard Development Company, L.P. System and method for determining intervals of a space filling curve in a query box
US20110153677A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Apparatus and method for managing index information of high-dimensional data
US8428397B1 (en) 2010-08-26 2013-04-23 Adobe Systems Incorporated Systems and methods for large scale, high-dimensional searches
US8977065B2 (en) * 2011-07-21 2015-03-10 Luca Rossato Inheritance in a tiered signal quality hierarchy
US10650012B1 (en) * 2016-07-13 2020-05-12 United States Of America As Represented By Secretary Of The Navy Multi-dimensional range-index searching using search box approximation and splitting
US10621195B2 (en) 2016-09-20 2020-04-14 Microsoft Technology Licensing, Llc Facilitating data transformations
US10706066B2 (en) 2016-10-17 2020-07-07 Microsoft Technology Licensing, Llc Extensible data transformations
US10776380B2 (en) 2016-10-21 2020-09-15 Microsoft Technology Licensing, Llc Efficient transformation program generation
US11170020B2 (en) 2016-11-04 2021-11-09 Microsoft Technology Licensing, Llc Collecting and annotating transformation tools for use in generating transformation programs
US11163788B2 (en) 2016-11-04 2021-11-02 Microsoft Technology Licensing, Llc Generating and ranking transformation programs
US11494734B2 (en) * 2019-09-11 2022-11-08 Ila Design Group Llc Automatically determining inventory items that meet selection criteria in a high-dimensionality inventory dataset

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148295A (en) * 1997-12-30 2000-11-14 International Business Machines Corporation Method for computing near neighbors of a query point in a database

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154746A (en) * 1998-04-22 2000-11-28 At&T Corp. High-dimensional index structure
US6477553B1 (en) * 1999-01-13 2002-11-05 Philip Druck Measurement scale for non-uniform data sampling in N dimensions
US6625611B1 (en) * 2000-03-15 2003-09-23 Cadence Design Systems, Inc. Method and apparatus for representing multidimensional data
US6834278B2 (en) * 2001-04-05 2004-12-21 Thothe Technologies Private Limited Transformation-based method for indexing high-dimensional data for nearest neighbour queries

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148295A (en) * 1997-12-30 2000-11-14 International Business Machines Corporation Method for computing near neighbors of a query point in a database

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BERCHTOLD S ET AL: "THE PYRAMID-TECHNIQUE: TOWARDS BREAKING THE CURSE OF DIMENSIONALITY" SIGMOD RECORD, SIGMOD, NEW YORK, NY, US, vol. 27, no. 2, 1 June 1998 (1998-06-01), pages 142-153, XP002936565 ISSN: 0163-5808 cited in the application *
BOHM C ET AL: "XZ-ordering: a space-filling curve for objects with spatial extension" ADVANCES IN SPATIAL DATABASES. 6TH INTERNATIONAL SYMPOSIUM, SSD'99. PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL.1651), PROCEEDINGS OF 6TH INTERNATIONAL SYMPOSIUM ON SPATIAL DATABASES, HONG KONG, 20-23 JULY 1999, pages 75-90, XP002258218 1999, Berlin, Germany, Springer-Verlag, Germany ISBN: 3-540-66247-2 *

Also Published As

Publication number Publication date
AU5513501A (en) 2001-11-26
US20040006568A1 (en) 2004-01-08
SG103262A1 (en) 2004-04-29
WO2001088656A3 (en) 2004-02-26
US7117217B2 (en) 2006-10-03

Similar Documents

Publication Publication Date Title
Ooi et al. Indexing the edges—a simple and yet efficient approach to high-dimensional indexing
Jagadish et al. iDistance: An adaptive B+-tree based indexing method for nearest neighbor search
US6834278B2 (en) Transformation-based method for indexing high-dimensional data for nearest neighbour queries
US6154746A (en) High-dimensional index structure
Papadias et al. An optimal and progressive algorithm for skyline queries
Yao et al. K nearest neighbor queries and knn-joins in large relational databases (almost) for free
US5978788A (en) System and method for generating multi-representations of a data cube
US7117217B2 (en) Apparatus and method for performing transformation-based indexing of high-dimensional data
Kahveci et al. Similarity searching for multi-attribute sequences
Beckmann et al. A revised R*-tree in comparison with related index structures
Chen et al. Efficient metric indexing for similarity search and similarity joins
Yu High-dimensional indexing: transformational approaches to high-dimensional range and similarity searches
Kanth et al. Dimensionality reduction for similarity searching in dynamic databases
Cui et al. Contorting high dimensional data for efficient main memory KNN processing
Cui et al. Indexing high-dimensional data for efficient in-memory similarity search
Joshi et al. Materialized sample views for database approximation
Lomet Grow and post index trees: Role, techniques and future potential
Al Aghbari Array-index: a plug&search K nearest neighbors method for high-dimensional data
Qi et al. Efficient top-k spatial distance joins
Yu et al. Querying high-dimensional data in single-dimensional space
Zhou et al. BM+-tree: A hyperplane-based index method for high-dimensional metric spaces
Hong et al. Efficient execution of range-aggregate queries in data warehouse environments
Park et al. An enhanced technique for k-nearest neighbor queries with non-spatial selection predicates
Hong et al. Efficient execution of range top-k queries in aggregate r-trees
Orlandic Effective management of hierarchical storage using two levels of data clustering

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 10276357

Country of ref document: US

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP