Большой документ или множество документов

Просто хотелось высказать свое мнение или, по крайней мере, эмпирическое правило, которое лучше в структуре базы данных для CouchDB. Что лучше: иметь все связанные данные для элемента в одном документе или иметь части всех элементов во многих документах?

Позвольте мне проиллюстрировать, что я имею в виду, на примере. В настоящее время я регистрирую 4 события из нашей системы с интервалом в 1 минуту, позвольте называть их event_1, event_2, event_3 и even_4. Данные сохраняются для каждого из 4 событий, независимо от значения (вы всегда получите значение, даже если все в порядке).

Вариант 1: Сгруппируйте события и добавьте новую временную метку / значения в документ ...

{
    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

Вариант 2: Хранить огромный список документов с последними значениями (именно так они фактически доставляются из системы)?

{
    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

В настоящее время я использую второй вариант, но было просто любопытно узнать мнения людей о том, что можно было бы считать передовой практикой ... Я начинаю думать, что вариант 1 может быть лучше, поскольку в моем сообщении результаты сгруппированы по событию (показано на линейном графике каждого события ).

11
задан Flimzy 3 April 2017 в 18:34
поделиться