On Mon, Oct 1, 2012 at 8:12 AM, Platonides platonides@gmail.com wrote:
Note that it's false that MediaWiki doesn't perform joins. There are many of them. The statement about that was (probably) talking about cross-db joins.
Yes, that's right, I was talking about joins between user databases and the replicated databases containing the live wiki data. The quote I am thinking of was posted by Ryan Lane to toolserver-l on Sep 26. It said, "We currently have no plans for having the user databases on the same servers as the replicated databases. Direct joins will not be possible, so tools will need to be modified.".
As you have pointed out in a previous message, the reason behind many cross-db joins on toolserver is that users are unable to create tables within the replicated databases. That's expected - the replicated databases need to match the live ones - but the natural solution is to have user databases on the same servers.
This also leads to the problem you pointed out:
Even for MediaWiki extensions, not having user tables can be hard.
Yes, I agree. At [1], there is currently this claim about cross-db joins on labs: "Unlikely, that logic should be handled within the application. It's impossible to shared data otherwise, as well as the extra overhead on the database servers which are effectively a shared component. DamianZaremba (talk) 11:13, 27 September 2012 (UTC)" I am not sure what "within the application" means, but if someone is writing a Mediawiki extension and needs another table or needs a schema change, it is not obvious to me right now how they would be able to do a join between a user table for their extension and the replicated tables from the live projects. And those joins would certainly be "within the application".
But I expect that few toolserver users were/are working on mediawiki extensions. For non-extension projects that have a lot of data, using a database server is the only reasonable solution. Just as a point of data, the "logging" table for the WP 1.0 project on toolserver, which has records for article assessments on enwiki, has about 46 million rows in a user database.
- Carl
1: http://www.mediawiki.org/wiki/Wikimedia_Labs/Toolserver_features_wanted_in_T...