| Ordered ingest · partition key → shard | shard (hash-key ranges) | an ordering key (per-key order preserved; no fixed addressable shard count) | partition (the layer replicates Kinesis’s hash-key partitioner) | partition (the layer replicates Kinesis’s hash-key partitioner) | partition (the layer replicates Kinesis’s hash-key partitioner) | partition (the layer replicates Kinesis’s hash-key partitioner) |
| Sequence numbers · replay position | native | generated in order within each ordering key; replay can seek to a timestamp or snapshot, not an exact message offset | synthesized, per-shard monotonic, decode to a seek position | synthesized, per-shard monotonic, decode to a seek position | synthesized, per-shard monotonic, decode to a seek position | synthesized, per-shard monotonic, decode to a seek position |
| KCL checkpointing · consumer position | DynamoDB lease table | Pub/Sub subscription acks (not consumer-group offsets) + a co-deployed DynamoDB adapter for the KCL lease table | target consumer-group offsets + a co-deployed DynamoDB adapter for the lease table | target consumer-group offsets + a co-deployed DynamoDB adapter for the lease table | target consumer-group offsets + a co-deployed DynamoDB adapter for the lease table | target consumer-group offsets + a co-deployed DynamoDB adapter for the lease table |
| Retention | 24 h - 365 d | up to Pub/Sub’s ~31-day cap, short of Kinesis’s 365 days | up to Kinesis’s 365-day ceiling (broker retention.ms; storage cost is the broker’s) | up to Kinesis’s 365-day ceiling (broker retention.ms; storage cost is the broker’s) | up to Event Hubs’s ceiling (~90 days on Premium/Dedicated), short of Kinesis’s 365 days | OCI Streaming’s managed retention window (under OCI quotas) |
| Resharding | Yes | No - no analog; Pub/Sub auto-scales, out of scope | Partial - add partitions (UpdateShardCount up); split/merge/reduce out of scope | Partial - add partitions (UpdateShardCount up); split/merge/reduce out of scope | Partial - add partitions (UpdateShardCount up); split/merge/reduce out of scope | Partial - add partitions (UpdateShardCount up); split/merge/reduce out of scope |
| Enhanced fan-out | Yes | Yes - a Pub/Sub subscription per consumer, each receiving its own copy of the stream | Partial - a consumer group per enhanced-fan-out consumer; dedicated-throughput SLA becomes broker-limited | Partial - a consumer group per enhanced-fan-out consumer; dedicated-throughput SLA becomes broker-limited | Partial - a consumer group per enhanced-fan-out consumer; dedicated-throughput SLA becomes broker-limited | Partial - a consumer group per enhanced-fan-out consumer; dedicated-throughput SLA becomes broker-limited |
| API coverage | full | high | high | high | high | high |