Extend UDF Technology for Integrated Analytics

  • Authors:
  • Qiming Chen;Meichun Hsu;Rui Liu

  • Affiliations:
  • HP Labs, Palo Alto, USA and HP Labs, Beijing, China;HP Labs, Palo Alto, USA and HP Labs, Beijing, China;HP Labs, Palo Alto, USA and HP Labs, Beijing, China

  • Venue:
  • DaWaK '09 Proceedings of the 11th International Conference on Data Warehousing and Knowledge Discovery
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Running analytics computation inside database engines through the use of UDFs (User Defined Functions) has been extensively investigated, but not yet become a scalable approach due to two major limitations. One limitation lies in that the existent UDFs are not relation-in, relation-out and schema-aware, unable to model complex applications, and cannot be composed with relational operators in a SQL query. Another limitation lies in the difficulty of programming UDFs for efficient interaction with query processing, since that requires hard-to-follow system knowledge beyond the analytics expertise. These limitations actually keep away most users from using UDFs for their analytics applications. To solve these problems, we extend the UDF technology in both semantic and system dimensions. We first expand our investigation on Relation Valued Functions (RVFs) with the goal of having RVF executions tightly integrated with query processing, but allowing RVF developers to be liberated from DBMS internal details. We separate an RVF into two parts: RVF shell that contains the system utilities, and user-function that contains application logic only. We provided focused system support based on the notion of invocation pattern , and developed the mechanism for generating an RVF-shell automatically based on the schemas of its argument and return relations, the well understood invocation pattern, and the common data conversion protocol. A complete RVF is made by plugging the "user function" in the RVF-shell. We have prototyped the proposed approach on the open-sourced database engine Postgres. Our experience reveals its advantages in making UDF tightly integrated with the query executor but relieving analytics users from dealing with system details --- a fundamental data engineering requirement to make UDF technology practically usable for converging data intensive analytics and data management.