views:

293

answers:

3

I am required to do a project for my distributed database systems course. This can be anything related to distributed database systems.

Anyone have interesting ideas for a project?

Ideally something sufficiently small in scope that I could start pounding on and eventually add as much as possible once I have something, because I only have just over a month to do it, and I can't allocate all my time to it.

+1  A: 

A simple Google App Engine application. http://code.google.com/appengine/

Robert Harvey
A: 

How about something related to user authentication + feature?

  1. User authenticates (logs in) with one database

  2. User uses a feature (read article, upload graphic, comment on a story) utilizing a second database.

Item #2's action cannot access the first database directly (i.e., the two databases exist on two different servers), so you will need to use some sort of web service to verify authentication (#1) before you do the action (#2).

  • How do you link user-generated items in #2 to a user account? Say I wanted the user to be able to see all of the graphics she uploaded---and no one else's graphics?

  • How do you "add" a new user to #2? In other words, if a user exists in #1, but has no records in #2, how do you handle the first activity in #2?

BryanH
+1  A: 

Take a look at DNS (the Domain Naming System) which is implemented as a distributed database that communicates primarily using UDP. More recently, TCP has been added since there was no other good way to deal with datagrams larger than 1500 bytes.

Write up a simpler replacement for DNS that uses UDP only (possibly enhanced with some session state) and which implements a simple keyed datastore. The idea is to make something that has DNS as its heritage but is flexible enough that it could be used for any kind of data, not just the predefined registered record types used in DNS.

Michael Dillon
Actually useful outcome too :)
Will