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

Reply via email to