Комментарии 10
Подскажи пожалуйста про поддержку инструментария. Какие open source системы миграций схем данных поддерживают YDB, есть ли способ сгенерировать html/markdown документацию по схеме БД и ER диаграммы?
Работа в этом направлении ведётся, но её впереди ещё много, будем рассказывать по мере поступления.
Схемы данных проще всего смотреть через встроенный веб-интерфейс (вебинар про него), а о более сложных ER-диаграммах будет иметь смысл задуматься после появления поддержки foreign key, которой пока нет.
Также, как можно увидеть по roadmap YDB, сейчас идёт активная работа над режимом Postgres совместимости — благодаря нему ожидаем качественного скачка в поддержке существующими инструментами.
Спасибо! Гляну на досуге.
Для поддержки SchamaSpy как в случае ClickHouse, было достаточно правильно написанного JDBC драйвера для базы данных, который возвращает валидные метаданные. Подсказка команде YDB о том что дополнение SchemaSpy для ClickHouse было очень простым)
PostgreSQL wire протокол это только начало на пути к совместимости, потом прийдется эмулировать многие конструкции в SQL(например case), потом функции и Information schema. Можете посмотреть на подвиги команды QuestDB, CrateDB - очень трудозатратный путь, для поддержки биндингов в языках программирования и SQL клиентах. Issue в проекте посыпяться как снег. Хотя многие идут по нему кто-то из за поддержки существующий клиентов и BI, а Apache Spark по большей части из-за SQL тестпака PostgreSQL.
Мне понравился подход в AWS Redshift, хоть реально foreign key у них нет(not enforced), но на уровне метаданных Redshift позволяет их хранить и выдает тулам. В итоге для огромной аналитической базы на неколько сотен таблиц с множеством схем получалось генерировать для пользователей документацию в SchemaSpy, что снимало большинство вопросов с моей команды и не надо было вручную синхронизировать документацию по БД в confluence, и документация всегда "первой свежести".
А есть планы по завозу в YDB коррелированных подзапросов?
Есть. Они являются лишь альтернативным синтаксисом для JOIN, так что исторически пользователи как правило спокойно обходились без них.
Недавно была статья Correlated Subqueries in SQL как их реализовали в DuckDB. Так что можете пойти навстречу жаждущим пользователям.
Дайджест статей про YDB