AR
2) content_id 10 байт это сильно
3) date 4 байта тоже можено перепаковать, если очень захочется в 2 байта
хз сколько у вас юзеров и контента, но полагаю, что 4+4 байта вполне бы хватило. и того на все 10 байт, которые за сутки настучат 8 гигов на запись. Т.е. даже если прибавить оверхед структур данных в любой из баз - ну пусть 16 гигов в сутки.
хранить это можно приблизительно как угодно, хоть в своем демоне, хоть в редисе, хоть в посгре в unlogged таблице. хоть как. я ведь так понимаю, информация о прочтении - не самая ценная информация и может полежать в оперативе?
мы использовали вот такую штуку, когда очень надо было на запись и не очень на чтение
https://github.com/yinqiwen/ardb