Sadece CouchDB için bir veritabanı yapısında daha iyi olan bir fikir veya en azından bir başparmak kuralı istedi. Tek bir belgede bir öğeyle ilgili tüm verilerin bulunması veya birçok belgenin tüm bölümlerinin bir kısmının bulunması daha mı iyi?Büyük belge vs birçok doküman
Size örnek vererek ne demek istediğimi göstereyim. Şu anda sistemimizden 4 olay kaydettim, 1 dakika aralıklarla onları event_1, event_2, event_3 ve even_4 olarak adlandırıyoruz. Veriler, değer ne olursa olsun, her 4 olay için saklanır (her şey yolunda olsa bile her zaman bir değer elde edersiniz).
Seçenek 1: Grup etkinlikleri ve belgeye yeni zaman damgası/değerler eklemek ...
{
event_1: [
{ timestamp, value },
{ timestamp, value },
{ timestamp, value },
...etc
]
},
{
event_2: [
{ timestamp, value },
{ timestamp, value },
{ timestamp, value },
...etc
]
},
{
event_3: [
{ timestamp, value },
{ timestamp, value },
{ timestamp, value },
...etc
]
}
...etc
Seçenek 2: olan (en son değerlerle, belgelerin büyük bir listesini tutun sistemden nasıl teslim edilirler?
{
timestamp: {
{ event_1, value },
{ event_2, value },
{ event_3, value },
{ event_4, value }
}
},
{
timestamp: {
{ event_1, value },
{ event_2, value },
{ event_3, value },
{ event_4, value }
}
},
{
timestamp: {
{ event_1, value },
{ event_2, value },
{ event_3, value },
{ event_4, value }
}
}
...etc
Şu anda yolu olarak, 2 seçeneğini kullanarak, ancak en iyi uygulama düşünülebilir ne ... O Seçenek 1 daha iyi olabilir düşünmeye başlıyorum üzerinde halkları görüşler görmek için sadece merak ediyorum
Rapor ediyorum, sonuçlar etkinlikle gruplandırılır (her olayın çizgi grafiğinde gösterilir). CouchDB tüm dokümanları revizyonları tutar yana
@phlogratos, iyi nokta! Bunu henüz düşünmemiştim ... – crawf
@phlogratos açıklığa kavuşturmak için, CouchDB sadece bir sıkıştırmanın çalışmasına kadar bir belgenin eski revizyonlarına dayanıyor. –
+1. CouchDB komiseri Chris Anderson, "CouchDB uzun listelerden değil, yağ listelerinden hoşlanıyor" diyor. Dokümanlarınızı bir satırda, bir metin dosyasında düşünün. Çok az sayıda belgeye sahip olmak bir şişman liste olacaktır. Çok küçük belgelere sahip olmak uzun bir liste olacaktır. – JasonSmith