I was curious if I compress my data on the client side with Snappy whether there's any difference between doing that and doing it on the server side?  The wiki said that compression works best where each row has the same columns.  Does this mean the compression will be more efficient on the server side since it can look at multiple rows at once instead of only the row being inserted?  The reason I was thinking about possibly doing it client side was that it would save CPU on the datastore machine.  However, does this matter?  Is CPU typically the bottleneck on a machine or is it some other resource? (of course this will vary for each person, but wondering if there's a rule of thumb.  I'm making a web app, which hopefully will store about 5TB of data and have 10s of millions of page views per month)