Как стать автором
Обновить

Комментарии 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.

В режиме совместимости YDB с Postgres идёт параллельная работа и над wire protocol, и над диалектом, и над типами данных. Суммарно её много, конечно, но дело идёт.

Мне понравился подход в AWS Redshift, хоть реально foreign key у них нет(not enforced), но на уровне метаданных Redshift позволяет их хранить и выдает тулам. В итоге для огромной аналитической базы на неколько сотен таблиц с множеством схем получалось генерировать для пользователей документацию в SchemaSpy, что снимало большинство вопросов с моей команды и не надо было вручную синхронизировать документацию по БД в confluence, и документация всегда "первой свежести".

Такой подход хорош, когда и не собираешься их никогда в будущем «enforce». Если же они позже по-настоящему появятся — наличие ограничений в метаданных при потенциальных нарушениях в данных затруднит релиз версии где проверки станут по умолчанию (не непреодолимо, конечно, но тем не менее).

Есть. Они являются лишь альтернативным синтаксисом для JOIN, так что исторически пользователи как правило спокойно обходились без них.

Недавно была статья Correlated Subqueries in SQL как их реализовали в DuckDB. Так что можете пойти навстречу жаждущим пользователям.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий