TDK provides an advanced solution for populating test environments with data that closely resembles production data, with a focus on safety and security. This solution enhances and automates the various features offered by PostgreSQL, enabling data generation, masking, and transformation using SQL and third-party extensions. We have previously discussed this topic in detail in our article [here](https://www.synthesized.io/post/test-data-generation-there-and-back).
## Key features - **Data generation**, if you do not have enough production data in the test environment - this will allow you to test your applications, including functional and loading tests - **Subsetting** - creating a small slice of data from a large production database while preserving all data relations and properties - **Masking** - allows you to test, analyze, and share your production data securely ## Try it You can try TDK for free by downloading the tool from [this](https://docs.synthesized.io/tdk/latest/download/) page. Follow the instructions for [Installation](https://docs.synthesized.io/tdk/latest/user_guide/getting_started/installation) and [Getting started](https://docs.synthesized.io/tdk/latest/user_guide/getting_started/your_first_transformation). Additionally, there are other installation and usage options for TDK: - [Docker image](https://docs.synthesized.io/tdk/latest/user_guide/deployment/run_cli_with_docker) - [Helm chart](https://docs.synthesized.io/tdk/latest/user_guide/deployment/run_cli_with_helm) - [Amazon Web Services](https://aws.amazon.com/marketplace/pp/prodview-qniisetx55ofg) - [Google Cloud Platform](https://console.cloud.google.com/marketplace/product/synthesized-marketplace-public/synthesized-tdk) ## Demo projects We have various demo projects with different levels of complexity to provide a simpler way to start using TDK in your environments: - **[tdk-demo-postgres](https://github.com/synthesized-io/tdk-demo/tree/main/postgres)** - Try TDK in action with legendary Pagila sample database - **[tdk-demo-vault](https://github.com/synthesized-io/tdk-demo/tree/main/vault) -** The simple demo with Hashicorp Vault as a secret manager to store and manage database credentials - **[tdk-demo-oracle](https://github.com/synthesized-io/tdk-demo/tree/main/oracle)** - Masking data in an Oracle database and converting it to a PostgreSQL database - **[springjdbc-tc-tdk](https://github.com/synthesized-io/springjdbc-tc-tdk) -** The simple Java application with TDK and Test Containers for integration testing - **[flyway-spawn-demo](https://github.com/synthesized-io/flyway-spawn-demo)** - Testing Flyway database migrations - **[tdk-microservices-demo](https://github.com/synthesized-io/tdk-microservices-demo)** - The example of using TDK in a distributed SOA application ## Supported platforms TDK supports not only classical PostgreSQL, but also various Postgres-based platforms and distributions, including: - GCP Cloud SQL for PostgreSQL - Amazon RDS for PostgreSQL - Heroku Postgres - Yugabyte - Supabase - Timescale ## Contacts and Feedback If you have any questions, suggestions, or ideas, please feel free to send them to us [here](https://www.synthesized.io/contact-sales).