Re: Need help in database design

From: Divyansh Gupta JNsThMAudy <ag1567827(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Need help in database design
Date: 2024-12-23 17:01:11
Message-ID: CAHesJ5JLzhHiGSBSkJZ7x7rGgHeeByP=wWk1D5GG=x8cJ5YY6Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Sure , for example, I have 50 key with name as t1 , t2 ,t3 .......t50

Now each key could have values from 0 to 3

So let suppose we have JSONB like that for row r1

{

t1: 1

t2: 2

t3 : 3

}

As if I convert it into columns so r1 will have

t1 column will contain 1

t2 column will contain 2

...... So on

So here my question is considering one JSONB column is perfect or
considering 50 columns will be more optimised.

On Mon, 23 Dec 2024, 10:24 pm Adrian Klaver, <adrian(dot)klaver(at)aklaver(dot)com>
wrote:

> On 12/23/24 08:46, Divyansh Gupta JNsThMAudy wrote:
> > Also as you ask how 50 pairs turns into 50 column so each column will be
> > a key and the value of that key will store inside their respective
> > column for each row
>
> My problem with understanding this is 50 pairs = 100 values, I don't
> understand how that can fit in 50 columns that can only handle 1 value
> each. You need to provide some example data showing what you want to
> achieve. It does not need to be the full 50, just something to show the
> process.
>
>
> >
> >
> > On Mon, 23 Dec 2024, 10:14 pm Divyansh Gupta JNsThMAudy,
> > <ag1567827(at)gmail(dot)com <mailto:ag1567827(at)gmail(dot)com>> wrote:
> >
> > As per the discussion with other team members they suggested if we
> > store 50 values for keys in an individual column that will provide
> > better performance as the data type is native (INT2) on the other
> > hand if we store all the key value pair in a single JSONB column the
> > performance will degrade even after applying a GIN index on that
> > however the statement sounds funny but I want to take everyone
> openion?
> >
> >
> > On Mon, 23 Dec 2024, 10:05 pm Adrian Klaver,
> > <adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>>
> wrote:
> >
> > On 12/23/24 07:53, Divyansh Gupta JNsThMAudy wrote:
> > > Hii Community,
> > >
> > > I need to provide a support for some functionality for my
> > application
> > > for that I need to store 50 key value pair set, so I am in a
> > dilemma,
> > > weather I create 50 new columns of int2 data type each column
> > will
> >
> > This is unclear, I am trying to figure out you go from '50 key
> > value
> > pair set' to '50 new columns of int2'.
> >
> > In other words how 50 pairs turn into 50 columns?
> >
> > Then there is the question of why 50 keys per row in the first
> > place?
> >
> >
> > > contain value of a specific key or should I go with JSONB
> > data type with
> > > 50 key value pair, the table on which I am going to do that
> > all contains
> > > 1 Billion rows of data and have 84 hash partitions, I have
> > gone through
> > > multiple articles some of them mentioned it's a good approach
> > to create
> > > 50 new columns and some states that creating one JSONB would
> > be best
> > > that's why I need your help to move forward, also I am ready
> > to make
> > > H-Store instead of JSONB if it provides better performance.
> > > Please help me to comes out from that dilemma.
> > >
> > > Regards,
> > > Divyansh Gupta,
> > > Database Administrator
> >
> > --
> > Adrian Klaver
> > adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>
> >
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Johnson 2024-12-23 17:05:05 Re: Need help in database design
Previous Message Adrian Klaver 2024-12-23 16:59:11 Re: Need help in database design