2015-07-30 18 views
5

Müşteriler listesini saklayacak bir Cassandra Müşteriler masam var. Her müşteri standart alanların bir listesi bir adresi var:Cassandra kullanıcı tanımlı veri türleri performans açısından öneriliyor mu?

{ 
    CustomerName: "", 
    etc..., 
    Address: { 
       street: "", 
       city: "", 
       province: "", 
       etc... 
      } 
} 

ben bu tabloda bir milyon müşteriye varsa Sorum ve ben her müşteriler için adres bilgilerini tutmak için bir kullanıcı tanımlı veri türü Adres kullanmak Müşteriler tablosu, bu tür bir modelin özellikle disk alanı açısından ne gibi etkileri vardır. Bu çok mu pahalı olacak? Adres kullanıcı tanımlı veri tipini kullanmalı mıyım yoksa adres bilgisini düzleştirmeli mi, hatta ayrı bir tablo mu kullanmalıyım?

cevap

3

Temel olarak bu durumda, Cassandra'nın adres örneklerini, müşteri tablonuzun bir parçası olarak tek bir sütun olarak depolanan bir bloğa seri hale getirmesidir. Serileştirmenin disk veya cpu kullanımı üzerine ne kadar üst üste koyacağına dair elimde hiç bir sayı yok, ama muhtemelen kullanım durumunuz için büyük bir fark yaratmayacak. Her iki durumda da emin olmak için test etmelisiniz.

Düzenleme: Ben de bahsetmeliydik başka yönü: Tek lekeler olarak ele UDT'ler güncellemeler için komple UDT yerine ima edecek. Bu, tek tek sütunları güncellemekten daha az verimli olacaktır ve tutarsızlıklar için potansiyel bir nedendir. Eşzamanlı güncellemeler durumunda, her iki yazı da birbirinin üzerine yazılabilir. Bakınız CASSANDRA-7423.

İlgili konular