Re: Issues with two-server Synch Rep
От | Gurjeet Singh |
---|---|
Тема | Re: Issues with two-server Synch Rep |
Дата | |
Msg-id | AANLkTineHKm3RqBYyxxiim9LCH4gLOa+UOmdQfcc1-yV@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Issues with two-server Synch Rep (Jeff Davis <pgsql@j-davis.com>) |
Ответы |
Re: Issues with two-server Synch Rep
|
Список | pgsql-hackers |
<div dir="ltr"><br /><div class="gmail_quote">On Mon, Oct 11, 2010 at 7:16 PM, Jeff Davis <span dir="ltr"><<a href="mailto:pgsql@j-davis.com">pgsql@j-davis.com</a>></span>wrote:<br /><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">On Mon, 2010-10-11at 16:07 -0400, Robert Haas wrote:<br /> > >> It would be far better if we could decouple master cleanupfrom<br /> > >> standby cleanup, so that only the machine that actually has the old<br /> > >> querygets bloated. However, no one seems excited about writing that<br /> > >> code.<br /> > ><br /> >> That doesn't seem just a matter of code, it seems like a major design<br /> > > conflict.<br /> ><br />> Yes. I had the idea of trying to fix this by allowing the standby to<br /> > retain old versions of entire pagesthat got cleaned up on the master,<br /> > until the transactions that might want to read the old pages were<br />> gone. But that may be prohibitively difficult, not sure.<br /><br /></div>I think you'd end up having a notion ofa snapshot of block information<br /> (like a FS with snapshots) inside of postgres.<br /><br /> Sounds like a lot of complexityto me, and the only benefit I see is<br /> moving bloat from the primary to the standby. Granted, that would be<br/> nice, but I would expect some costs aside from just the complexity.<br /></blockquote></div><br clear="all" />I hadthis idea when HS was being initially implemented, and I saw two problems with it.<br /><br />.) Identifying block versionsin buffers. Our XID based MVCC like scheme would work, but we already have a block header which we would want totrim.<br /><br />.) Effectively every block cleanup will have to create a copy of the block because more often than notthere's at least one transaction in the system, and when it asks, we need to hand it the old version.<br /><br /> Regards,<br/> -- <br />gurjeet.singh<br />@ EnterpriseDB - The Enterprise Postgres Company<br /><a href="http://www.EnterpriseDB.com">http://www.EnterpriseDB.com</a><br/><br />singh.gurjeet@{ gmail | yahoo }.com<br />Twitter/Skype:singh_gurjeet<br /><br />Mail sent from my BlackLaptop device<br /></div>
В списке pgsql-hackers по дате отправления: