Re: [pgsql-tr-genel] PostgreSQL şema kullanımı

From: Eren Başak <eren(at)citusdata(dot)com>
To: Zafer Çelenk <zafercelenk(at)gmail(dot)com>, "pgsql-tr-genel(at)postgresql(dot)org" <pgsql-tr-genel(at)postgresql(dot)org>
Subject: Re: [pgsql-tr-genel] PostgreSQL şema kullanımı
Date: 2017-04-19 06:22:35
Message-ID: CAFNTstMcGC7Gc=pg9sc3nefJFEhbo+88nd74YgyQuSBjpatuSQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

Merhaba,

Anladigim kadariyla bu yaklasiminiz ingilizce tabiriyle "multi-tenant"
mimariye biraz yakin [1] [2]. Bu gibi durumlarda tek bir sema, firma/tenant
basina bir sema veya firma/tenant basina bir veritabani gibi modeller
uygulanabiliyor.

Sizin durumunuzda, durum bir pazar yeri gibi oldugu icin firma basina bir
veritabani modeli cok uygun durmuyor. Bunun avantaji, bir firmanin
operasyonlarinin cok yogun olmasi diger firmalari etkliemiyor. Ayrica
firmalara sagladiginiz altyapiya gore fiyatlandirma daha mumkun olabiliyor.

Firma basina sema kullanmak, firma bilgisinin izolasyonu acisindan,
ozellikle firmaya dogrudan veritabanina erisim yetkisi verecekseniz
secilebilir (satir temelli guvenlik kurallari ile de aslinda bunu cozmek
mumkun). Dezavantaji ise, firmalar arasi sorgular calistirmak zor
olacaktir. Ornegin "en cok urunu olan firma", "en cok satis yapan firma"
gibi sorgular zorlasacaktir. Bu gibi durumlarda uygulamanizda veriyi
periyodik olarak baska bir yerde toplayan (roll-up) scriptler yazmaniz
gerekebilir. Firma-musteri iliskileri icin de, hangi firmanin hangi semada
oldugunu tutacaginiz ekstra bir tabloya ihtiyaciniz olacak ve bunu uygulama
katmaninda cozmeniz gerekecektir.

Diger yontem ve en kolay olani da tek bir semada isi halletmek. Bu sayede
ayni veritabani modelini hem gunluk sorgular, hem de analitik sorgular icin
kullanabilirsiniz. Benim de calistigim Citus gibi cozumlerle performans
sorunlari daha sonra yatak olcekleme yontemleriyle cozulebiliyor.

Iyi Calismalar,
Eren

[1] https://en.wikipedia.org/wiki/Multitenancy
[2] https://msdn.microsoft.com/en-us/library/aa479086.aspx
[3] https://docs.citusdata.com/en/v6.1/tutorials/multi-tenant-tutorial.html

On Wed, Apr 19, 2017 at 8:10 AM Zafer Çelenk <zafercelenk(at)gmail(dot)com> wrote:

> Merhaba,
>
> Bir eticaret projesinde veritabanı olarak PostgreSQL kullanmayı
> planlıyorum. Bu sistemde bir çok firma ve müşteri olucak ayrıca bunlar
> birbirleri ile etkileşim içinde olacaklar. Bir nevi pazar yeri mantığı
> olacak.
>
> Bundan dolayı veriyi tek bir veritabanında tutup her bir firmayı şemalar
> üzerinden ayırmak istiyorum. Bu konuda sizin düşünceniz nedir? Şemalar
> böyle bir yaklaşım için uygun mudur?
>
> Böyle bir yapıda ileride yaşanabilecek sorunlar hakkında neler
> söyleyebilirsiniz?
>
> Zafer.
>

In response to

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Devrim Gündüz 2017-05-01 20:13:36 İstanbul'da DBA gereksinimi
Previous Message Zafer Çelenk 2017-04-19 05:10:36 PostgreSQL şema kullanımı