Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Документация YDB разрабатывается на GitHub рядом с основной кодовой базой YDB и автоматически публикуется на сайт посредством CI/CD. Быть в курсе что в ней появляется можно с помощью функции «Watch» на GitHub или периодически просматривая вывод команды git log
, но эти способы сложно назвать удобными. В этом дайджесте мы рассмотрим основные недавно опубликованные изменения в документации YDB.
Режим совместимости с PostgreSQL
Одной из ключевых находящихся сейчас в разработке новых возможностей YDB является режим совместимости c PostgreSQL. Для упрощения миграции работающих с PostgreSQL приложений добавляется поддержка как сетевого протокола PostgreSQL, так и его диалекта SQL. В документации YDB можно узнать как поучаствовать в раннем тестировании этой функциональности, как она работает, и что именно доступно на данный момент.
Поддержка UNION в SELECT запросах
В SQL стандарте специфицирован синтаксис UNION [ALL]
. Разница между этими двумя вариациями в том, что UNION ALL
конкатенирует результат нескольких подзапросов, а UNION
ещё дополнительно дедуплицирует строки результата. Так как поведение UNION
можно эмулировать с помощью комбинации UNION ALL
и SELECT DISTINCT
, приоритет этой возможности исторически не был высок, но теперь она реализована, что приблизило YQL на шаг ближе к SQL стандарту. С примерами можно ознакомиться в документации.
Пояснения про партиционирование топиков для Change Data Capture
Change Data Capture является механизмом, позволяющим пользователям подписаться на поток изменений таблицы. Он реализован поверх YDB топиков (персистентных очередей), поддерживающих партиционирование. Как эти возможности взаимодействуют друг с другом теперь объяснено.
CVE-2023–45825
По принятой в индустрии практике YDB своевременно публикует информацию об обнаруженных проблемах безопасности в security changelog. Недавний CVE связан не с самим сервером YDB, а с одной из клиентских библиотек, YDB Go SDK. До исправления можно было случайно залогировать аутентификационные данные при определённом стечении обстоятельств. Подробнее можно прочитать на cve.mitre.org.
Превью изменений документации
Чтобы привнести свой вклад в документацию YDB достаточно открыть pull request на GitHub. Если речь о небольшой правке или улучшении, например исправлении опечатки, можно просто нажать на «карандашик» в правом-верхнем углу самой страницы документации:
Эта ссылка приведёт на режим редактирования соответствующей страницы в веб-интерфейсе GitHub. Там попросят залогиниться или зарегистрироваться, а также пройти через несколько шагов для открытия pull request с предлагаемыми правками. Недавно мы добавили автоматический процесс, который строит превью документации YDB для предпросмотра изменений из pull request в виде, максимально приближенным к тому, как они будут выглядеть на основном сайте после merge. Ссылка на просмотр превью версии автоматически добавляется в комментарии к pull request. Если в процессе сборки документации обнаружились какие-либо проблемы, то об этом также будет сообщено в комментариях. Запуск построения превью в некоторых случаях может требовать подтверждения команды проекта.
Как выглядит такой комментарий со ссылкой на превью:
Напоследок
Если у вас есть любые предложения по улучшению документации YDB или процессах вокруг неё, дайте нам, пожалуйста, знать в комментариях ниже, в Telegram или Discord.