AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


'Microsoft SQL Server 2005: Rethinking Code Placement'

Authors

; ;

Term

4. term

Publication year

2006

Abstract

Denne afhandling undersøger, hvad der bliver muligt, når Common Language Runtime (CLR) integreres i Microsoft SQL Server 2005. CLR-integration gør det muligt at køre kode inde i databasen og ikke kun på applikationsserveren. Undersøgelsen stiller et praktisk designspørgsmål for distribuerede systemer: For en given funktionalitet, opnås den bedste ydeevne og skalerbarhed i databasen eller på applikationsserveren? For at besvare dette identificerer afhandlingen de parametre, der påvirker ydeevne og skalerbarhed. En udvalgt delmængde varieres systematisk i et fuldt faktorielt forsøgsdesign (alle kombinationer testes), og de opnåede målinger sammenlignes statistisk. Eksperimenterne sammenligner kode, der kører på applikationsserveren, med to muligheder i databasen: traditionel T-SQL og SQLCLR. På baggrund af resultaterne definerer afhandlingen en empirisk metrik, der hjælper med at afgøre, hvor koden bør køre for at opnå bedst mulig ydeevne og skalerbarhed. For at gøre metrikken let at bruge er den implementeret i et simpelt værktøj, hvor udviklere kan angive de relevante parametre.

This thesis explores what becomes possible when the Common Language Runtime (CLR) is integrated into Microsoft SQL Server 2005. CLR integration allows code to run inside the database, not only on the application server. The study poses a practical design question for distributed systems: for a given piece of functionality, will performance and scalability be better in the database or on the application server? To answer this, the thesis identifies the parameters that influence performance and scalability. A selected subset is varied systematically in a full-factorial experimental design (testing all combinations), and the resulting measurements are compared using statistical analysis. The experiments compare code running on the application server with two database-side options: traditional T-SQL and SQLCLR. Based on these results, the thesis defines an empirical metric that helps decide where code should run to achieve the best performance and scalability. To make the metric easy to use, it is implemented in a simple tool where developers can enter the relevant parameters.

[This abstract was generated with the help of AI]