A system and method for indexing and storing multi-dimensional or
multi-attribute data. Data items are recursively sorted in a selected
dimension (e.g., the dimension having the greatest variance) and divided
until each subdivision fits into a leaf node having a specified fanout.
Intermediate nodes and a root node are constructed to complete the index.
Each node of the index is stored in a database as a separate object or
record and may include a node identifier of the unique, an identifier of a
parent and/or a sibling node and an entry for each child of the node,
which may be data items or other nodes. Each record entry for a child
includes an associated bounding area encompassing descendant data items.
Another database table or module may store information about the index,
such as the dimensionality of the data, the index fanout and an identifier
of a root of the index.
Een systeem en een methode om multidimensionele of multi-attribute gegevens te indexeren en op te slaan. De gegevensonderdelen worden recursief gesorteerd in een geselecteerde afmeting (b.v., de afmeting die het grootste verschil heeft) en verdeeld tot elke onderverdeling in een bladknoop past die gespecificeerde fanout heeft. De midden knopen en een wortelknoop worden geconstrueerd om de index te voltooien. Elke knoop van de index wordt opgeslagen in een gegevensbestand als afzonderlijk voorwerp of verslag en kan een knoopherkenningsteken van uniek, een herkenningsteken van een ouder en/of een sibling knoop en een ingang voor elk kind van de knoop omvatten, die gegevensonderdelen of andere knopen kan zijn. Elke verslagingang voor een kind omvat een bijbehorend bounding gebied dat nakomelingsgegevensonderdelen omvat. Een andere gegevensbestandlijst of module kan informatie over de index, zoals de dimensionaliteit van de gegevens, indexfanout en een herkenningsteken van een wortel van de index opslaan.