Usually the nature of stream data implies that the data stream is infinite. Therefore storing all data might be complicated. A common approach is to use event sourcing where data is stored in a nosql datastore such as mongodb, cassandra, or hbase. A good overview provides the lambda architecture by Nathan Marz from Twitter http://www.drdobbs.com/database/applying-the-big-data-lambda-architectur/240162604. Quite often a whole class of streaming algorithms are applied to the data stream using fixed memory assumptions without storing the data at all. https://en.wikipedia.org/wiki/Streaming_algorithm