Первоначальная документация YDB, опубликованная в рамках open-source запуска в 2022 году, имела структуру, на которую в значительной степени повлиял закон Конвея. Создание проекта с открытым исходным кодом значительно повышает планку того, что ожидается от документации по технологии. В нашем случае для быстрого создания большого количества контента перед запуском потребовалась командная работа по принципу «разделяй и властвуй». На раннем этапе такое четкое владение каждым фрагментом было полезным. Однако, поскольку общий объем документации со временем продолжает расти, читателям становится всё труднее находить нужную им информацию. Чтобы решить эту проблему, мы перепроектируем структуру документации, чтобы она была ориентирована на пользователя. Таким образом, если вы являетесь командой, работающей с кластером YDB, каждый может иметь свою собственную любимую директорию в документации в соответствии со своей ролью в команде и не отвлекаться на контент, ориентированный на читателей с другой ролью.

Эта реструктуризация ещё в процессе: появился новый раздел для DevOps-инженеров, а также дополнительные разделы для администраторов баз данных, разработчиков приложений, инженеров по безопасности, аналитиков и т.д. Перемещение контента может потребовать выработки новых привычек, но в долгосрочной перспективе такая структура должна упростить навигацию. Мы создаём перенаправление со старого URL на новый при перемещении любой страницы документации, чтобы свести неудобства к минимуму.

Ansible

Новый раздел документации для DevOps состоит из подразделов, посвящённых поддерживаемым методам развёртывания production кластеров YDB: AnsibleKubernetes или вручную. Если инструкции для Kubernetes и «вручную» существуют уже давно, то развёртывание производственных кластеров YDB с помощью Ansible является основной новой статьёй за последнее время. В ней предполагается, что у вас уже есть необходимое количество виртуальных машин или физических серверов, соответствующих системным требованиям YDB. Если же у вас нет готовой инфраструктуры, предоставляется отдельная инструкция о том, как получить необходимые виртуальные машины от различных поставщиков облачных услуг с помощью Terraform.

Миграции схем данных с помощью Goose

Управление схемами таблиц является одним из ключевых аспектов работы с любой SQL системой управления базами данных, включая YDB. Хоть это и можно делать вручную с помощью запросов ALTER TABLE, есть много инструментов для упрощения управления схемой таблиц. Первым инструментом такого класса, поддерживающим YDB, является Goose.

Kafka Connect

Для топиков YDB предоставляет API, совместимый с Apache Kafka. Теперь в документации описано как использовать Kafka Connect с YDB для перемещения данных.

Точный векторный поиск с помощью k-NN

Эта тема заслуживает отдельного анонса и более подробного рассказа, но в качестве спойлера: в ветке main YDB может выполнять точный поиск по ближайших соседей вектору, используя Knn UDF. Эта функция пока не включена ни в один из выпущенных релизов YDB.

Генерация кода на YQL

Развитие аналитических возможностей и колоночного хранилища является одним из ключевых направлений развития YDB на 2024 год. OLAP-запросы часто более сложны, чем транзакционные, и обычно включают в себя множество преобразований данных. YQL, диалект SQL в YDB, используется совместно с несколькими другими продуктами в качестве библиотеки и, уже обладает обширной инфраструктурой для обработки сложных запросов.

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

«Под капотом»

Документация для разработчиков C++ ядра YDB была дополнена статьями о персистентных незакомиченных изменениях в LocalDB и блокировках и видимости изменений в транзакциях в DataShard. Кроме того, теперь есть статья об управлении релизами YDB.

Дополнительные улучшения

Смотрите также

Если эта статья показалась вам полезной, ознакомьтесь с предыдущей статьей этой серии о документации YDB. Кроме того, если у вас есть какие-либо предложения по документации YDB или связанных с ней процессов, пожалуйста, расскажите нам о них в комментариях ниже или в YDB Discord.

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


  1. zo0Mx
    03.04.2024 07:58

    Есть предложение не относящееся к документации напрямую. Могли бы вы как-то организовать пуликацию релизов и их ченжлогов в более простой и понятной манере?
    Сейчас в репе на гитхабе в тегах одни версии софта фигурируют, в релизах другие, в ченжлогах на сайте третьи (никак не привязанные к релизам/тегам из репы). Что происходит? Как понять как развивается продукт? Совершенно ничего не понятно. Следить невозможно.