On Mon, Oct 1, 2012 at 8:12 AM, Platonides <platonides(a)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_…