Oturumla ilgili bilgileri depolamak için Cassandra'yı kullanmak istiyorum. Gerçek bir HTTP oturumum yok - bu farklı bir protokol değil, aynı konsept.Cassandra ağır yük altında oturum deposu olarak
Memnuniyet iyi olurdu, ancak ek olarak verileri devam ettirmek istiyorum.
Cassandra kurulumu:
- anahtar alanı çoğaltılmış olmayan anahtarı seans numarası ve satır mağaza içinde her bir sütun
- tek sütun aile, tek bir anahtar/değer - (
Map<String,Set<String,String>>
) - kolon TTL = 10 dakika
- yazma CL = BİR
- CL okumak = BİR
- 2.000 yazıyor/sn 012 bir sorun değildir, bu durumda tutarlı olarak
session1:{ // CF row key
{prop1:val1, TTL:10 min},
{prop2:val2, TTL:10 min},
.....
{propXXX:val3, TTL:10 min}
},
session2:{ // CF row key
{prop1:val1, TTL:10 min},
{prop2:val2, TTL:10 min},
},
......
sessionXXXX:{ // CF row key
{prop1:val1, TTL:10 min},
{prop2:val2, TTL:10 min},
}
, ama performans, özellikle disk GÇ olabilir:
veri örneği okur.
Oturumumdaki veriler kısa süre içinde kaldığından, sabit diskte saklamaktan kaçınmak istiyorum - işlem günlüğü dışında. Sütun SSTable onu yıkamadan önce Memtable içinde sona ererse Cassandra zaten SSTable (HDD'ye Sifonu) böyle sütun depolar,
- : bazı sorularım var?
- Anahtar Alanım için çoğaltma devre dışı bırakılmış, bu durumda böyle bir süresi dolmuş sütunu SSTable'ta depolamak gerekli değil, değil mi?
- Her CF şapka maksimum 10 sütun. Böyle bir durumda satır önbelleğini etkinleştirir ve anahtar önbelleğini devre dışı bırakırdım. Ama verilerimin hala Memlekette kullanılabilir olmasını bekliyorum, bu durumda tüm önbelleği devre dışı bırakabilirim, değil mi? Böyle oturum mağaza kullanım durumlarında çok
- Herhangi Cassandra yapılandırma ipuçları gerçekten takdir :)
Teşekkür ederim, Maciej
Verileri sürdürmek istediğinizi söylüyorsunuz, ancak 10 dakika sonra TTL'yi de isteyebilirsiniz. – sdolgy
Bu önemli bir işlemdir ve –