Thanks for a great article!
I just wonder where to store the post Likes counter. The post data can be scattered all over the place (like in a users timeline etc.) so should you store it in one place (/likesCounter/<post_id>/likes = 0) so you only need to update that one place whenever a user likes/unlikes an post and have one extra read query each time a post shows,
or should you update a likes counter inside the postData for every single place the post exists whenever a user likes a post? (which would be lots of writes in case someone has a lot of followers where lots of likes/dislikes could trigger millions of fanout writes)
I guess the same answer will apply to a posts comments counter as well :)