-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > You might be interested in NoSQL, or in databases which have no schema: every > piece of information is a property of an object.
I do happen to use them pretty intensively, especially MongoDB, so here are some things they do differently: There is no such thing as a join and each object (aka document) is completely independent of all others. ie there is no way to reference one document from another as a "query". If you need that functionality then you have to grab relevant documents to the client and do the matching yourself. Because of the independence it is trivial to shard and replicate the database. They do have indices so that queries are quick, such when looking for fields to contain a particular value. As an example MongoDB supports a rich set of query operators: http://www.mongodb.org/display/DOCS/Advanced+Queries And the index information: http://www.mongodb.org/display/DOCS/Indexes Additionally they also provide map/reduce as an index mechanism, and in the case of CouchDB this is the only query/index mechanism where they call it a view. Conceptually a piece of code is called for each document and can return what key goes into the index as well as what value. This allows for very complex index key/values. A reduce is similar to aggregate functions. Map/reduce is done incrementally as documents are added. http://books.couchdb.org/relax/design-documents/views http://www.mongodb.org/display/DOCS/MapReduce MongoDB does another interesting thing for query plans. Rather than try to compute the ultimate correct one, it runs multiple candidates in parallel picking whichever finishes first. More details: http://www.mongodb.org/display/DOCS/Query+Optimizer Roger -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkwFwz4ACgkQmOOfHg372QRbCwCgjnKNXwwoZOS/86yIbbzVyGjq wpMAnA3Uu5xZjlflt1p0Qpc8Jvvek3dv =UjLm -----END PGP SIGNATURE----- _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users