Re: Clustered index to preserve data locality in a multitenant application?

From: Vick Khera <vivek(at)khera(dot)org>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Clustered index to preserve data locality in a multitenant application?
Date: 2016-08-30 17:26:33
Message-ID: CALd+dcce8aMBWcPTbaOJ5a9UssoEGHrt6Jas_esHmntHSR=ozA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Aug 30, 2016 at 7:10 AM, Nicolas Grilly
<nicolas(at)vocationcity(dot)com> wrote:
> Let's say we have a table containing data for 10,000 tenants and 10,000 rows
> per tenant, for a total of 100,000,000 rows. Let's say each 8 KB block
> contains ~10 rows. Let's way we want to compute the sum of an integer column
> for all rows belonging to a given tenant ID.

I'll assume you have an index on the tenant ID. In that case, your
queries will be pretty fast.

On some instances, we have multi-column indexes starting with the
tenant ID, and those are used very effectively as well.

I never worry about data locality.

Depending on your data distribution, you may want to consider table
partitions based on the tenant id. I personally never bother with
that, but split based on some other key in the data.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Nicolas Grilly 2016-08-30 17:51:58 Re: Clustered index to preserve data locality in a multitenant application?
Previous Message Mike Sofen 2016-08-30 16:40:33 Re: UUIDs & Clustered Indexes