Practical compressed string dictionaries |
| |
Affiliation: | 1. DataWeb Research, Department of Computer Science, University of Valladolid, Spain;2. Database Laboratory, University of A Coruña, Spain;3. NICTA Victoria Research Laboratory, Department of Computing and Information Systems (CIS), The Univerity of Melbourne, Australia;4. Escuela de Informática y Telecomunicaciones, Universidad Diego Portales, Chile;5. CeBiB — Center of Biotechnology and Bioengineering, Department of Computer Science, University of Chile, Chile;1. School of Computer Science & Engineering, Beihang University, Beijing, China;2. Scientific Computing Department, STFC Rutherford Appleton Laboratory, Oxfordshire, UK;3. National Computer Network Emergency Response Technical Team/Coordination Center of China, Beijing, China;1. Center of Biotechnology and Bioengineering, Department of Computer Science, University of Chile, Chile;2. Departamento de Informática, Universidad Nacional de San Luis, Argentina;1. Department of Computer Science, Universidad de Chile, Santiago, Chile;2. Centro de Estudios Científicos (CECs), Valdivia, Chile |
| |
Abstract: | The need to store and query a set of strings – a string dictionary – arises in many kinds of applications. While classically these string dictionaries have accounted for a small share of the total space budget (e.g., in Natural Language Processing or when indexing text collections), recent applications in Web engines, Semantic Web (RDF) graphs, Bioinformatics, and many others handle very large string dictionaries, whose size is a significant fraction of the whole data. In these cases, string dictionary management is a scalability issue by itself. This paper focuses on the problem of managing large static string dictionaries in compressed main memory space. We revisit classical solutions for string dictionaries like hashing, tries, and front-coding, and improve them by using compression techniques. We also introduce some novel string dictionary representations built on top of recent advances in succinct data structures and full-text indexes. All these structures are empirically compared on a heterogeneous testbed formed by real-world string dictionaries. We show that the compressed representations may use as little as 5% of the original dictionary size, while supporting lookup operations within a few microseconds. These numbers outperform the state-of-the-art space/time tradeoffs in many cases. Furthermore, we enhance some representations to provide prefix- and substring-based searches, which also perform competitively. The results show that compressed string dictionaries are a useful building block for various data-intensive applications in different domains. |
| |
Keywords: | Compressed string dictionaries Text processing Text databases Compressed data structures |
本文献已被 ScienceDirect 等数据库收录! |
|