W jakiej strukturze najlepiej byłoby przechowywać dane aplikacji typu komunikator (instant messager), tak by rozwiązanie było możliwie maksymalnie skalowalne?
Jak zaznaczyłem w temacie - skupiam się nad strukturą opartą o Google BigTable.

Załóżmy, że mam tabelę użytkowników, gdzie kluczem wiersza jest identyfikator użytkownika $uid.
Chciałbym by użytkownik - nadawca $n_uid mógł o danej chwili $z_timestamp zapisać w bazie komunikat $msg adresowany do innego użytkownika - adresata $a_uid.
Ponadto, by w momencie $o_timestamp odczytania wiadomości $msg przez jej adresata $a_uid również było to odnotowywane.

Zarówno nadawca $n_uid jak i odbiorca $a_uid powinni mieć łatwy dostęp do danych dotyczących wszystkich swoich (zarówno wysłanych jak i odebranych) wiadomości począwszy od tych najnowszych (tzn gdzie $z_timestamp jest największy) oraz do czasów ich odczytania.