Live data from Hacker News

Show HN: DDL to Data – Generate realistic test data from SQL schemas

news.ycombinator.com

11–20 of 34 posts

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#11

how is this compared to https://shadowtraffic.io/

Different focus, ShadowTraffic is config-driven and optimized for streaming/Kafka workloads. We're schema-driven: point us at your DDL and we generate relational test data automatically. Less config, more just give me test data that fits my tables.

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#12
post #9

I appreciate this product existing, but the row limits in each tier seem very constrained.

Thanks for the feedback! Honestly, we're still dialing in the tiers, what row limits would feel reasonable to you for your use case? Always helpful to hear what people actually need.

To be honest, I think 1M rows is starting point for any paid plan. Any data model of minimal complexity explodes fast, especially with cascading one-to-many relationships. If anything, it may make more sense to have a table-level, rather than a global, limit. Or put the limit on "trunk" tables.

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#13
post #10

Reminds me a bit of Snaplet before it embarked on its incredible journey to get acquired by Supabase and shut down. I like the concept but the painpoint has never been around creating realistic looking emails and such like, but creating data that is realistic in terms of the business domain and in terms of volume.

Appreciate the Snaplet comparison, they were doing good work. You're right that realistic looking strings are the easy part. We're focused on relational integrity first (FKs, constraints, realistic cardinality), but business domain logic is the next layer. What kinds of rules would be useful for you? Things like weighted distributions, time-based patterns, conditional relationships?

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#14
post #9

Earlier quoted context omitted.

Thanks for the feedback! Honestly, we're still dialing in the tiers, what row limits would feel reasonable to you for your use case? Always helpful to hear what people actually need.

To be honest, I think 1M rows is starting point for any paid plan. Any data model of minimal complexity explodes fast, especially with cascading one-to-many relationships. If anything, it may make more sense to have a table-level, rather than a global, limit. Or put the limit on "trunk" tables.

That is a really good point one-to-many relationships blow up fast. The trunk table idea is interesting, would simplify how people reason about limits. Appreciate the feedback, genuinely helpful!

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#16
post #6

Congrats on being launchable! I've written seed data scripts a number of times, so I get the need. How do you think about creating larger amounts of data? E.g., I'm building a statistical product where the seed data needs to be 1M rows; performance differences between implementations start to matter.

Thanks! At 1M rows, I think a few things matter: Streaming: Can't hold it all in memory. Generate in chunks, write, release, repeat. Format choice: Parquet with row groups is fast and compresses well. SQL needs batched inserts (~1000/statement). Direct DB writes via COPY skip serialization entirely is usually fastest. FK relationships: The real bottleneck. Pre-generate parent PKs, hold in memory, reference for childr…

Why does this read like AI slop?

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#17

does it handle skewed distributions? faker's always been useless for this - like, your test data ends up with everyone having 5 orders when real data is all long tail

Not yet, but you're the second person in this thread to call out distribution control as a gap. It's on our radar now. Thanks for the feedback.

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#18
post #10

Reminds me a bit of Snaplet before it embarked on its incredible journey to get acquired by Supabase and shut down. I like the concept but the painpoint has never been around creating realistic looking emails and such like, but creating data that is realistic in terms of the business domain and in terms of volume.

Appreciate the Snaplet comparison, they were doing good work. You're right that realistic looking strings are the easy part. We're focused on relational integrity first (FKs, constraints, realistic cardinality), but business domain logic is the next layer. What kinds of rules would be useful for you? Things like weighted distributions, time-based patterns, conditional relationships?

The realistic cardinality is actually a good start (the problem with things like using Faker for DB seeds being that everything is entirely too random).

If one were be able to use metrics as source then, depending on the quality of the metrics, it might be possible to distribute data in a manner similar to what's observed in production? You know, some users that are far more active than others, for example. Considering a major issue with testing is that you can't accurately benchmark changes or migrations based on a staging environment that is 1% the size of your prod one, that would be a huge win I think even if the data is, for the most part, nonsensical. As long as referential integrity is intact the specifics matter less.

Domain specific stuff is harder to describe I think. For example, in my setup I'd want seeds of valid train journeys over multiple legs. There's a lot of detail in that where the shortcut is basically to try and source it from prod in some way.

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#19
post #18

Earlier quoted context omitted.

Appreciate the Snaplet comparison, they were doing good work. You're right that realistic looking strings are the easy part. We're focused on relational integrity first (FKs, constraints, realistic cardinality), but business domain logic is the next layer. What kinds of rules would be useful for you? Things like weighted distributions, time-based patterns, conditional relationships?

The realistic cardinality is actually a good start (the problem with things like using Faker for DB seeds being that everything is entirely too random). If one were be able to use metrics as source then, depending on the quality of the metrics, it might be possible to distribute data in a manner similar to what's observed in production? You know, some users that are far more active than others, for example. Consideri…

This is useful. What if you ran a CLI locally that extracts just the statistical profile from prod cardinality, relationship ratios, etc. and uploaded that? We'd never touch your database, you just hand us the metrics and we match the shape.

Re: Show HN: DDL to Data – Generate realistic test data from SQL schemas

#20
post #18

Earlier quoted context omitted.

The realistic cardinality is actually a good start (the problem with things like using Faker for DB seeds being that everything is entirely too random). If one were be able to use metrics as source then, depending on the quality of the metrics, it might be possible to distribute data in a manner similar to what's observed in production? You know, some users that are far more active than others, for example. Consideri…

This is useful. What if you ran a CLI locally that extracts just the statistical profile from prod cardinality, relationship ratios, etc. and uploaded that? We'd never touch your database, you just hand us the metrics and we match the shape.

I'd be willing to try that out :) a CLI would be great, even as a sandbox tool
Post reply on HN