"C. Michael Pilato" <cmpilato_at_collab.net> writes:
> Vyacheslav V. Zholudev wrote:
>> Could somebody explain me please, why we can have multiple entries
>> for the same key in the 'strings' table in case of BDB? I mean what
>> are the reasons behind it?
>
> We get data piecemeal, in chunks, though the interfaces that write
> file contents to the 'strings' table. We used to simply append this
> data to the one "row" for that string ID, but then we noticed that
> Berkeley DB's write-ahead logging subsystem wanted to replicate the
> whole string-so-far value over and over again in the log.* files (so
> the transaction could be replayed if necessary). This caused
> obnoxious bloat of the disk. We solved this issue (and possibly some
> performance related performance pains, though I don't recall for sure)
> by simply splitting each of these incoming chunks into its own "row",
> but with the same key (the collection of which we traverse with the
> magic of cursors).
And Vyacheslav, if you don't find a comment already in the code
explaining this, then you could use Mike's explanation above to produce
a patch that adds such a comment in a useful location...
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-06-03 04:00:48 CEST