On Wednesday 16 May 2007 17:13, Michael Rogers wrote: > Matthew Toseland wrote: > > 4) Use a completely different database for the index. > > 5) Use a completely different database for the whole store, and trust it > > not to lose the data. (from our experience with BDB, it is likely that it > > will!) 6) Roll our own database code. > > 7) Get rid of the secondary indices: store the data in the database > instead of in files, removing the need to store block numbers, and use > random deletion instead of LRU, removing the need to store the access time.
The secondary indexes are by block number and by access time. The first is not necessary if we store the data in the database, however see below: It's insane. Also I remain to be convinced that random deletion would do anything other than significantly reduce performance. We have a two level datastore for a reason; it's perfectly okay IMHO for the cache to cache mostly popular content, since we have the store as well. > > Disclaimers: > > 1. I understand that it's not currently a good idea to store the data in > the database because we lose everything if the database gets corrupted, > but if getting rid of the secondary indices fixes the corruption > problems then that will no longer be an issue. And if it doesn't, it will be even worse. And the only way to find out is to try it. Not a good plan IMHO. > > 2. I'm not pushing for LRU to be replaced, the issue just happens to > have cropped up twice in a short period for different reasons. :-) > > Cheers, > Michael -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20070518/057e670c/attachment.pgp>