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

A query language for multidimensional arrays: design, implementation, and optimization techniques
复制标题

多维数组的查询语言:设计、实现和优化技术

DOI:
--
复制
发表时间:
1996
期刊:
ACM SIGMOD Conference
影响因子:
--
通讯作者:
L. Wong
L. Wong
中科院分区:
--
文献类型:
--
作者:
L. Libkin;R. Machlin;L. Wong

文献摘要

被引文献

相似文献

虽然最近的许多研究都集中在扩展数据库超越传统的关系模型,相对较少已经做了开发数据库工具,查询数据组织在(多维)数组。科学计算界很少使用现有的数据库技术。相反,多维科学数据通常存储在符合各种数据交换格式的本地文件中,并通过与通用编程语言绑定的专用访问库进行查询。我们的主要设计决策是将数组视为从索引集到值的函数,而不是集合类型。这导致了干净的语法和语义,以及简单但强大的优化规则。我们提出了一个数组演算,扩展了复杂对象的标准演算。我们推导出一个更高层次的理解风格的查询语言的基础上,这种演算和描述其实现,包括一个数据驱动程序的NetCDF数据交换格式。接下来,我们将探索从我们的核心演算的方程定律中获得的一些优化规则。最后,我们研究了我们的演算的表现力,并证明它基本上对应于添加排名的查询语言的复杂对象。
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.