On Oct 13, 2008, at 10:55, Jim Starkey wrote:
You are right if you think about transaction context. The thing is
most web shops, almost all, run in autocommit mode. This is the 80%
case (if not more). Of course when you run within the context of a
transaction you have an issue, I mentioned that in my original
email, but the majority case does not do this. They fire off seven
queries, get the results, and then build a page.
Gosh, Brian, that's a pretty good argument for an aggregating
interface. Of course then they would have a single transaction and
the results would even be consistent.
I think that's missing the point a little pushing the
transactions. :-) Not using transacions isn't just being lazy; in
many applications most queries can be done safely without
transactions. Spending any CPU cycles on them would just be wasted.
If you write a web application to scale, you are likely already doing
all sorts of caching and other eventual consistency trade-offs.
For example here: http://www.yellowbot.com/the-ivy-los-angeles-ca.html
- I wouldn't be surprised if we're doing 10-15 queries to generate
that page - we might even do an insert or two as well. However the
vast majority (if not all of them) are completely independent. When
consistency between data in two tables is needed, it's managed with a
join - not with read-consistency transactions.
Our site is relatively small scale, but the ratios are probably pretty
typical: We have some millions of (read-only) pageviews a day and
maybe some tens of thousands of interactive updates[1]. The read-
only pageviews could often benefit from "parallel multi-statement
requests"[2].
- ask
[1] There's an obscene amount of background data processing, too - but
latency generally isn't much of a concern there.
[2] One common workaround is to have some data "mirrored" in memcached
where you can do parellel grab of different bits of data.
--
http://develooper.com/ - http://askask.com/
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp