Одне з перших, про що я думаю, коли користуюся новою службою (наприклад, сховищем даних, що не є RDBMS, або чергою повідомлень), є: "Як я повинен структурувати свої дані?".
Я читав і переглядав деякі вступні матеріали. Зокрема, візьмемо, наприклад, Kafka: розподілену систему обміну повідомленнями для обробки журналів , яка пише:
- "Тема - контейнер, з яким пов'язані повідомлення"
- "Найменша одиниця паралелізму - це розділ теми. Це означає, що всі повідомлення, які ... належать до певного розділу теми, споживаються споживачем у групі споживачів".
Знаючи це, що може бути хорошим прикладом, який ілюструє, як використовувати теми та розділи? Коли щось має бути темою? Коли щось має бути перегородкою?
Наприклад, скажімо, що мої дані (Clojure) виглядають так:
{:user-id 101 :viewed "/page1.html" :at #inst "2013-04-12T23:20:50.22Z"}
{:user-id 102 :viewed "/page2.html" :at #inst "2013-04-12T23:20:55.50Z"}
Чи повинна базуватися тема user-id
? viewed
? at
? Що з розділом?
Як прийняти рішення?