On adaptivity and randomness for streaming algorithms