2 research outputs found
Compact data structures for large and complex datasets
Programa Oficial de Doutoramento en Computación . 5009V01[Abstract]
In this thesis, we study the problem of processing large and complex collections of
data, presenting new data structures and algorithms that allow us to efficiently store
and analyze them. We focus on three main domains: processing of multidimensional
data, representation of spatial information, and analysis of scientific data.
The common nexus is the use of compact data structures, which combine in a
unique data structure a compressed representation of the data and the structures to
access such data. The target is to be able to manage data directly in compressed
form, and in this way, to keep data always compressed, even in main memory. With
this, we obtain two benefits: we can manage larger datasets in main memory and
we take advantage of a better usage of the memory hierarchy.
In the first part, we propose a compact data structure for multidimensional
databases where the domains of each dimension are hierarchical. It allows efficient
queries of aggregate information at different levels of each dimension. A typical
application environment for our solution would be an OLAP system.
Second, we focus on the representation of spatial information, specifically on
raster data, which are commonly used in geographic information systems (GIS) to
represent spatial attributes (such as the altitude of a terrain, the average temperature,
etc.). The new method enables several typical spatial queries with better response
times than the state of the art, at the same time that saves space in both main
memory and disk. Besides, we also present a framework to run a spatial join between
raster and vector datasets, that uses the compact data structure previously presented
in this part of the thesis.
Finally, we present a solution for the computation of empirical moments from a
set of trajectories of a continuous time stochastic process observed in a given period
of time. The empirical autocovariance function is an example of such operations.
In this thesis, we propose a method that compresses sequences of floating numbers
representing Brownian motion trajectories, although it can be used in other similar
areas. In addition, we also introduce a new algorithm for the calculation of the
autocovariance that uses a single trajectory at a time, instead of loading the whole
dataset, reducing the memory consumption during the calculation process.[Resumo]
Nesta tese estudamos o problema de procesar grandes coleccións de datos,
presentando novas estruturas de datos compactas e algoritmos que nos permiten
almacenalas e analizalas de forma eficiente. Centrámonos en tres dominios principais:
procesamento de datos multidimensionais, representación de información espacial e
análise de datos cientÃficos.
O nexo común é o uso de estruturas de datos compactas, que combinan nunha
única estrutura de datos unha representación comprimida dos datos e as estruturas
para acceder a tales datos. O obxectivo é poder manipular os datos directamente en
forma comprimida, e desta maneira, manter os datos sempre comprimidos, incluso na
memoria principal. Con esto obtemos dous beneficios: podemos xestionar conxuntos
de datos máis grandes na memoria principal e aproveitar un mellor uso da xerarquÃa
da memoria.
Na primera parte propoñemos unha estructura de datos compacta para bases de
datos multidimensionais onde os dominios de cada dimensión están xerarquizados.
PermÃtenos consultar eficientemente a información agregada (sumar valor máximo,
etc) a diferentes niveis de cada dimensión. Un entorno de aplicación tÃpico para a
nosa solución serÃa un sistema OLAP.
En segundo lugar, centrámonos na representación de información espacial,
especificamente en datos ráster, que se utilizan comunmente en sistemas de
información xeográfica (SIX) para representar atributos espaciais (como a altitude
dun terreo, a temperatura media, etc.). O novo método permite realizar
eficientemente varias consultas espaciais tÃpicas con tempos de resposta mellores que
o estado da arte, ao mesmo tempo que reduce o espazo utilizado tanto na memoria
principal como no disco. Ademais, tamén presentamos un marco de traballo para
realizar un join espacial entre conxuntos de datos vectoriais e ráster, que usa a
estructura de datos compacta previamente presentada nesta parte da tese.
Por último, presentamos unha solución para o cálculo de momentos empÃricos
a partir dun conxunto de traxectorias dun proceso estocástico de tempo continuo
observadas nun perÃodo de tempo dado. A función de autocovarianza empÃrica
é un exemplo de tales operacións. Nesta tese propoñemos un método que
comprime secuencias de números flotantes que representan traxectorias de movemento Browniano, aÃnda que pode ser empregado noutras áreas similares. Ademais, tamén
introducimos un novo algoritmo para o cálculo da autocovarianza que emprega unha
única traxectoria á vez, en lugar de cargar todo o conxunto de datos, reducindo o
consumo de memoria durante o proceso de cálculo.[Resumen]
En esta tesis estudiamos el problema de procesar grandes colecciones de datos,
presentando nuevas estructuras de datos compactas y algoritmos que nos permiten
almacenarlas y analizarlas de forma eficiente. Nos centramos principalmente en tres
dominios: procesamiento de datos multidimensionales, representación de información
espacial y análisis de datos cientÃficos.
El nexo común es el uso de estructuras de datos compactas, que combinan en
una única estructura de datos una representación comprimida de los datos y las
estructuras para acceder a dichos datos. El objetivo es poder manipular los datos
directamente en forma comprimida, y de esta manera, mantener los datos siempre
comprimidos, incluso en la memoria principal. Con esto obtenemos dos beneficios:
podemos gestionar conjuntos de datos más grandes en la memoria principal y
aprovechar un mejor uso de la jerarquÃa de la memoria.
En la primera parte proponemos una estructura de datos compacta para bases de
datos multidimensionales donde los dominios de cada dimensión están jerarquizados.
Nos permite consultar eficientemente la información agregada (suma, valor máximo,
etc.) a diferentes niveles de cada dimensión. Un entorno de aplicación tÃpico para
nuestra solución serÃa un sistema OLAP.
En segundo lugar, nos centramos en la representación de la información espacial,
especÃficamente en datos ráster, que se utilizan comúnmente en sistemas de
información geográfica (SIG) para representar atributos espaciales (como la altitud
de un terreno, la temperatura media, etc.). El nuevo método permite realizar
eficientemente varias consultas espaciales tÃpicas con tiempos de respuesta mejores
que el estado del arte, al mismo tiempo que reduce el espacio utilizado tanto en la
memoria principal como en el disco. Además, también presentamos un marco de
trabajo para realizar un join espacial entre conjuntos de datos vectoriales y ráster,
que usa la estructura de datos compacta previamente presentada en esta parte de la
tesis.
Por último, presentamos una solución para el cálculo de momentos empÃricos a
partir de un conjunto de trayectorias de un proceso estocástico de tiempo continuo
observadas en un perÃodo de tiempo dado. La función de autocovariancia empÃrica
es un ejemplo de tales operaciones. En esta tesis proponemos un método que comprime secuencias de números flotantes que representan trayectorias de movimiento
Browniano, aunque puede ser utilizado en otras áreas similares. En esta parte,
también introducimos un nuevo algoritmo para el cálculo de la autocovariancia que
utiliza una única trayectoria a la vez, en lugar de cargar todo el conjunto de datos,
reduciendo el consumo de memoria durante el proceso de cálculoXunta de Galicia; ED431G/01Ministerio de EconomÃa y Competitividad ;TIN2016-78011-C4-1-RMinisterio de EconomÃa y Competitividad; TIN2016-77158-C4-3-RMinisterio de EconomÃa y Competitividad; TIN2013-46801-C4-3-RCentro para el desarrollo Tecnológico e Industrial; IDI-20141259Centro para el desarrollo Tecnológico e Industrial; ITC-20151247Xunta de Galicia; GRC2013/05
Statistical and repetition-based compressed data structures
[Abstract]
In this thesis we present several practical compressed data structures that address
open problems related to statistically-compressible and highly repetitive databases.
In a the first part, we focus on statistical-based compressed data structures,
targeting the problem of managing large alphabets. This problem arises when
typical sequence-based compression is used as a basis for compressed data structures
representing more general structures like grids and graphs. Concretely, (a) we
provide space-efficient solutions to represent prefix-free codes when the alphabet
is large; (b) we also present a new wavelet-tree based data structure to solve rank
and select queries that obtains zero-order compression and outperforms previous
wavelet tree implementations on large alphabets.
In the second part of this thesis, we focus on highly repetitive datasets. We
present (c) a very space efficient grammar-based compressed data structure to solve
rank and select on these scenarios; (d) the first LZ77-space bounded compressed
data structure that solves rank and select queries in O(1) time and is in practice
almost as fast as statistically-compressed structures; and (e) the first practical
version of grammar-compressed tree topologies, obtaining unprecedented results in
the representation of repetitive trees.
Additionally, we apply our new solutions to several problems of interest: point
grids, inverted indexes, self-indexes, XPath systems, and compressed suffix trees of
highly repetitive inputs, displaying various space-time tradeoffs of interest.[Resumen]
En esta tesis presentamos varias estructuras de datos comprimidas de naturaleza
práctica, centradas en problemas abiertos relacionados con bases de datos
estadÃsticamente compresibles y bases de datos cuyo contenido es altamente
repetitivo.
En la primera parte, nos centramos en las estructuras de datos comprimidas para
bases de datos estadÃsticamente compresibles, más concretamente, en problemas
relativos al manejo de alfabetos grandes. Este tipo de problemas aparecen
cuando usamos técnicas clásicas de compresión estadÃstica en estructuras de datos
comprimidas para secuencias, y éstas a su vez se aplican a problemas tales como
la representación de grillas de puntos o grafos. Concretamente, (a) presentamos
soluciones muy eficientes en términos de espacio para representar códigos libres de
prefijo cuando el alfabeto el grande; (b) y también presentamos una nueva estructura
de datos comprimida basada en wavelet trees para resolver consultas rank y select
que obtiene compresión de orden cero y mejora las implementaciones previas de
wavelet trees en alfabetos grandes.
En la segunda parte de esta tesis, nos centramos en las bases de datos altamente
repetitivas. Presentamos (c) una estructura de datos comprimida basada en
gramáticas para resolver consultas rank y select en este tipo de contextos y
que usa muy poco espacio; (d) la primera estructura de datos comprimida que
obtiene espacio proporcional al de un compresor LZ77 y resuelve consultas rank y
select en tiempo O(1), siendo en la práctica casi tan rápido como las estructuras de
datos basadas en compresión estadÃstica; (e) la primera estructura de datos práctica
que utiliza gramáticas para comprimir topologÃas de árboles, obteniendo resultados
sin precedentes para la representación de árboles repetitivos.
Adicionalmente, mostramos varias aplicaciones en las que las estructuras de datos
que proponemos a lo largo de la tesis resultan de utilidad. Desde representaciones
de grillas de puntos, Ãndices invertidos, auto-Ãndices, sistemas XPath, hasta árboles
de sufijos comprimidos para colecciones altamente repetitivas, mostrando diferentes
resultados de interés tanto en términos de tiempo como de espacio.[Resumo]
Nesta tese presentamos varias estruturas de datos comprimidas de natureza práctica,
centradas en problemas abertos no ámbito das bases de datos estatisticamente
compresibles e das bases de datos altamente repetitivas.
Na primeira parte da tese, centrámonos nas estruturas de datos comprimidas para
as bases de datos estatisticamente compresibles. Máis concretamente en problemas
relativos ó manexo de alfabetos grandes. Este tipo de problemas aparecen cando
usamos técnicas de compresión estatÃstica en estruturas de datos comprimidas para
secuencias, e esta á sua vez se utilizan para aplicacións tales como a representación de
grellas de puntos ou para a representación de grafos. Concretamente, (a) presentamos
solucións que son moi eficientes en termos espaciais para representar códigos libres
de prefixo cando o alfabeto é grande; e (b) tamén presentamos unha nova estructura
de datos comprimida baseada en wavelet trees para resolver consultas rank e select
que obtén compresión de orde cero e mellora as implementacións previas de wavelet
trees para alfabetos grandes.
Na segunda parte da tese, centrámosnos nas bases de datos con contido altamente
repetitivo. Presentamos (c) unha estrutura de datos comprimida baseada en
gramáticas que usa moi pouco espazo e resolve eficientemente consultas rank e
select en este tipo de contextos repetitivos; (d) a primeira estrutura de datos
comprimida que obtén espazo proporcional ó que obtén un compresor LZ77 e resolve
consultas rank e select en tempo O(1), sendo na práctica tan rápido coma as
estruturas de datos baseadas en compresión estatÃstica; (e) a primeira estrutura de
datos práctica que utiliza gramáticas para comprimir topoloxÃas de árbores, obtendo
uns resultados sin precedentes para a representación de árbores repetitivos.
Adicionalmente, mostramos varias aplicacións nas que as estruturas de datos
que propoñemos ó longo da tese resultan de utilidade: representacións de grellas
de puntos, Ãndices invertidos, auto-Ãndices, sistemas XPath e árbores de sufixos
comprimidos para colecións altamente repetitivas, mostrando diferentes resultados
de interese, tanto en termos de espazo coma de tempo