Re: Patch: Write Amplification Reduction Method (WARM)
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Pavan Deolasee <pavan.deolasee@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
Robert Haas <robertmhaas@gmail.com>, Bruce Momjian <bruce@momjian.us>,
Jaime Casanova <jaime.casanova@2ndquadrant.com>, Haribabu Kommi <kommi.haribabu@gmail.com>,
Tomas Vondra <tomas.vondra@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-03-24T10:34:54Z
Lists: pgsql-hackers
On Fri, Mar 24, 2017 at 12:25 AM, Pavan Deolasee <pavan.deolasee@gmail.com> wrote: > > > On Thu, Mar 23, 2017 at 7:53 PM, Amit Kapila <amit.kapila16@gmail.com> > wrote: >> >> > >> >> I am not sure on what basis user can set such parameters, it will be >> quite difficult to tune those parameters. I think the point is >> whatever threshold we keep, once that is crossed, it will perform two >> scans for all the indexes. > > > Well, that applies to even vacuum parameters, no? > I don't know how much we can directly compare the usability of the new parameters you are proposing here to existing parameters. > The general sense I've got > here is that we're ok to push some work in background if it helps the > real-time queries, and I kinda agree with that. > I don't think we can define this work as "some" work, it can be a lot of work depending on the number of indexes. Also, I think for some cases it will generate maintenance work without generating benefit. For example, when there is one index on a table and there are updates for that index column. > Having said that, I see many ways we can improve on this later. Like we can > track somewhere else information about tuples which may have received WARM > updates (I think it will need to be a per-index bitmap or so) and use that > to do WARM chain conversion in a single index pass. > Sure, if we have some way to do it in a single pass or does most of the time in foreground process (like we have some dead marking idea for indexes), then it would have been better. > But this is clearly not > PG 10 material. > I don't see much discussion about this aspect of the patch, so not sure if it is acceptable to increase the cost of vacuum. Now, I don't know if your idea of GUC's make it such that the additional cost will occur seldom and this additional pass has a minimal impact which will make it acceptable. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Implement SortSupport for macaddr data type
- f90d23d0c518 10.0 cited
-
Simplify check of modified attributes in heap_update
- 2fd8685e7fd9 10.0 landed
-
Remove direct uses of ItemPointer.{ip_blkid,ip_posid}
- ce96ce60ca22 10.0 landed
-
Fix CatalogTupleInsert/Update abstraction for case of shared indstate.
- aedd554f84bb 10.0 landed
-
Provide CatalogTupleDelete() as a wrapper around simple_heap_delete().
- ab02896510e2 10.0 landed
-
Band-aid fix for incorrect use of view options as StdRdOptions.
- e3e66d8a9813 10.0 cited
-
Update visibility map in the second phase of vacuum.
- fdf9e21196a6 9.3.0 cited
-
Avoid having two copies of the HOT-chain search logic.
- 4da99ea4231e 9.2.0 cited
-
Postgres95 1.01 Distribution - Virgin Sources
- d31084e9d111 7.1.1 cited