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 AlOne for products like this:
Number Name Price 1 Nuclear Bomb 1000 2 Fishnet 50And one for oders like this:
Customer Product 1 2 2 1Now with an SQL statement you can query these tables and the relationships between them:
SELECT * FROM customers WHERE number=1Returns all information about the first customer.
SELECT customers.lastname, products.name FROM customers,products,orders WHERE customer.number=orders.costumer AND products.number=orders.productReturns 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.