SORU
14 HAZİRAN 2009, Pazar


Sharding nedir ve neden önemlidir?

Kolay bir doğramış veri (parçaları) mantıklı toplama başa koyarak geri dönmek sharding bağlamında anladım. Bu doğru mu?

GüncellemeBurada. mücadele ediyorum sanırım Bence uygulama katmanı iş veri saklanacağı yer belirleme olmalıdır. En iyi ihtimalle bir tür shard istemci olmalıdır. Her ikisi de yanıtları ama neden boy önemli değil ne cevap verdi. Etkileri bariz performans artışı dışında ne var? Bu kazançlar MVC ihlali dengelemek için yeterli mi? Çok büyük ölçekli uygulamalarda çoğunlukla önemli sharding veya daha küçük ölçekli olanlar için geçerli mi?

CEVAP
14 HAZİRAN 2009, Pazar


Sharding sadece "veritabanı." yatay bölme için başka bir isim Bu dönem için daha net almak için aramak isteyebilirsiniz.

Wikipedia:

Yatay bölme veritabanı tablo satır ayrı ayrı sütunlar (normalleştirme) tarafından düzenlenen bölme yerine koyan bir tasarım ilkesidir. Her bölüm sırayla ayrı bir veritabanı sunucusu veya fiziksel konum üzerinde yer alan bir parça, bir parçasını oluşturur. Avantajı her tablo satır (bu dizin boyutunu küçültür, arama geliştirir böylece performans) azalır sayısı. Eğer sharding dayalı bazı gerçek dünya yönü verileri (örneğin, Avrupalı müşteriler vs Amerikalı müşteriler) o zaman olabilir mümkün olduğu sonucuna uygun shard üyelik kolay ve otomatik olarak, ve sorgu sadece ilgili parça.

Bilgi hakkında sharding: biraz daha fazla

İlk olarak, her bir veritabanı sunucusu aynı, aynı tablo yapısına sahip. İkinci olarak, veri kayıtları mantıksal olarak sharded bir veritabanı oluşturuyorsunuz. Bölümlenmiş veritabanı farklı olarak, her tam veri kaydı tek parça Yedekleme/yedekleme için yansıtma var sürece) tüm CRUD işlemleri sadece bu veritabanında yapılan var. Terminolojiyi gibi olmayabilir, ama bu küçük parçalara mantıksal bir veritabanı düzenleme farklı bir şekilde temsil ediyor.

Güncelleme:Ara MVC alışkanlık. Verileri saklamak için yere doğru shard belirleme çalışmalarını şeffaf bir şekilde veri erişim katmanı tarafından yapılacaktı. Oraya doğru shard veritabanı shard için kullanılan ölçütlere göre belirlemek gerekir. (El ile biraz farklı parçaları uygulamanın bazı somut yönleri dayalı veritabanı shard.) Daha sonra veritabanına verileri doğru parçasını kullanmak için yükleme saklarken dikkat çekmek için.

Belki Java kod ile this example Bu gerçek bir dünya senaryoda nasıl olacak biraz daha net (Hibernate Shards ilgili proje) yapar.

Adresine "why sharding": başta sadece çok büyük ölçekli uygulamalar içinçokveri. İlk olarak, veritabanı sorguları için yanıt sürelerini en aza indirmek yardımcı olur. İkinci olarak, "düşük-uç" verileriniz, ana makineler, artık yeterli olan büyük bir server yerine. daha ucuza kullanabilirsiniz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Max Lee

    Max Lee

    18 AĞUSTOS 2006
  • NextKsa

    NextKsa

    7 EKİM 2009
  • Vortez

    Vortez

    27 Temmuz 2009