[xwiki-users] Xwiki file and attachment storage
Vincent Massol
vincent at massol.net
Mon Aug 27 11:40:19 CEST 2007
Hi BJ,
On Aug 3, 2007, at 11:57 PM, bjquinn wrote:
>
> Hi, we're looking into using Xwiki to replace part of a large
> Microsoft
> Exchange setup. The users email large (sometimes 50MB) attachments
> back and
> forth to each other and in and out of the company, ballooning the
> size of
> the Exchange database, making it too large, corruption-prone,
> unwieldy, and
> nearly impossible to back up and/or restore. The fundamental
> problem with
> using Exchange for this (beyond the fact that it doesn't provide
> all the
> other inherent benefits of a wiki) is that it stores EVERYTHING --
> email,
> attachments, etc., all in one file. We're looking into doing an
> Xwiki setup
> to prevent sending these attachments back and forth so much, but my
> limited
> ability to audit Xwiki has resulted in me thinking that Xwiki does
> the same
> (stores everything in one file/database). Is there any way to
> store pages
> in individual files, more like Xwiki's progenitor, Twiki? Or at
> least for
> attachments?
Right now the only storage available is through a relational
database. We're working at implementing a JCR storage which will
allow you to use whatever supported physical storage you want (files,
RDBMS, OODB, etc). Artem had a first implementation done a while ago
but I don't think it was ever finished.
Artem, would you mind giving us a status on the JCR work and the plan
ahead?
BTW there's a good reason XWiki uses a DB instead of the file system.
File system doesn't allow the type of advanced queries that are
required for XWiki. FS are good for storing large number of documents
but they're bad for doing queries on them. For attachments, I agree
we could use an FS storage. Actually XWiki's architecture already
separates the storage for documents from the storage for attachments.
It just happens that currently attachments are also stored in the DB.
All that said, DB should get you a long way but you'll need to set up
indexes in the your DB. For example: http://www.xwiki.org/xwiki/bin/
view/AdminGuide/Database+Administration
Thanks
-Vincent
More information about the users
mailing list