[]

database sorusu

Selamlar,

bi proje üzerinde çalışıyoruz, bi noktada takıldık.

cloud apartment yönetim sistemi satacağız diyelim. Her apartmanda 10 daire, daire başına 1 kullanıcı var diyelim ve 100 tane farklı apartman var. bu durumda 100 farklı veritabanı mı oluşturmamız gerekiyor ? Bunların yönetimi nasıl olur ?

 
hepsi için ayrı tablo oluşturup birbirine bağlasanız?


  • golgi aygıtı  (28.12.17 23:44:21 ~ 23:44:38) 
@golgi aygıtı

zaten her daire için yaklaşık 200 tablo olacak.
  • facebook  (28.12.17 23:51:33) 
şu an nasıl bir veri saklamayı planlıyorsunuz ki her daireye 200 tablo ihtiyaç duyuyorsunuz açıklaman gerekiyor.

tek veritabanı da olabilir, her apt. için de. burada sizin uygulamayı veya ne kadar veriyi nasıl saklayacağınızı (kısaca veri modelini) bilmeden "şöyle ypamak doğru" demek zor.
  • celeron 300a  (28.12.17 23:59:08 ~ 29.12.17 00:01:05) 
cloud tabanli bir hizmet sunacaksaniz bu saas modelinde multi tenant bir mimariye karsilik geliyor diyebiliriz.
Veritabani konusunda uc genel yaklasim var diyebiliriz. Sorunun cevabi da biraz sizin stratejinizle alakali.

1-) Bir tane vertabani instance'a sahip olursunuz ve tum top level master tablolara ClientID verip musterileri birbirinden izole edebilirsiniz. Eger ayni anda farkli musterilere farkli uygulama versiyonlari, ozellikler sunacaksaniz bu model uzun vadede isinize yaramaz.

2-)Baseline olarak bir veratabani tasarimi yapip her yeni gelen musteri icin manuel veya docker benzeri bir containeri otomate ederek on demand deployment yapabilirsiniz. Yani her musteri icin bir veritabani instance olur. Bu senaryonda ilerde musteri birlestirme veya farkli durumlar icin haricten bir adet katalog veritabani tutmaniz tavsiye edilir.

3-) Son olarak shared multi tenant diye bir yaklasim daha var. Bu durumda daha karmasik ancak esnek bir yapi kurabiliyorsunuz. Veritabani lisans vb maliyerleriniz duserken, deployment zorlugunuz artiyor.

Asagidaki makalelere gozatmanizi oneririm:
docs.microsoft.com

Bu makalede ise her bir baslik icin Entity Framework ile yapilmis github ornekleri de var. Mutlaka gozatin derim.
azure.microsoft.com
  • mononoke  (29.12.17 00:22:25) 
apartmanlara bi tablo
dairelere bi tablo (içinde apartman id'sinin olacağı bi alan ile)
kullanıcılara bi tablo (en basidinden apartman ve daire id'lerinin olacağı birer alan ile)

sonra da bunları eşleyerek (left join vs.) ilerleyebilirsiniz.
  • yuto  (29.12.17 04:01:59) 
200 tablo çok fazla, mutlaka bir yerde yanlış yapıyorsunuz.

İlişkisel veritabanı nedir öncelikle oradan başlayın, veriyi modellemediğiniz için her şeye ayrı tablo açıyorsunuz. Aslında buna gerek yok.
  • hayirsiz  (29.12.17 08:09:56 ~ 08:11:02) 
ben apartman yönetimini örnek olarak verdim, gerçek projede 200den fazla tablo var.


  • facebook  (29.12.17 20:23:46) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.