Distributed Dynamic Databases

Everybody talks about Gnutella. Someone proposed to use Gnutella as a tool for matchmaking|match-making & dating, which is a really neat idea. But it is just an example for many where distributed dynamic databases make sense.

I don't know if you've ever heard about SQL. SQL stands for Structured Query Language and is a standard for querying databases. You may have a table of customers, like this:

  Number   Last Name    First Name
  1        Kissinger    Henry
  2        Gore         Al

One for products like this:

  Number   Name             Price
  1        Nuclear Bomb     1000
  2        Fishnet          50

And one for oders like this:

  Customer Product
  1        2
  2        1

Now with an SQL statement you can query these tables and the relationships between them:

  SELECT * FROM customers WHERE number=1 

Returns all information about the first customer.

  SELECT customers.lastname, products.name FROM customers,products,orders WHERE
  customer.number=orders.costumer AND products.number=orders.product 

Returns every name of the customer and the product they ordered (if I got it right).

Now I don't want to bother you with the details, but SQL is very powerful and relatively easy to use especially for simple queries. But AFAIK it is only used on central servers. It would be cool to query all version of a table in a GnutellaNet?.

How could that work? Well, the servants would have to agree on one or more table structures. The tables could and should be saved in XML format. Now I could issue an SQL statement of the sort:

  SELECT * FROM matchmaking WHERE age > 18 AND state="NY" AND country="US" AND sex="female" 

Which would query all hosts in the GnutellaNet? who serve the matchmaking table for entries of people older than 18 in New York. This would be a table that would usually have only one row, but there could be others, like recipe databases. I would usually want to apply a "unique" filter to the results so that I don't get duplicates (which is no problem in SQL).

Imagine the possibilities! Even a distributed (and thus uncensorable) form of E2 could be created, one which wouldn't have to care about legal issues such as copyright and ASCII goat porn.


EditText of this page (last edited February 28, 2001) or FindPage with title or text search