[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