Greetings,

Hello, my name is Michael Schuh and I am a PhD student in Computer Science
at Montana State University. I have never participated in GSOC before, but
I am very excited to propose a project to PostgreSQL that I feel would be a
great follow-up to last year's project by Alexander Korotkov (
http://www.google-melange.com/gsoc/project/google/gsoc2012/akorotkov/53002).
I contacted Mr. Korotkov's mentor from last year, Mr. Heikki Linnakangas,
and he suggested I email this mailing list with my idea.

In brief, I would like to implement a state-of-the-art indexing algorithm
(named iDistance) directly in PostgreSQL using GiST or SP-GiST trees and
whatever means necessary. It is an ideal follow-up to last year's project
with Mr. Korotkov, which implemented classical indexing structures for
range queries. I strongly believe the community would greatly benefit from
the inclusion of iDistance, which has been shown to be dramatically more
effective than R-trees and KD-trees, especially for knn queries and above
10-20 dimensions.

A major focus of my current PhD thesis is high-dimensional data indexing
and retrieval, with an emphasis towards applied use in CBIR systems.
Recently, I published work which introduced a new open source
implementation of iDistance in C++ (and some Python), which I believe makes
me highly qualified and motivated for this opportunity. I have been
strongly considering a PostgreSQL implementation for an easy plug-and-play
use in existing applications, but with academic grant funding, the priority
is low. Below are links to my google code repository and recent
publication. I am happy to discuss any of this in further detail if you'd
like.

https://code.google.com/p/idistance/
http://www.cs.montana.edu/~timothy.wylie/files/bncod13.pdf

Although I do not have a lot of experience with PostgreSQL development, I
am eager to learn and commit my summer to enabling another fantastic
feature for the community. Since iDistance is a non-recursive, data-driven,
space-based partitioning strategy which builds directly onto a B+-tree, I
believe the implementation should be possible using only GiST support.
Please let me know if this is of any interest, or if you have any
additional questions. Unfortunately, I will be unavailable most of the day,
but I plan to fill out the GSOC application later this evening.

Thank you for your time,
Mike Schuh

Reply via email to