[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-general
Subject:    Re: Database Scalability
From:       Ben Chobot <bench () silentmedia ! com>
Date:       2021-11-30 18:13:18
Message-ID: 71ee08fc-200b-e9de-f597-d0f6f7da6675 () silentmedia ! com
[Download RAW message or body]

Saurav Sarkar wrote on 11/29/21 10:13 PM:
> Hi All,
>
> We have some multi-tenant solutions which are separating the tenant 
> data in Postgresql mainly in the following manner.
>
> 1. Using different  schemas
> 2. Using different tables for different tenants.

Without more details it's impossible to give you a detailed answer, so, 
in general.... if you are breaking out your client data by schema, you 
will likely be fine. We have used this method with great success to 
scale our customer workload - each customer gets their own schema, which 
we can then rebalance between databases as those clients drive more load 
over time. For those tables that we want partitioned, we simply 
partition them in every schema. That's arguably inefficient but we find 
the schema consistency to be an overall win.

(For context, when I say we have used this method with great success, we 
have over 13k customers, almost a PB of data, peak around 1.5M iops, and 
it's all painless to operate.)

[Attachment #3 (text/html)]

<html theme="default-light" iconset="color"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head><body text="#000000"><span>Saurav Sarkar wrote on 11/29/21 10:13 
PM:</span><br>
<blockquote type="cite" 
cite="mid:CAP+kwAU+HoYSS_WwDa17jww6sDTSQmugs9dU=PYo1D8VN-7etQ@mail.gmail.com">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <div dir="ltr">Hi All,<div><br></div>We have some multi-tenant 
solutions which are separating the tenant data in Postgresql mainly in 
the following manner. <div><br></div><div>1. Using different schemas</div><div>2.
 Using different tables for different tenants.</div></div>
</blockquote>
<br>
Without more details it's impossible to give you a detailed answer, so, <span
 style="font-style: italic;">in general</span>.... if you are breaking 
out your client data by schema, you will likely be fine. We have used 
this method with great success to scale our customer workload - each 
customer gets their own schema, which we can then rebalance between 
databases as those clients drive more load over time. For those tables 
that we want partitioned, we simply partition them in every schema. 
That's arguably inefficient but we find the schema consistency to be an 
overall win.<br>
<br>
(For context, when I say we have used this method with great success, we
 have over 13k customers, almost a PB of data, peak around 1.5M iops, 
and it's all painless to operate.)<br>
</body></html>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic