L'une des premières choses auxquelles je pense lorsque j'utilise un nouveau service (tel qu'un magasin de données non-RDBMS ou une file de messages) est la suivante : "Comment dois-je structurer mes données ?".
J'ai lu et regardé quelques documents d'introduction. En particulier, prenez, par exemple, Kafka : un système de messagerie distribué pour le traitement des journaux. qui écrit :
- "un Sujet est le conteneur avec lequel les messages sont associés"
- "la plus petite unité de parallélisme est la partition d'un sujet. Cela implique que tous les messages qui ... appartiennent à une partition particulière d'un sujet seront consommés par un consommateur dans un groupe de consommateurs."
Sachant cela, quel serait un bon exemple illustrant l'utilisation des sujets et des partitions ? Quand un élément doit-il être un sujet ? Quand un élément doit-il être une partition ?
A titre d'exemple, disons que mes données (Clojure) ressemblent à :
{: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"}
Le sujet doit-il être basé sur user-id
? viewed
? at
? Et la partition ?
Comment puis-je décider ?