[development] Database / SQL future thoughts
Jeff Eaton
jeff at viapositiva.net
Tue May 5 15:40:14 UTC 2009
On May 5, 2009, at 10:07 AM, Bertrand Mansion wrote:
>> 1. Tags are stored inefficiently (I can't think of a way to store
>> them
>> that is better for every use)
>
> What do you mean by "every use" ?
>
> If you are interested in reading about tags and SQL, here are some
> pointers:
> http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html
> http://laughingmeme.org/2005/04/07/in-lieu-of-the-promised-article-on-tags-and-sql/
When Greg says, "Every use" he means that Drupal allows tags and
taxonomy terms in general to be used for a lot of metadata related
purposes. It's possible to optimize the storage and retrieval
mechanism for specific use cases (like user-specific flickr-style
tags, or hierarchical categorization), but the optimizations for those
use cases are at odds with each other. What works for one will make
the others punishingly inefficient. Thus, Drupal currently uses a
'best-compromise' schema that allows it to capture as much information
as possible (hierarchy, weight, association, etc.) and relies on
caching at a later point to smooth out hot spots.
There may well be further improvements that can be eked out, and there
may be opportunities for optimization that have been missed -- and
there may even be a case to be made for splitting taxonomy into real
"tags" and "hierarchical category" so that the system can be better
optimized. But I'm not sure that you're really clear on how Drupal
actually works under the hood; the article you pointed to explicitly
described Drupal's tag storage schema and outlined its advantages. If
you go back and read the article, it's the "Toxi Solution."
--Jeff Eaton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.drupal.org/pipermail/development/attachments/20090505/d8d2c534/attachment.htm>
More information about the development
mailing list