how fast does your db grow?
i tried to keep track of shares with couchdb, but i threw it at away after i realized that after only ten minutes it was about 3 mb.
We don't store each individual share. That would be wayyy too much data

One reason proportional is nice is because it's so very easy to implement. You just need to store a shares count per user and round. ESMPPS has additional data storage needs, but still doesn't require storing every share.
FYI, the thing that ends up taking the most amount of data for us is actually the samples we use to estimate your miner hashrates. Good rate estimates require lots of samples
