We can increase certain limits if user feedback suggests they are too restrictive.

Basins

Each account can create up to 100 basins.

You can pick a delimiter such as / for namespacing streams within a basin. Streams can be listed with prefix filtering!

Records

  • Each record may be up to 1 MiB in metered bytes.
  • Batches may contain up to 1000 records, and cumulatively total up to 1 MiB in metered bytes.

S2 uses the following formula for metering record size:

metered_bytes = lambda record: 8 + 2 * len(record.headers) \
  + sum((len(name) + len(value)) for (name, value) in record.headers) \
  + len(record.body)

Appends

  • 125 MiBps per stream.
  • 200 batches per second per stream per client connection.

Reads

MiBps and Hz to read records older than the last 20 seconds.

Temporary limits when reading records written within last 20 seconds:

  • 500 MiBps per stream.
  • 10 concurrent readers per stream.

Retention

Records may stay visible for a brief period after their retention window expires, typically on the order of minutes.

Temporary limit for preview period: maximum retention of 28 days.

Reconfiguration

Storage class changes (i.e. from Standard to Express, or vice versa) only take effect when a stream has been inactive for up to 10 minutes. This will become a live migration in future.