SORU
16 AĞUSTOS 2008, CUMARTESİ


HER istemci için tek bir veritabanı kullanmanın avantajları nelerdir?

Birden fazla müşteri için tasarlanmış bir veritabanı merkezli bir uygulama olarak, her zaman "TÜM istemciler için tek bir veritabanı - doğru dizinleri kayıtlarıyla ilişkilendirerek kullanmak ve anahtarları." daha iyi olduğunu düşünmüşümdür hep Yığın Taşması podcast dinlemek, Joel FogBugz müşteri başına bir veritabanı varsa 1000 müşterisi varsa, 1000 veritabanları olacak şekilde) kullandığı bir söz duydum. Bu mimari kullanmanın avantajları nelerdir?

Bazı projeler için, müşterilerine tüm verileri doğrudan erişim - böyle bir uygulamada, her müşteri kendi veritabanı ihtiyacı olduğu apaçık ortada anlıyorum. Ancak, bir istemci veritabanına erişmek için doğrudan ihtiyacı olmayan projeler için, Müşteri başına bir veritabanı kullanarak herhangi bir avantaj var mı? Esneklik açısından, çok daha basit tablolar tek bir kopyasını tek bir veritabanı kullanmak gibi görünüyor. Daha yeni özellikler eklemek için kolay raporları oluşturmak ve yönetmek için daha kolay.

Ben gayet kendinden emin "bir veritabanı için tüm istemciler" yöntemi kadar duydum Joel (deneyimli geliştirici) söz onun yazılımı kullanan farklı bir yaklaşım ... ben de biraz kafası karışık onun kararı...

İnsanlar veritabanları kayıtları ile çok sayıda yavaşlatan alıntı duydum, ama bazı hak ile herhangi bir ilişkisel veritabanı özellikle uygun dizinleri ve kullanılırsa bu sorun var gitmiyor.

Herhangi bir giriş büyük takdir!

CEVAP
16 AĞUSTOS 2008, CUMARTESİ


Varsayalım bir veritabanındaki tüm müşterilerine saklamak için Ölçekleme ceza yok; çoğu insan için, ve iyi yapılandırılmış veritabanları, sorgular, bu oldukça gerçek bu gün olacak. Eğer bu insanlardan biri iseniz, o zaman tek bir veritabanı yararı açıktır.

Bu durumda, yararları, her müşterinin saklama. Kod bakıldığında, her istemci izolasyon - veritabanı güncellemesi, bozuk üzerine almak veya verileri başka bir müşteriye ait değiştirebilir Olası durum var hayır var. Bu da hiç kayıtları, başka bir müşteriye ait olabilir gerçeğini göz önünde bulundurmak gerek yok gibi modeli basitleştirir.

Ayrıca ayrışımı faydaları - önemsiz verileri belirli bir istemci ile ilişkili çekin ve farklı bir sunucuya taşıyabilirsiniz. Ya bu ara ne zaman bir istemci yedeği geri yükle "bazı temel veri silinmiş ettik",! yerleşik veritabanı mekanizmaları kullanarak.

Kolay ve ücretsiz hareketlilik server - eğer bir veritabanı sunucusu outscale, sadece başka bir sunucuda yeni müşteriler barındırabilir. Eğer bir veritabanı varsa, ya beefier donanım olsun, ya da birden fazla makine üzerinde veritabanı çalıştırmak gerek.

Almak kolay sürüm - eğer bir müşteri istediği için kalmak yazılım sürüm 1.0 ve başka bir 2.0 istiyor, nerede 1.0 ve 2.0 kullanımı farklı veritabanı şemaları, sorun yok - göç olmadan sahip çıksınlar dışarı bir veritabanı.

Birkaç düzine daha düşünebilirim sanırım. Ama en önemlisi, anahtar kavram "". basitlik Ürün bir müşteri, ve böylece bir veritabanı yönetir. Asla "Ama veritabanı da diğer müşteriler" sorunu. içerdiği herhangi bir karmaşıklık var Yalnız bulunmaları durumunda kullanıcı, zihinsel modele uyuyor. Tüm istemciler kolay raporlama yapmak için güçlü bir seferde olmak gibi avantajları, minimal - ne kadar sıklıkla sadece bir müşteri yerine tüm dünya üzerinde bir rapor istiyor musunuz?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • Samvith V Rao

    Samvith V Ra

    20 EKİM 2006
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014