Resultados científicos
El investigador pre-doctoral del Instituto IMDEA Software, Pedro Valero, explica el trabajo que ha realizado y que le ha llevado hasta Facebook.
“Los gigantes tecnológicos generan cantidades bestiales de información constantemente y la única manera que tienen de gestionar esta información de manera eficiente es comprimiendo la información. Pero claro, ellos guardan la información porque quieren procesarla a posteriori, por lo tanto, guardar la información comprimida implica que cada vez que quieres acceder a la información para realizar consultas es necesario descomprimir la información y buscar el texto en los datos originales. Nosotros, en concreto, hemos estado trabajando con datos que son simplemente archivos de texto. En estos casos, al comprimir el archivo lo que se hace es buscar partes del texto que se repiten varias veces. Luego, escribimos el texto repetido la primera vez que ocurre y el resto de las ocasiones se indica que lo que viene a continuación es lo que apareció anteriormente. Esta idea, que permite comprimir el archivo y ocupar menos espacio, también nos permite acelerar las búsquedas porque, cuando estamos procesando el texto, cada vez que encontramos que lo que viene ahora es lo que ya ha ocurrido antes, podemos reutilizar la información que ya habíamos obtenido al procesar esa misma cadena de texto anteriormente. Esta idea conceptualmente no es muy complicada, pero nosotros hemos sido de los primeros que los hemos puesto en práctica. Hemos desarrollado un algoritmo que permite realizar estas búsquedas y realmente ahorra tiempo.
Si el archivo se puede comprimir bien, la búsqueda en el texto comprimido sin necesidad de descomprimirlo puede ser más rápida que todo el proceso que se hace hasta ahora de descomprimir y buscar.
El problema que tiene esto es que no cualquier algoritmo de compresión vale. Solamente valen un cierto conjunto de algoritmos que son los conocidos como algoritmos de diccionario o basados en gramáticas, y esos algoritmos en la empresa tradicionalmente no están muy estudiados debido a que generalmente son un poco más lentos y costosos, aunque pueden dar buenos resultados.
El trabajo que he estado haciendo con Facebook ha sido estudiar este tipo de algoritmos y ver en qué contexto se pueden utilizar porque, como todo, no siempre es conveniente utilizarlos, pero sí que hay algunos escenarios en los que es beneficioso gastar un poco más de tiempo para comprimir el archivo a cambio de poder buscar más rápido”.