What’s new in YDB documentation in November 2023

Ivan Blinkov
YDB.tech blog
Published in
3 min readNov 28, 2023

--

YDB documentation is developed on GitHub alongside the main YDB codebase and then automatically published via CI/CD. You could stay tuned by using the “Watch” feature of GitHub or just read the git log occasionally, but that’s hardly convenient. This digest highlights the key changes that were published recently.

PostgreSQL compatibility mode

One of the key YDB features currently in development is PostgreSQL compatibility mode. To simplify the migration of PostgreSQL-based applications to YDB it includes support for both the PostgreSQL wire protocol and SQL dialect. See YDB documentation to learn how to participate in early testing, how it works, and what’s currently available.

SELECT queries with UNION clause

SQL standard specifies the UNION [ALL] clause for SELECT queries. The difference is that UNION ALL concatenates the results of multiple subqueries, while UNION also deduplicates them. Given the behavior of the UNION clause can be replicated by combining UNION ALL with SELECT DISTINCT the priority of this feature wasn’t high, but now it has been implemented, which brings YQL a step closer to SQL standard. See examples in the documentation.

Clarifications about topic partitions for Change Data Capture

Change Data Capture is a mechanism that allows users to subscribe to a stream of changes to a given table. It is implemented on top of YDB topics (persistent queues) that support partitioning. How these two features interact with each other has been clarified.

CVE-2023–45825

YDB follows the common industry practice of responsibly publishing information about discovered security issues in the security changelog. This one wasn’t related to the database server but to one of the client libraries, YDB Go SDK. It was possible to accidentally log authentication credentials under certain circumstances. Read more on cve.mitre.org.

Documentation preview

Contributing to YDB documentation is as easy as opening a pull request on GitHub. If you want to suggest just a small fix, for example about a mistype, you can follow a “pencil” link on the documentation page itself, which is located in the top-right corner:

This link brings you to a GitHub editing mode via the web interface. It will ask you to sign in (or sign up) and follow a few more steps to open a pull request with the necessary changes. What has recently been added is an automated process that builds a preview version of YDB documentation with a suggested change and posts a link to it in the pull request comments. If there are any issues with the building documentation site, it will also post them to comments. Launching this process might need the maintainer’s approval.

Here’s what it looks like:

Final remarks

If you have any suggestions about YDB documentation or processes around it, feel free to let us know in the comments below or at YDB Discord.

--

--