# Synthesizers

The SDV offers a variety of synthesizers, which use different algorithms to generate synthetic data.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>＊</strong><a href="/pages/HDMBGrggfo56eVqshTRh"><strong>Day Z Synthesizer</strong></a></td><td>Generate synthetic data from scratch using only the metadata. This synthesizer produces multi table data with the correct formatting and referential integrity. </td><td><a href="/pages/HDMBGrggfo56eVqshTRh">/pages/HDMBGrggfo56eVqshTRh</a></td></tr><tr><td>＊ <a href="/pages/YUCMzSVwbgmfdq2c9QqP"><strong>Independent Synthesizer</strong></a></td><td>Use various ML algorithms to model each table independently. This synthesizer offers the fastest performance for unlimited tables.</td><td><a href="/pages/YUCMzSVwbgmfdq2c9QqP">/pages/YUCMzSVwbgmfdq2c9QqP</a></td></tr><tr><td><a href="/pages/bRhGmIiCgxBk2iQklerp"><strong>HMA Synthesizer</strong></a></td><td>Use a hierarchical ML algorithm to learn from real data and generate synthetic data. Produce data for limited columns in up to 5 tables with a depth of 1.</td><td><a href="/pages/bRhGmIiCgxBk2iQklerp">/pages/bRhGmIiCgxBk2iQklerp</a></td></tr><tr><td><strong>＊</strong><a href="/pages/OszFIlV96zb7HANgnWj6"><strong>HSA Synthesizer</strong></a></td><td>Use a segment-based ML algorithm to learn from real data and generate synthetic data. This synthesizer offers fast performance for unlimited tables.</td><td><a href="/pages/OszFIlV96zb7HANgnWj6">/pages/OszFIlV96zb7HANgnWj6</a></td></tr></tbody></table>

## Which synthesizer should I use?

Use the table below to determine the right synthesizer for your needs.

<table data-full-width="true"><thead><tr><th width="283">Feature</th><th width="121" align="center">＊ Day Z</th><th width="164" align="center">＊ Independent</th><th align="center">HMA</th><th align="center">＊ HSA</th></tr></thead><tbody><tr><td>Synthesize with only metadata</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>Add constraints</td><td align="center"></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td>Anonymize columns</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td>Maintain <a data-footnote-ref href="#user-content-fn-1">referential integrity</a></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td>Learn <a data-footnote-ref href="#user-content-fn-2">intra-table patterns</a></td><td align="center"></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td>Learn <a data-footnote-ref href="#user-content-fn-3">inter-table patterns</a></td><td align="center"></td><td align="center"></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td>Learn <a data-footnote-ref href="#user-content-fn-4">cardinality</a></td><td align="center"></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td><a data-footnote-ref href="#user-content-fn-5">Scalability</a></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td align="center"></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td></tr><tr><td>Availability</td><td align="center">Enterprise</td><td align="center">Enterprise</td><td align="center">Public</td><td align="center">Enterprise</td></tr></tbody></table>

*＊SDV Enterprise Features.* *These features are only available for licensed, enterprise users. To learn more about the SDV Enterprise features and purchasing a license,* [*visit our website*](https://datacebo.com/pricing/)*.*

[^1]: With referential integrity, all references between tables are present. That is, there are no dangling (lost) references.

[^2]: Patterns inside of a single table, which include min/max boundaries, column shapes (marginals) and trends (correlations)

[^3]: Trends between multiple tables include correlations.

[^4]: Cardinality refers the number of children each parent has. You may have a strict cardinality requirement, such as an exact 1-1 mapping.

[^5]: Easily scale to more tables without significantly sacrificing performance or adding computational requirements


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sdv.dev/sdv/multi-table-data/modeling/synthesizers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
