Re: database size growing continously - Mailing list pgsql-performance

From Greg Stark
Subject Re: database size growing continously
Date
Msg-id 407d949e0910301301l4c4a9114gd7f38caa8791ccbe@mail.gmail.com
Whole thread Raw
In response to Re: database size growing continously  (Anj Adu <fotographs@gmail.com>)
Responses Re: database size growing continously  (Anj Adu <fotographs@gmail.com>)
Re: database size growing continously  (Jeremy Harris <jgh@wizmail.org>)
List pgsql-performance
On Fri, Oct 30, 2009 at 12:53 PM, Anj Adu <fotographs@gmail.com> wrote:
> Any relational database worth its salt has partitioning for a reason.
>
> 1. Maintenance.  You will need to delete data at some
> point.(cleanup)...Partitions are the only way to do it effectively.

This is true and it's unavoidably a manual process. The database will
not know what segments of the data you intend to load and unload en
masse.

> 2. Performance.  Partitioning offer a way to query smaller slices of
> data automatically (i.e the query optimizer will choose the partition
> for you) ...very large tables are a no-no in any relational
> database.(sheer size has limitations)

This I dispute. Databases are designed to be scalable and very large
tables should perform just as well as smaller tables.

Where partitions win for performance is when you know something about
how your data is accessed and you can optimize the access by
partitioning along the same keys. For example if you're doing a
sequential scan of just one partition or doing a merge join of two
equivalently partitioned tables and the partitions can be sorted in
memory.

However in these cases it is possible the database will become more
intelligent and be able to achieve the same performance gains
automatically. Bitmap index scans should perform comparably to the
sequential scan of individual partitions for example.

--
greg

pgsql-performance by date:

Previous
From: Anj Adu
Date:
Subject: Re: database size growing continously
Next
From: Anj Adu
Date:
Subject: Re: database size growing continously