Not sure why you are comparing Google Cloud Pub&#x2F;Sub to Kinesis - the former is a MQ system, not a distributed commit log.<p>When creating a Kinesis consumer, I can specify whether I want to start reading a stream from a) TRIM_HORIZON (which is the earliest events in the stream which haven&#x27;t yet been expired aka &quot;trimmed&quot;), b) LATEST which is the Cloud Pub&#x2F;Sub capability, c) AT_SEQUENCE_NUMBER {x} which means from the event in the stream with the given offset ID, d) AFTER_SEQUENCE_NUMBER {x} which is the event immediately after c), e) AT_TIMESTAMP to read records from an arbitrary point in time.<p>A Kinesis stream (like a Kafka topic) is a very special form of database - it exists independently of any consumers. By contrast, with Google Cloud Pub&#x2F;Sub [1]:<p>&gt; When you create a subscription, the system establishes a sync point. That is, your subscriber is guaranteed to receive any message published after this point.<p>[1] <a href="https:&#x2F;&#x2F;cloud.google.com&#x2F;pubsub&#x2F;subscriber" rel="nofollow">https:&#x2F;&#x2F;cloud.google.com&#x2F;pubsub&#x2F;subscriber</a><p>So the stream is not a first class entity in Cloud Pub&#x2F;Sub - it&#x27;s just a consumer-tied message queue.