лучшая структура данных для многомерных данных? - PullRequest
6 голосов
/ 17 ноября 2011

Я хотел бы реализовать простой механизм хранения куба OLAP в памяти для чтения и записи (обратной записи) - функционально аналогичный кубу SSAS с несколькими измерениями, но с одной мерой и только с одним типом агрегации (сумма). Как и в кубе OLAP, каждая ось в многомерном пространстве может быть многоуровневой иерархией.

Может ли сообщество предоставить мне несколько советов, на какие структуры данных и связанные алгоритмы мне следует обратить внимание? Я понимаю, что мне нужно что-то, способное одновременно индексировать данные во многих измерениях и хранить промежуточные предварительно вычисленные значения агрегации.

Я бы предпочел не склеивать несколько вложенных карт, а реализовывать что-то с нуля - цель упражнения - не только реализовать этого зверя, но и лучше понять многомерные структуры данных и алгоритмы.

Просто чтобы уточнить - я сфокусирован на основной структуре данных хранения многомерных иерархических данных для чтения и записи. Я не стремлюсь реализовать парсер MDX, сделать куб постоянным и т. Д.

1 Ответ

5 голосов
/ 17 ноября 2011

Посмотрите на список пространственных индексов в Википедии , один из них, например R-дерево или дерево kd , может быть тем, что вы ищетедля.

...