Show HN: Random Data Generator for arbitrary data types (github.com)
Datasino is a command line tool that can come handy when load testing a service or database.
Give it a data schema (many compound types supported, including recursive types), an encoding (JSON, CSV or ClickHouse) and a target (a file or a Kafka partition) and a data rate and it will generate a reasonably optimized (native code) random data source.
See the top of the README for some examples.
If you have any ideas on how to extend this tool so that it's useful to more people, please let me know.
9 comments
[ 3.6 ms ] story [ 43.9 ms ] threadAnd here is an article about possible methods to solve this task and what method was selected: https://habr.com/en/company/yandex/blog/485096/
Not usable in our use case though: IIUC, clickhouse-obfuscator anonymise existing data, whereas we need to produce a giant volume of data (~1M large rows per second) in real time to test data ingestion speed of a data pipeline (that involves Kafka, ClickHouse and other tools in the way).
Something I'd like to add to datasino is indeed a way to specify constraints on some fields, beside their type, so for instance a column that's supposed to store a time actually look like a time and not a random integer. I just haven't found a nice and simple way to specify those constraints yet.
Seriously, any open-source references for command-line tools to generate data? In general people just build their own makeshift special purpose generators in my experience.