OT: MoinMoin and Mediawiki?
Ian Bicking
ianb at colorstudy.com
Wed Jan 12 18:37:03 EST 2005
Paul Rubin wrote:
>>If you are just trying to avoid too many files in a directory, another
>>option is to put files in subdirectories like:
>>
>>base = struct.pack('i', hash(page_name))
>>base = base.encode('base64').strip().strip('=')
>>filename = os.path.join(base, page_name)
>
>
> Using subdirectories certainly keeps directory size down, and it's a
> good idea for MoinMoin given the way MoinMoin uses the file system.
> But for really big wikis, I think using the file system like that
> isn't workable even with subdirectories. Plus, there's the issue of
> how to find backlinks and how to do full text search.
If the data has to be somewhere, and you have to have relatively random
access to it (i.e., access any page; not necessarily a chunk of a page),
then the filesystem does that pretty well, with lots of good features
like caching and whatnot. I can't see a reason not to use the
filesystem, really.
For backlink indexing, that's a relatively easy index to maintain
manually, simply by scanning pages whenever they are modified. The
result of that indexing can be efficiently put in yet another file
(well, maybe one file per page).
For full text search, you'll want already-existing code to do it for
you. MySQL contains such code. But there's also lots of that software
that works well on the filesystem to do the same thing.
A database would be important if you wanted to do arbitrary queries
combining several sources of data. And that's certainly possible in a
wiki, but that's not so much a scaling issue as a
flexibility-in-reporting issue.
--
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Python-list
mailing list