streaming database

Traditional database are used as follows:

  1. Store data
  2. Fetch data (have to keep fetch if you want updates, doesn’t track changes to data)

Streaming database are used as follows:

  1. Register data source
  2. Register queries, these will continually stream results.

So for example we had the following rows of data, which transition overtime:

keyvalue
a1

to

keyvalue
a1
b2

to

keyvalue
a1
b2
c3

Now in traditional database, this will dump data according to above state, it doesn’t return you changes, and we have to poll.

On the other hand, for streaming database, we will immediately get data pushed.

keyvalue
a1

to

keyvalue
b2

to

keyvalue
c3

Datastructures

LSM Tree

B+Tree

Use cases

Real time data analytics

See also

Stream processing vs batch processing Stream data processing