# Two-shape checklist — CDC into S3 Tables

Use with [CDC into S3 Tables](https://www.factualminds.com/blog/cdc-into-s3-tables-lakehouse/). One source table. One shape. Do not run both.

Shape A is Glue Zero-ETL into S3 Tables only for a source the Glue page allows to target S3 Tables (DynamoDB, Oracle at AWS, listed SaaS). Self-managed databases are Redshift-only. Shape B is DMS CDC to S3, then a Glue MERGE that applies deletes.

| Check | Answer |
| --- | --- |
| Source table | |
| Source class | |
| Shape A legal? If no, do not open a Zero-ETL integration to S3 Tables | |
| Shape chosen (A or B) | |
| Second mover on this table (must be none) | |
| Shape B only: per-table files, or transaction files with operation `I` / `U` / `D` | |
| Delete test: key removed in the source is absent from the S3 Table query | |
| Schema test: one added column is added on purpose or the job fails on purpose | |
| Append-only sink rejected (yes / no) | |

## Fail the design when

- The sink stores operation `D` as another inserted row.
- The plan for deletes is "compaction will clean it up."
- Shape A is specified for self-managed PostgreSQL, MySQL, Oracle, or SQL Server into S3 Tables.
- A nightly full copy is the only incremental story.

Compaction, Aurora cutover, and Glue 5 DDL stay on their own articles. Do not write a terabyte estimate here.
