From: Kevin D. <ke...@tr...> - 2006-01-16 21:19:52
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <STYLE type=text/css> P, UL, OL, DL, DIR, MENU, PRE { margin: 0 auto;}</STYLE> <META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD> <BODY leftMargin=1 topMargin=1 rightMargin=1><FONT face=Tahoma> <DIV><FONT face=Arial size=2>Eric-</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>No - when transactions are disabled, they are cached and commited to disk periodically (behind the scenes, we manage the size of the uncomitted page load and write to disk as necessary). When Tx are off, writes go to only one file (the db file), instead of writing to the log, then to the db file.</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>Because writes to the log are actually synced to the phyiscal disk they are usually considerably slower than non-transactional writes.</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>Running without transactions should be several times faster than running with them (at the risk of corrupting the database file in the event of a crash, of course).</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2>- K</FONT></DIV> <DIV><FONT face=Arial size=2></FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV><FONT face=Arial size=2> </FONT> <TABLE> <TBODY> <TR> <TD width=1 bgColor=blue><FONT face=Arial size=2></FONT></TD> <TD><FONT face=Arial size=2><FONT color=red>> <BR>Kevin, <BR> <BR>Thanks for such a quick response. The main reason I was trying to avoid committing was because committing seems to be relatively slow. If I disable transactions will things be written to disk immediately? Will this writing be faster thena commit? <BR><BR>Eric <BR> <BR><BR><BR>From: Kevin Day <A href="mailto:ke...@tr..."><FONT color=#0000ff>[mailto:ke...@tr...]</FONT></A> <BR>Sent: Monday, January 16, 2006 4:02 PM<BR>To: Rosenberg, Eric<BR>Subject: re: [Jdbm-general] Transaction memory size <BR> <BR><BR>Eric- <BR><BR> <BR><BR>This is a limitation in the current jdbm transaction manager (there is a group of us working on an alternate technique that will support arbitrarily large transactions, but that's a long way off). <BR><BR> <BR><BR>The recommended approach at this point is to either: <BR><BR> <BR><BR>A. Commit your transactions periodically <BR><BR> <BR><BR>or <BR><BR> <BR><BR>B. Run with transcations disabled for large inserts (understand that this will open you up to potential file corruption, so you only want to run without transactions when it is OK to lose the entire database - i.e. during initial data population). <BR><BR> <BR><BR> <BR><BR>Cheers, <BR><BR> <BR><BR>- Kevin <BR><BR> <BR><BR> <BR><BR> <BR>> If I add / update a bunch of objects in JDBM during a transaction is<BR>everything kept in memory until I do a commit?<BR><BR>I am trying to add an arbitrary number of objects to JDBM and am<BR>wondering if it is safe to add them all from a single transaction or if<BR>I need to commit periodically to ensure that I don't run out of memory.<BR><BR>Thanks,<BR>Eric<BR><BR><BR>-------------------------------------------------------<BR>This SF.net email is sponsored by: Splunk Inc. Do you grep through log files<BR>for problems? Stop! Download the new AJAX search engine that makes<BR>searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!<BR><A href="http://ads.osdn.com/?ad_idv37&alloc_id865&opÀick"><FONT color=#0000ff>http://ads.osdn.com/?ad_idv37&alloc_id865&opÀick</FONT></A><BR>_______________________________________________<BR>Jdbm-general mailing list<BR><A href="mailto:Jdb...@li..."><FONT color=#0000ff>Jdb...@li...</FONT></A><BR><A href="https://lists.sourceforge.net/lists/listinfo/jdbm-general"><FONT color=#0000ff>https://lists.sourceforge.net/lists/listinfo/jdbm-general</FONT></A><BR><BR><<BR><<BR></FONT></FONT></TD></TR></TBODY></TABLE></DIV></FONT></BODY></HTML> |