Перейти к содержанию

Главная

# Synthetic Data Values Generator (SDVG)

Release Pre-release CI Coverage Status Language License

## Версия документации - [Многоязычная веб-версия](https://tarantool.github.io/sdvg/ru/) (рекомендуется) - [English](https://github.com/tarantool/sdvg/tree/master/README.md) - **Русский**

Описание продукта

SDVG (Synthetic Data Values Generator) — это инструмент для генерации синтетических данных. Он поддерживает различные форматы запуска, типы данных для генерации и форматы вывода.

scheme.png

Форматы запуска:

  • CLI - генерация данных, создание конфигураций и их валидация через консоль;
  • HTTP сервер - принимает запросы на генерацию по HTTP API и отправляет/сохраняет их в указанное место.

Типы данных:

  • строки (английские, русские);
  • целые и вещественные числа;
  • даты со временем;
  • UUID.

Типы строк:

  • случайные;
  • тексты;
  • имена;
  • фамилии;
  • телефонные номера;
  • шаблоны.

Каждый из типов данных можно генерировать со следующими опциями:

  • указание процента/количества уникальных значений на колонку;
  • упорядоченная генерация (sequence);
  • указание внешнего ключа;
  • идемпотентная генерация по seed числу;
  • генерация значений из диапазонов с процентным распределением значений.

Форматы вывода:

  • devnull;
  • CSV файлы;
  • Parquet файлы;
  • HTTP API;
  • Tarantool Column Store HTTP API.

Установка

Стандартная установка

Вы можете установить SDVG, скачав готовый бинарный файл нужной версии со страницы релизов на GitHub.

Скачайте бинарный файл для вашей операционной системы:

# Linux (x86-64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-linux-amd64
# Linux (ARM64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-linux-arm64
# macOS (x86-64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-darwin-amd64
# macOS (ARM64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-darwin-arm64

Установите бинарный файл в систему:

chmod +x sdvg
sudo mv sdvg /usr/local/bin/sdvg

Проверьте, что все работает правильно:

sdvg version

Сборка и установка из исходников

Для сборки и установки этого инструмента можно использовать команду go install:

# Чтобы установить указанную версию
go install github.com/tarantool/sdvg@0.0.2
# Чтобы установить версию из ветки master
go clean -modcache
go install github.com/tarantool/sdvg@latest

Проверьте, что все работает правильно:

sdvg version

Быстрый старт

Пример модели данных, которая генерирует 10 000 строк пользователей и записывает их в CSV-файл:

output:
  type: csv
models:
  user:
    rows_count: 10000
    columns:
      - name: id
        type: uuid
      - name: name
        type: string
        type_params:
          logical_type: first_name

Сохраните это в файл simple_model.yml, затем выполните:

sdvg generate simple_model.yml

Это создаст CSV-файл с фейковыми пользовательскими данными, такими как id и name:

id,name
c8a53cfd-1089-4154-9627-560fbbea2fef,Sutherlan
b5c024f8-3f6f-43d3-b021-0bb2305cc680,Hilton
5adf8218-7b53-41bb-873d-c5768ca6afa2,Craggy
...

Чтобы запустить генератор в интерактивном режиме:

sdvg

Чтобы посмотреть доступные команды и аргументы:

sdvg -h
sdvg --help
sdvg generate -h

Больше информации можно найти в руководстве по эксплуатации.

Следующие шаги

Разработчики