On Mon, May 09, 2005 at 02:38:41AM -0500, Austin Hair wrote:
Personally (and this almost always incites a riot when proposed in a
public forum), I'd like to see MediaWiki rewritten in a language other
than PHP, or at least have the critical parsing functions moved to
something more efficient than calling preg_replace inside recursive
functions (that is to say, anything). Yes, people have proposed this
since the beginning of time, to the point that developers habitually
roll their eyes and crack jokes about "the benefits of [language of
the week]" at the mere suggestion, but Wikimedia (read: Wikipedia)
won't scale automagically.
Based on my understanding of the strengths and weaknesses of a few
programming languages, I'm inclined to agree -- some of the
functionality of MW should be rewritten in another language. I have no
idea how realistic it is to wish for that at any point in the forseeable
future, though, due (among other things) to the fact that all code
development for MW is, as far as I'm aware, (almost?) entirely
volunteer-basis. This lends itself to a lot of work on what needs
fixing to keep things afloat now, but not much to any work on long-view
stuff except in cases of isolated pet projects.
Now, if only we could get a quick pet project rewriting of MW in the
"right language" for long-term scalability without sacrificing a low
entry bar and ease of development. . . .
I understand a real object store is in the works, and if done right,
that's a huge hurdle overcome. Table-based SQL servers can only scale
so far, especially when you're using the same one you used for your
high school bulletin board project. Special care has to be paid to
issues like replication, of course, or the ultimate benefit is nil or
negative.
Don't take this to mean anything other than what it appears to be at its
most naive: I ask only because I don't really know much about database
design and implementation.
What are the limitations of table-based SQL solutions that limit
scalability? What's the alternative you'd recommend (and why)?
--
Chad Perrin
[ CCD CopyWrite |
http://ccd.apotheon.org ]