Всем привет! Меня зовут Константин, я backend-разработчик на Python. За последний год я поработал над несколькими крупными проектами, и в этой статье хочу рассказать, с чего начался мой путь в работе с базами данных - и как я в итоге решил одну довольно неприятную проблему: регулярную потерю контекста.

Лет 5 назад я делал свой первый pet-проект - Discord-бота. Он умел всё, что тогда казалось крутым: модерировал сервер, создавал каналы, включал музыку и ещё пару фич чтобы было). Именно тогда я впервые полез в базы данных. Понимания — почти ноль, поэтому решение было максимально простое: SQLite прямо в проекте. База была настолько примитивной, что я даже не уверен, были ли там связи, не говоря уже об индексах.

Со временем я начал глубже погружаться в тему и вот тут начались реальные сложности: таблицы, связи, структура - всё это плохо укладывалось в голове. Но сильнее всего это ощущалось, когда возвращаешься в проект после длительного перерыва. Открываешь базу - и как будто смотришь на чужую: непонятно, что где лежит, как связаны сущности, зачем вообще принимались те или иные решения. Приходилось заново разбираться в том, что когда-то сам же и писал.

В какой-то момент это начало реально мешать. И вместо того чтобы просто терпеть, я решил сделать простой инструмент для визуализации схемы БД - чисто под себя.

Хотя на рынке уже были похожие решения, ни одно из них мне не зашло. Они казались перегруженными, неудобными, местами откровенно запутанными, и при этом часто требовали подписку за функции, которые по сути должны быть базовыми. И я решил координироваться правилом: "Критикуешь - предлагай".

Так появился Structly - простой и понятный инструмент для визуализации схем баз данных. Я изначально закладывал в него несколько ключевых принципов:

  • минимализм без потери функциональности

  • быстрый вход без лишнего порога

  • фокус на разработчиков, архитекторов и технические команды

  • визуализация, которая реально помогает думать, а не просто «рисует таблицы»

В этой статье я расскажу, как вечерами и на выходных разрабатывал Structly (и продолжаю это делать) и как мне удалось не бросить проект на полпути.

Как сейчас выглядит основной интерфейс
Как сейчас выглядит основной интерфейс

Идея проекта и первая попытка

Когда постоянно прыгаешь между проектами или делаешь паузы, контекст начинает утекать сквозь пальцы. Сначала забываешь мелочи, потом уже и не очень мелочи. Возвращаешься - и ловишь себя на мысли: «А это вообще я писал?». В какой-то момент понимаешь, что без нормальной визуализации уже никуда. Пока у тебя 3-5 таблиц - всё ок, держится в голове. Но как только их становится десятки, плюс ещё несколько схем - всё, привет хаос. База как будто размазана по разным местам: кусок в миграциях, кусок в доке (если повезло), остальное - в головах команды.

Первым шагом стал простой прототип, я бы даже сказал концепт. Я накидал фронт без сложной логики, просто, чтобы проверить идею и понять, насколько такой формат вообще удобен в реальности. Он умел только создавать таблицы и рисовать связи. Но уже эта версия дала мне понять, что проект актуален

Первый прототип Structly
Первый прототип Structly

Я показал прототип некоторым людям, и неожиданно получил нормальный отклик. Людям реально зашла эта идея - я понял, что надо продолжать ее развивать. С этого прототипа я даже заработал 2 тысячи помогая одногруппникам по учебе для визуализации бд при проектной работе. Мелочь, а приятно) А дальше…
А дальше меня забрала рутина, работа, задачи и дедлайны. Проект постепенно ушёл на второй план, а потом я и вовсе про него забыл.

Возрождение спустя год

Спустя год, после нескольких коммерческих проектов я вспомнил про Structly: решил заново возродить сервис, но уже взяться за него с головой. Я накидал в заметках телефона, будущий функционал приложения и вышел не маленький список чего бы я хотел в нем видеть. Но обо всем по порядку)

Первую версию — простое приложение с базовой логикой — я собрал буквально за пару дней, используя FastApi на бэке и Next.js на фронте. Использовал ChatGPT для генерации фронта — и это сильно ускорило старт.

Спустя две недели основная логика приложения и дизайн были полностью разработаны. На тот момент он уже умел создавать таблицы, добавлять колонки и отображать связи между ними, что позволило визуализировать структуру базы данных в удобном виде. Весь импорт занимает +- 0.3 сек

Следующим шагом я решил реализовать импорт таблиц из существующих миграций базы данных. Structly научился распознавать все команды ALTER TABLE и корректно отображать конечную структуру, что значительно облегчило работу с уже существующими проектами. После этого возникла идея добавить функцию экспорта. Сейчас Structly позволяет сохранять визуализацию схемы в формате PNG, JPG и PDF, а в ближайших планах — экспорт данных в SVG. Это делает инструмент не только удобным для проектирования новых схем, но и полезным для документирования и обмена существующими структурами баз данных.

Экспорт схемы в png
Экспорт схемы в png

В больших системах, особенно после нормализации базы данных, часто появляются специальные таблицы, предназначенные для хранения базовых справочных данных. На этапе миграций в них заранее вшиваются необходимые значения, и далее система просто ссылается на них в работе. Раньше такие таблицы оставались «за кулисами». Я решил изменить это и дать возможность визуализировать их напрямую. Так появился новый функционал SDT (Seed Data Tables), который позволяет отображать эти таблицы на фронте, видеть их содержимое и связи с другими таблицами.

Кроме того, Struсtly теперь понимает индексы и учитывает их в контексте схемы, предоставляя более полное и наглядное представление структуры базы данных. В крупных проектах количество таблиц и связей может быть огромным, и расставлять их вручную не хочется. Можно нажать «волшебную кнопку», и приложение автоматически расставит таблицы за вас, упрощая работу с визуализацией и экономя массу времени.

Так а в чем же основная фича Structly?

И вот мы подошли к самому главному: уже сейчас можно видеть изменения коллег в реальном времени и совместно управлять схемой. Плюс система DVC (Database Version Control) - по сути, аналог git прямо в браузере: ветки, коммиты, SQL diff и визуальное отображение изменений на графе. Это позволяет параллельно прорабатывать разные варианты архитектуры и не ломать друг другу работу. Я считаю, это очень мощная функция. Она дает аналитикам работать параллельно над несколькими решениями и тестировать их.

И, конечно, в 2026 году невозможно обойтись без AI-функций. Structly сможет анализировать схему (PK, FK, циклы), выявлять архитектурные проблемы и поддерживать качество структуры базы данных. Также станет возможна генерация таблиц по описанию задачи прямо на схеме с последующим редактированием.

Постепенно превращаясь в инструмент, который не просто визуализирует базу данных, а делает командную работу над ней прозрачной, безопасной и максимально продуктивной. Так же еще много функций добавленные на удобное построение и аналитики схемы. Вы сможете попробовать их уже совсем скоро

Что дальше?

Я продолжаю активно развивать Structly: добавляю новые функции, улучшаю интерфейс и делаю сервис максимально удобным и полезным для тех, кто работает с инфраструктурой. Моя цель — чтобы продукт стал не просто инструментом для визуализации, а полноценной платформой, которая помогает командам быстро понимать архитектуру данных, видеть взаимосвязи и управлять проектами с лёгкостью.

Сейчас я провожу публичное тестирование, чтобы собрать обратную связь от реальных пользователей. Это позволит проверить новые возможности на практике, выявить узкие места и сделать сервис ещё более надёжным и удобным. Переходите в канал

В дальнейшем я планирую расширять функционал: добавлять интеграции, улучшать визуализацию связей и данных, а также давать командам больше возможностей для совместной работы над БД. Structly постепенно превращается из прототипа в полноценный рабочий инструмент, который реально облегчает жизнь разработчикам и архитекторам.

Для меня этот проект — в первую очередь возможность научиться делать продукт на практике. Я сам прошёл через проблему, которую он решает, поэтому понимаю реальные боли пользователей и развиваю продукт, опираясь на собственный опыт.

Буду рад вашему мнению о продукте. Пишите комментарии, делитесь идеями — обязательно всё прочитаю и отвечу.

Комментарии (19)


  1. atues
    18.03.2026 05:36

    А чем https://dbeaver.io/ не угодил? Бесплатная коммьюнити-версия закрывает практически все ежедневные потребности. Из коробки - поддержка кучи распространенных БД. Визуализация связей тоже есть. Перечислять всех возможностей не стану - попробуйте сами (может быть, потребуется установить java, хотя последние версии дистрибутива вроде как этого не требуют; этого я не проверял). А так - я не против: все жанры хороши. Хочется самому сделать - очень хорошо. Но не надо только говорить, что на рынке нет ничего подходящего: все есть.


    1. Uranic2
      18.03.2026 05:36

      да, хорош, правда у нас были проблемы с переносимостью визуальных схем моделей на другой компьютер (где другое подключение) .


  1. Cringeon
    18.03.2026 05:36

    Посмотрите как это выглядит в dbeaver или supabase (раз уж речь была про постное)


  1. Tatooine
    18.03.2026 05:36

    Почему я перестал держать БД в голове

    Наверное потому что это разумно?


  1. DeepX
    18.03.2026 05:36

    А где подробнее посмотреть? И потрогать?


    1. yeyo
      18.03.2026 05:36

      Присоединяюсь к комментарию выше. Есть ссылка на гитхаб?


      1. Garnlzerx Автор
        18.03.2026 05:36

        Сейчас мы проводим публичное тестирование, приглашаем вас в группу


    1. Garnlzerx Автор
      18.03.2026 05:36

      Сейчас мы проводим публичное тестирование, приглашаем вас в группу


  1. manyakRus
    18.03.2026 05:36

    Я сделал то же самое, только ещё лучше :-)
    Смотреть и редактировать схему можно в бесплатном редакторе YeD,
    главное её автоматически нарисовать, с возможномтью её редктирования и обновления.
    Рисовать автоматически схему ERD много кто умеет, в том числе DVeaver, упомянутый выше,
    а вот с возможностью редктировать и обновлять после редактирования умеет только моя утилита:
    https://github.com/ManyakRus/image_database


    1. Garnlzerx Автор
      18.03.2026 05:36

      Мой продукт умеет редактировать схемы, и в добавок к этому еще и автоматически прописывает миграции базы. А в добавок ко всему еще и обновление схемы между командой в реальном времени. Так что теперь вы не один)


  1. Uranic2
    18.03.2026 05:36

    Эх, давно существовал хороший продукт Sybase PowerDesigner (сейчас SAP PowerDesigner и они больше ушли в Enterprise modeling чем в Data modeling)
    И было все там о чем вы пишите для построения модели данных:

    • получение модели данных из БД

    • автоматически красиво расставить таблицы на схеме (причем можно выбрать вид алгоритма: ортогонально, цилклически, древовдино и т.п.)

    • сравнение с текущей схемой

    • созадние скриптов для миграций

    • генерация концептуальной модели и обратно физической (правда за все время я только на одном проекте такое проворачивал)

    • генерация документации на БД для заказчика и в WEB.

    • ну конечно же конотроль версий прикручен.

    • Ну и многе друге (а для самых требовательный еще и VBS для автоматизации подключен)

    Пожалуй только отображения миграций не было, ах да, ИИ конечно не было.
    Я так и не смог найти ему полноценную замену.

    Вообще продуктов заточенных именно на проектирование моделей данных не так много (и стоят все как автомобиль), а из бесплатных достойных вообще нет.


    1. nmouse
      18.03.2026 05:36

      Крутая софтина, прям прослезился от воспоминаний сколько я в ней человекомесяцев провёл, да и возможность юзать её через COM и командную строку для автоматизации сборки как кода, так и документации прям аще. Для 2008 года, когда впервые начал использовать, прям для меня прорыв в сознании было


    1. Garnlzerx Автор
      18.03.2026 05:36

      Спасибо за обратную связь!! Сейчас я реализовал достаточный минимум продукта. В дальнейшем планирую расширять функционал. Очень понравились вышеперечисленные идеи


  1. slavius
    18.03.2026 05:36

    Это оно?
    https://structly.vercel.app/
    UPD Не, не оно...


  1. slavius
    18.03.2026 05:36

    Вот попробовать бы...


    1. Garnlzerx Автор
      18.03.2026 05:36

      Сейчас мы проводим публичное тестирование, приглашаем вас в группу


  1. FainFortRana
    18.03.2026 05:36

    Подобное тому что вы сделали уже давно было в составе MySQL Workbench , прямо там же можно создавать такие схемы из запущенной БД и в обратную из схемы создавать базу данных . Возможно если у вас будет нормальная интеграция с ИИ плюс поддержка всех реляционных СУБД то тогда да продукт в целом имеет смысл .


  1. ik00
    18.03.2026 05:36

    А так же введена система DVC (Database Version Control) - Подобие git прямо в браузере. Вы можете переключаться между ветками, делать коммиты, видеть diff sql и видеть на графе все изменения.

    Это интересно. Ждем Бету!


    1. Garnlzerx Автор
      18.03.2026 05:36

      Сейчас мы проводим публичное тестирование, приглашаем вас в группу