skip to main content
article
Free access

A query language for multidimensional arrays: design, implementation, and optimization techniques

Published: 01 June 1996 Publication History

Abstract

While much recent research has focussed on extending databases beyond the traditional relational model, relatively little has been done to develop database tools for querying data organized in (multidimensional) arrays. The scientific computing community has made little use of available database technology. Instead, multidimensional scientific data is typically stored in local files conforming to various data exchange formats and queried via specialized access libraries tied in to general purpose programming languages.To allow such data to be queried using known database techniques, we design and implement a query language for multidimensional arrays. Our main design decision is to treat arrays as functions from index sets to values rather than as collection types. This leads to clean syntax and semantics as well as simple but powerful optimization rules.We present a calculus for arrays that extends standard calculi for complex objects. We derive a higher-level comprehension style query language based on this calculus and describe its implementation, including a data driver for the NetCDF data exchange format. Next, we explore some optimization rules obtained from the equational laws of our core calculus. Finally, we study the expressiveness of our calculus and prove that it essentially corresponds to adding ranking to a query language for complex objects.

References

[1]
Arvind, R.S. Nikhil, and K.K. Pingali. i-structures: Data structures for parallel computing. A CM Trans. Progr. Lang. Syst. 11 (1989), 598-632.]]
[2]
H. Barendregt. Lambda Calculus: Its Syntaz and Semantics. North Holland, 1984.]]
[3]
C. Beeri and D.K.C. Chan. Bounded arrays: a bulk type perspective. Hebrew Univ. Technical Report, 1995.]]
[4]
P. Buneman. The fast Fourier transform as a database query. Technical Report MS-CIS-93-37/L&C 60, University of Pennsylvania, March 1993.]]
[5]
P. Buneman, S. Davidson, K. Hart, C. Overton, L. Wong. A data transformation system for biological data sources. In VLDB'95, pages 158-169.]]
[6]
P. Buneman, L. Libkin, D. Suciu, V. Tannen, and Lo Wong. Comprehension syntax. SIGMOD Record, 23(1):87-96, March 1994o]]
[7]
P. Buneman, S. Naqvi~ V. Tannen and L. Wong. Principles of programming with complex objects and collection types. Theor. Comp. Sci., 149 (1995), 3-48.]]
[8]
R.G.G. Cattell, ed. The Object Database Standard: ODMG-93. Morgan-Kaufmann, 1994.]]
[9]
L. Fegaras and D. Maier. Towards an effective calculus for object query languages. In SIGMOD'95, pages 47- 58.]]
[10]
J. Feo. Arrays in Sisal. in Proc. Workshop on Arrays, Functional Languages and Parallel Systems, L. Mullin et al. eds., Kluwer Academic PubLishers, 1990.]]
[11]
S. Greco, P~ Palopoli and E. Spadafora. Dataloga: Array manipulations in a deductive database language. In Proc.,~th Conf. on Database Systems for Advanced Applieations, pages 180-188, 1995.]]
[12]
D. Gries. The Science of Programming. Springer- Ver|ag, 1981.]]
[13]
S. Grumbach and T~ Milo. Towards tractable algebras for bags. In PODS'93, pages 49-58.]]
[14]
P. Hammarlund and B. Lisper. On the relation between functional and data parallel programming languages. In FPCA '93, pages 9.10-219.]]
[15]
P. Hudak, S.L. Peyton Jones and P. Wadler. Report on the Programming Language HaskeU. SIGPLAN Notices, March 1992.]]
[16]
K. E. Iverson. A Programming Language. Wiley, 1962.]]
[17]
T. W. Leung, B. Subramaniam, S. Vandenberg and S. B. Zdonik. Ordered types in the AQUA data model. In DBPL'93, pages 115-135.]]
[18]
L. Libkin and L. Wong. Aggregate functions, conservative extensions, and linear orders. In DBPL'93, pages 282-294.]]
[19]
L. Libkin and L. Wong. Some properties of query languages for bags. In DBPL'93, pages 97-114.]]
[20]
L. Libkin and L. Wong. New techniques for studying set languages, bag languages and aggregate functions. In PODS'9~, pages 155-166.]]
[21]
L. Libkin and L. Wong. Conservativity of nested relational calculi with internal generic functions. Information Processing Letters, 49(6):273-280, March 1994.]]
[22]
D. Maier and B. Vance. A call to order. In PODS'93, pages 1-1fi.]]
[23]
D. Maier and D. Hansen. Bambi meets Godzilla: Object databases for scientific computing, in Proe. 7th Working Conference on ~qclentifie and Statistical Database Management, 1994, pages 176-184.]]
[24]
G. Mecca and A. Bormer. Sequences, datalog and transducers. In PODS'95, pages 23-35.]]
[25]
G. Mecca and A. Bonner. Finite query languages for sequence databases. In DBPL '95, to appear.]]
[26]
Milner, M. Torte, R. Harper. "The Definition of Standard ML ". The MIT Press, Cambridge, Mass, 1990.]]
[27]
T. More. Axioms and theorems for a theory of arrays. IBM J. Res. and Development 17 (1973), 135-175.]]
[28]
R. Rew, G. Davis and S. Emmerson. NetGDF User's Guide, Unidata Program Center, 1993.]]
[29]
P. Seshadri, M. Livny and R.Ramakrishnan. Sequence query processing. In SIGMOD'94, pages 430-441.]]
[30]
P. Seshadri, M. Livny and R.Ramakrishnan. ~q~Q: a model for sequence databases. In ICDE'95, pages 232- 239.]]
[31]
So Vandenberg. Algebras .for Object-Oriented Query Languages. PhD thesis, Univ. of Wisconsin, 1993.]]
[32]
S. Vandenberg and D. DeWitt. Algebraic support for complex objects with arrays, identity and inheritance. In SIGMOD'91, pages 158-167.]]
[33]
P. Wadler. Comprehending monads. Mathematical Structures in Computer Science 2 (1992), 461-493.]]
[34]
L. Wong. Querying Nested Collections. PhD thesis, Univ. of Pennsylvania, August 1994.]]

Cited By

View all

Index Terms

  1. A query language for multidimensional arrays: design, implementation, and optimization techniques

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGMOD Record
    ACM SIGMOD Record  Volume 25, Issue 2
    June 1996
    557 pages
    ISSN:0163-5808
    DOI:10.1145/235968
    Issue’s Table of Contents
    • cover image ACM Conferences
      SIGMOD '96: Proceedings of the 1996 ACM SIGMOD international conference on Management of data
      June 1996
      560 pages
      ISBN:0897917944
      DOI:10.1145/233269
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 June 1996
    Published in SIGMOD Volume 25, Issue 2

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)109
    • Downloads (Last 6 weeks)36
    Reflects downloads up to 29 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media