Key points are not available for this paper at this time.
Une fonction définie par l'utilisateur (UDF) est une fonctionnalité puissante des bases de données qui permet aux utilisateurs de personnaliser la fonctionnalité de la base de données. Bien qu'utile, les UDF actuelles présentent de nombreuses limitations, notamment la spécification du schéma d'entrée et de sortie au moment de l'installation et une mauvaise capacité à paralléliser l'exécution. Nous présentons une nouvelle approche pour implémenter une UDF, que nous appelons SQL/MapReduce (SQL/MR), qui surmonte bon nombre de ces limitations. Nous exploitons des idées issues du paradigme de programmation MapReduce pour fournir aux utilisateurs une API simple par laquelle ils peuvent implémenter une UDF dans le langage de leur choix. De plus, notre approche permet une flexibilité maximale car le schéma de sortie de l'UDF est spécifié par la fonction elle-même au moment de la planification de la requête. Cela signifie qu'une fonction SQL/MR est polymorphe. Elle peut traiter des entrées arbitraires car son comportement ainsi que le schéma de sortie sont déterminés dynamiquement par les informations disponibles au moment de la planification de la requête, comme le schéma d'entrée de la fonction et des paramètres fournis par l'utilisateur. Cela augmente également la réutilisabilité car la même fonction SQL/MR peut être utilisée sur des entrées avec de nombreux schémas différents ou avec différents paramètres spécifiés par l'utilisateur. Dans cet article, nous décrivons la motivation derrière cette nouvelle approche des UDF ainsi que la mise en œuvre au sein de la base de données n Cluster d'Aster Data Systems. Nous démontrons que dans le contexte des systèmes de bases de données massivement parallèles et sans partage, ce modèle de calcul facilite un calcul hautement évolutif au sein de la base de données. Nous incluons également des exemples de nouvelles applications qui tirent parti de ce cadre UDF novateur.
Friedman et al. (Sat,) ont étudié cette question.