Re: Freeze avoidance of very large table.
От | Sawada Masahiko |
---|---|
Тема | Re: Freeze avoidance of very large table. |
Дата | |
Msg-id | CAD21AoCrGpFxnEAGghsz9ZXWZHZ6+UWSJorm4zWL4kgD=8-PCw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Freeze avoidance of very large table. (Sawada Masahiko <sawada.mshk@gmail.com>) |
Ответы |
Re: Freeze avoidance of very large table.
|
Список | pgsql-hackers |
On Thu, Apr 30, 2015 at 8:07 PM, Sawada Masahiko <sawada.mshk@gmail.com> wrote: > On Fri, Apr 24, 2015 at 11:21 AM, Sawada Masahiko <sawada.mshk@gmail.com> wrote: >> On Fri, Apr 24, 2015 at 1:31 AM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote: >>> On 4/23/15 11:06 AM, Petr Jelinek wrote: >>>> >>>> On 23/04/15 17:45, Bruce Momjian wrote: >>>>> >>>>> On Thu, Apr 23, 2015 at 09:45:38AM -0400, Robert Haas wrote: >>>>> Agreed, no extra file, and the same write volume as currently. It would >>>>> also match pg_clog, which uses two bits per transaction --- maybe we can >>>>> reuse some of that code. >>>>> >>>> >>>> Yeah, this approach seems promising. We probably can't reuse code from >>>> clog because the usage pattern is different (key for clog is xid, while >>>> for visibility/freeze map ctid is used). But visibility map storage >>>> layer is pretty simple so it should be easy to extend it for this use. >>> >>> >>> Actually, there may be some bit manipulation functions we could reuse; >>> things like efficiently counting how many things in a byte are set. Probably >>> doesn't make sense to fully refactor it, but at least CLOG is a good source >>> for cut/paste/whack. >>> >> >> I agree with adding a bit that indicates corresponding page is >> all-frozen into VM, just like CLOG. >> I'll change the patch as second version patch. >> > > The second patch is attached. > > In second patch, I added a bit that indicates all tuples in page are > completely frozen into visibility map. > The visibility map became a bitmap with two bit per heap page: > all-visible and all-frozen. > The logics around vacuum, insert/update/delete heap are almost same as > previous version. > > This patch lack some point: documentation, comment in source code, > etc, so it's WIP patch yet, > but I think that it's enough to discuss about this. > The previous patch is no longer applied cleanly to HEAD. The attached v2 patch is latest version. Please review it. Regards, ------- Sawada Masahiko
Вложения
В списке pgsql-hackers по дате отправления: