On 10.10.2013, at 12:37, Andy Seaborne <a...@apache.org> wrote:

> On 10/10/13 10:37, Daniel Gerber wrote:
>> Hi,
> > I'm importing 20Mb of data every day into a Jena TDB store.
>> Before insertion, I'm deleting everything (model.removeAll()). But I
>> noticed that the size of the index does not shrink, it even increases
>> every day (it's now at 11GB and soon will hit physical limits). I
>> found this question [1] on stack overflow but could not find any
>> mailing list entry (so sorry for re-asking this question). Is there
>> any way, except deletion, to reduce the size of a Jena TDB
>> directory/index.
>> 
>> Cheers, Daniel
>> 
>> [1]
>> http://stackoverflow.com/questions/11088082/how-to-reduce-the-size-of-the-tdb-backed-jena-dataset
>> 
> 
> Daniel,
> 
> Your question is a good one - the ful answer depends on the details of your 
> setup though.
> 
> The indexes won't shrink - TDB never gives disk space back to the OS - but 
> disk space is reused when reallocated within the same JVM.  If you are 
> deleting, stopping, restarting (hence different JVMs), then there can be 
> memory leaks but it sounds like this is not the case here as the "leak" in 
> that case can be most of the database and you'd notice!
> 
> The other issue is blank nodes - does your data have a significant amount of 
> blank nodes?  If so, each load is creating new blank nodes. Nodes are not 
> garbaged collected so old blank nodes (and unused URIs and literals) remain 
> in the node table.

Hi Andy,
Thanks for your insights.
Well yes. I do have blank nodes. So there is no way if manually cleaning up the 
node table? I wonder how this can be excepted behavior. Who want's to run a 
database which grows everyday for hundreds of MBs (while importing 200k triple)?

> If you are clearing out an entire database, then closing the database (and 
> removing from the StoreConnection manager), deleting the files, then loading, 
> which can be by bulk loader, may work for you.

Well I can't simply delete everything since I do have different graphs inside 
this directory.
Do you see any chance to fix the issue?

Cheers,
Daniel

> 
> [[
> Except on MSWindows64, where it is not possible to delete memory files while 
> the JVM is running (they don't get deleted).
> ]]
> 
>       Andy
> 

Reply via email to