skip to main content
research-article

The TileDB array data storage manager

Published:01 November 2016Publication History
Skip Abstract Section

Abstract

We present a novel storage manager for multi-dimensional arrays that arise in scientific applications, which is part of a larger scientific data management system called TileDB. In contrast to existing solutions, TileDB is optimized for both dense and sparse arrays. Its key idea is to organize array elements into ordered collections called fragments. Each fragment is dense or sparse, and groups contiguous array elements into data tiles of fixed capacity. The organization into fragments turns random writes into sequential writes, and, coupled with a novel read algorithm, leads to very efficient reads. TileDB enables parallelization via multi-threading and multi-processing, offering thread-/process-safety and atomicity via lightweight locking. We show that TileDB delivers comparable performance to the HDF5 dense array storage manager, while providing much faster random writes. We also show that TileDB offers substantially faster reads and writes than the SciDB array database system with both dense and sparse arrays. Finally, we demonstrate that TileDB is considerably faster than adaptations of the Vertica relational column-store for dense array storage management, and at least as fast for the case of sparse arrays.

References

  1. Apache Kylin. http://kylin.apache.org/.Google ScholarGoogle Scholar
  2. Broad Institute, Intel work together to develop tools to accelerate biomedical research. http://genomicinfo.broadinstitute.org/acton/media/13431/broad-intel-collaboration.Google ScholarGoogle Scholar
  3. Charm++. http://charm.cs.illinois.edu/research/charm.Google ScholarGoogle Scholar
  4. Enabling a Strict Consistency Semantics Model in Parallel HDF5. https://www.hdfgroup.org/HDF5/doc/Advanced/PHDF5FileConsistencySemantics/PHDF5FileConsistencySemantics.pdf.Google ScholarGoogle Scholar
  5. GenericIO. http://trac.alcf.anl.gov/projects/genericio.Google ScholarGoogle Scholar
  6. HDF5 for Python. http://www.h5py.org/.Google ScholarGoogle Scholar
  7. Legion Parallel System. http://legion.stanford.edu/.Google ScholarGoogle Scholar
  8. National Oceanic and Atmospheric Administration. Marine Cadastre. http://marinecadastre.gov/ais/.Google ScholarGoogle Scholar
  9. NetCDF. http://www.unidata.ucar.edu/software/netcdf.Google ScholarGoogle Scholar
  10. Parallel HDF5. https://www.hdfgroup.org/HDF5/PHDF5/.Google ScholarGoogle Scholar
  11. PLASMA. http://www.netlib.org/plasma/.Google ScholarGoogle Scholar
  12. PostgreSQL. http://www.postgresql.org/.Google ScholarGoogle Scholar
  13. PyTables. http://www.pytables.org/.Google ScholarGoogle Scholar
  14. ROMIO: A High-Performance, Portable MPI-IO Implementation. http://www.mcs.anl.gov/projects/romio/.Google ScholarGoogle Scholar
  15. ScaLAPACK. http://www.netlib.org/scalapack/.Google ScholarGoogle Scholar
  16. The HDF5 Format. http://www.hdfgroup.org/HDF5/.Google ScholarGoogle Scholar
  17. P. Baumann, A. Dehmel, P. Furtado, R. Ritsch, and N. Widmann. The Multidimensional Database System RasDaMan. In SIGMOD, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. G. Brown. Overview of SciDB: Large Scale Array Storage, Processing and Analysis. In SIGMOD, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Cornacchia, S. Héman, M. Zukowski, A. P. Vries, and P. Boncz. Flexible and Efficient IR Using Array Databases. The VLDB Journal, 17(1):151--168, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Idreos, F. Groffen, N. Nes, S. Manegold, K. S. Mullender, and M. L. Kersten. MonetDB: Two Decades of Research in Column-oriented Database Architectures. IEEE Data Engin. Bulletin, 35(1):40--45, 2012.Google ScholarGoogle Scholar
  21. A. Lamb, M. Fuller, R. Varadarajan, N. Tran, B. Vandiver, L. Doshi, and C. Bear. The Vertica Analytic Database: C-store 7 Years Later. Proc. VLDB Endow., 5(12):1790--1801, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. O'Neil, E. Cheng, D. Gawlick, and E. O'Neil. The Log-structured Merge-tree (LSM-tree). Acta Inf., 33(4):351--385, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Rosenblum and J. K. Ousterhout. The design and implementation of a log-structured file system. ACM TOCS, 10(1):26--52, Feb. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. F. Rusu and Y. Cheng. A Survey on Array Storage, Query Languages, and Systems. ArXiv e-prints, 2013.Google ScholarGoogle Scholar
  25. E. Soroush, M. Balazinska, and D. Wang. ArrayStore: A Storage Manager for Complex Parallel Array Processing. In SIGMOD, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. R. van Ballegooij. RAM: A Multidimensional Array DBMS. In EDBT Extended Database Technology Workshops, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image Proceedings of the VLDB Endowment
    Proceedings of the VLDB Endowment  Volume 10, Issue 4
    November 2016
    180 pages
    ISSN:2150-8097
    Issue’s Table of Contents

    Publisher

    VLDB Endowment

    Publication History

    • Published: 1 November 2016
    Published in pvldb Volume 10, Issue 4

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader