Everybody talks about Gnutella
. Someone proposed to use Gnutella as a tool for match-making
, 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:
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
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.