PostgreSQL Çok Kullanıcılı Veritabanı Tasarlama

From: Metin Guler <eng(dot)metin(at)gmail(dot)com>
To: "pgsql-tr-genel(at)postgresql(dot)org" <pgsql-tr-genel(at)postgresql(dot)org>
Subject: PostgreSQL Çok Kullanıcılı Veritabanı Tasarlama
Date: 2016-04-22 14:56:28
Message-ID: 571A3B9C.10007@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

Merhabalar,

Üzerinde çalıştığım bir web SPA projesi için PostgreSQL kullanmayı
başladık. Çoklu kullanıcı desteği için ilk yaptığımız tek bir veritabanı
oluşturup bir 'user_id' kolonu ile kullanıcıları ayırmak oldu. Yalnız
kafama takılan bir kaç durum var.

1. Proje aktif kullanılmaya başlandiktan belirli bir süre sonra 2000
kullanıcı için 100 milyon satırı geçen tablolar olabilir. Bu kadar
kullanıcının aynı tabloya erişimi performans konusunda tedirgin ediyor.
2. Kullanıcıların veritabanları mantıksal olarak birbirinden tamamen
izole olduğu için aynı tabloda tutulmaları gibi bir gereklilik yok. Buda
1. maddeyi bizim için biraz daha rahatsız edici kılıyor.
3. Ayrı veritabanında tutmakta kullanıcıya verilen desteği daha kolay ve
risksiz kılıyor.

Bu durumda yapılabilecek çözümlerden biri uygulamayı tek kullanıcılı
yapıp, her kullanıcı için docker gibi bir araçla buluta deploy etmek
olurdu. Yalnız uygulama bize verilecek serverda tutulmak zorunda.

PostgreSQL de çoklu veritabanı yapmak performanslı ve mantıklı
görünmüyor. Hem database güncellemeleri ve bakımı sebebiyle, hemde
nodejs server'ın sürekli farklı database değiştirirken yaşayacağı
performans problemleri.

Veritabanın küçük bir kısımını yaptığımız için database
değiştirebiliriz. Belki CouchDB gibi doğal olarak database per user
şeklinde çalışan bir döküman tabanlı bir sistemde kullanılabilir. Yalnız
tutulacak veriler ilişkisel durumda, ağaç (b-tree) şeklinde tasarlamak
ne kadar uygun bilemiyorum.

Burada öncelikle merak ettiğim şu anki postressql senaryonusunun uygun
olup olmadığı. Yazdıklarım içinde kaçırdığım veya bilmediğim bir nokta
varsa, veya daha iyi bir öneriniz varsa çok memnun olurum.

İyi çalışmalar,
Metin Güler.

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe ve unsubscribe komutlarn
majordomo(at)postgresql(dot)org

Responses

Browse pgsql-tr-genel by date

  From Date Subject
Next Message N. Can KIRIK 2016-04-22 16:04:03 Re: [pgsql-tr-genel] PostgreSQL Çok Kullanıcılı Veritabanı Tasarlama
Previous Message Gökmen Kımırtı 2016-03-31 08:24:37 Re: [pgsql-tr-genel] Postgres de like in sorgusu nasıl yapılır ?