Friday, 30 January 2009
I'm in my last semester here at the Norwegian University of Science and Technology, which means that I'm starting on my master thesis these days. Actually, I'm not starting now, I'm continuing on the "pre-project" I worked on together with my friend, Alex Brasetvik from August to December last year.

Our master thesis is about building a query optimizer for Fast's (now a subsidiary of Microsoft, they bought them) new Enterprise Search solution.

The report itself can be found here: MasterProjectReport.pdf, and the abstract is included below:
This document is the report for the authors’ joint effort in researching and designing a query optimizer for fast’s next-generation search platform, known as MARS. This work was done during the pre-project to the master thesis at the Department of Computer and Information Science at the Norwegian University of Science and Technology, autumn 2008.

MARS does not currently employ any form of query optimizer, but does have a parser and a runtime system. The report therefore focuses on the core query optimizing aspects, like plan generation and optimizer design. First, we give an introduction to query optimizers and selected problems. Then, we describe previous and ongoing efforts regarding query optimizers, before shifting focus to our own design and results.

MARS supports
DAG-structured query plans, which means that the optimizer must do so too. This turned out to be a greater task than what it might seem like. The optimizer also needed to be extensible, including the ability to deal with query operators it does not know, as well as supporting arbitrary cost models.

During the course of the project, we have laid out the design of an optimizer we believe satisfies these goals. DAGs are currently not
fully supported, but the design can be extended to do so. Extensibility is solved by loose coupling between optimizer components. Rules are used to model operators, and the cost model is a separate, customizable component. We have also implemented a prototype that demonstrates that the design actually works.

posted on Friday, 30 January 2009 03:08:08 (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
 Friday, 09 May 2008
I recently wrote a paper at school about how flash memory impacts the database world. Those who are interested can read it here: How Flash Memory Changes the DBMS World - An Introduction

posted on Friday, 09 May 2008 15:30:30 (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
 Sunday, 04 November 2007

I've spent some time thinking about what factors determine exam results. It clearly depends upon the amount of effort you put into it (and the preparations) and your skill level, but also how lucky you are with the tasks you get on the exam. I think I've come up with a mathematical relationship for it :-)

Result = Effort x Skills x Fluke

That is, the exam result is the product of effort, skills and how lucky you are. Here, all factors are non-negative, which gives us a non-negative result as well. A result of zero is a fail, anything above that is a pass.

As we can see, if any of the three factors are zero, you will fail. This is easy to explain. First, if the effort is zero, you didn't even bother showing up on the exam, so you will clearly fail. Further on, if you have zero skills, you don't even know how to read, yet alone remember anything, so no matter how much effort you put into it, you will still fail. Finally, a zero luck means maximum bad luck. An example of this could be to get the following exam:

Task 1 of 1: (100 %)
Is P = NP? Prove your answer.

We can also get some more interesting relationships out of the formula. By dividing by Effort on both sides, we get
Result / Effort = Skills x Fluke.

This tells us that, if you got a non-failing grade on the exam, while the effort approaches zero, you either have extreme skills, or you had a huge amount of luck.

We can also get Result / Skills = Effort x Fluke. So if you got a passing grade, and have zero skills, you put in impossible amounts of effort, or had impossible amounts of luck, which is just not possible, so you could not possibly pass the exam.

So, by using this formula, you should be able to develop a strategy for receiving good exam results ;-) Good luck!

posted on Sunday, 04 November 2007 17:59:20 (W. Europe Standard Time, UTC+01:00)  #    Comments [3]