What’s New and Improved in YugabyteDB Docs – September 2020
Welcome to this month’s edition of what’s new and improved in YugabyteDB Docs. We’re continually adding to and updating the documentation to give you the information you need to make the most out of YugabyteDB. This post covers recent content added, and changes made, to the YugabyteDB documentation since the last posting.
What is YSQL? Yugabyte Structured Query Language (YSQL) is a fully-relational, PostgreSQL-compatible API. Below you will find the new and updated docs about this API.
The Client drivers for the YSQL API page has been updated to include:
- aiopg – a client driver for Python.
- Links to new documentation on SCRAM-SHA-256 authentication for client drivers that support this password encryption method.
Install and use extensions
Newly added to the Install and use extensions page are sections on using the following two pre-bundled PostgreSQL extensions that can also be used with YugabyteDB:
- pg_stat_statements: Provides tracking of execution statistics for SQL statements. You can access the JSON output by going to ‘https://<yb-tserver-ip>:13000/statements’.
- Server Programming Interface (spi) module: Lets developers use the C programming language to create user-defined functions and stored procedures, and to run YSQL queries directly against YugabyteDB. Support is included for the following functions: ‘insert_username’, ‘moddatetime’, ‘autoinc’, and ‘refint’.
The Migrate section is a top-level topic, with much more to come in the future. Today, the section includes the following topics:
- Migration process overview — Covers high-level steps for migrating from other RDBMS to YugabyteDB (YSQL API).
- Migrate from PostgreSQL
- Convert a PostgreSQL schema – Convert the PostgreSQL schema to the YugabyteDB schema.
- Migrate a PostgreSQL schema – Recommendations for porting existing PostgreSQL applications to YugabyteDB.
- Export the PostgreSQL data – Recommended data export process.
- Prepare a cluster – Considerations before loading data into a cluster.
- Import the PostgreSQL data – Import the data that was exported from PostgreSQL.
- Verify the migration – How to verify the migration was successful.
The new Password authentication page covers the two password authentication methods supported by YugabyteDB: MD5 (default) and SCRAM-SHA-256 authentication. This page also includes the following sections:
- Password authentication methods
- YugabyteDB database passwords
- Enable SCRAM-SHA-256 authentication
- Create a cluster that uses SCRAM-SHA-256 password authentication
- Migrate existing MD5 passwords to SCRAM-SHA-256
The features below are in the core database (DocDB) layer and, as a result, are common across both of YugabyteDB’s distributed SQL APIs–YSQL explained above, and Yugabyte Cloud Query Language (YCQL), a semi-relational API with document data modeling and has its roots in the Apache Cassandra Query Language (CQL).
Caching DNS entries
A new DNS cache has been implemented to significantly reduce CPU loads due to a large number of DNS resolution requests (especially for YCQL connections). By default, DNS caching is enabled. A new ‘–dns_cache_expiration_ms’ flag for both YB-Masters and YB-TServers lets you change the duration before a cached DNS lookup record expires.
Fine tune cluster rebalancing
The YB-Master load balancer flags are now included in the Configuration reference. Enabled by default, the YB-Master load balancer continuously rebalances the number of tablets across your YB-TServer nodes and ensures that each node has a symmetric number of tablet-peer leaders across eligible nodes. These flags let you fine-tune the load balancer based on cluster topology and resource availability. For details on how the load balancer operates, see the Leader Balancing design documentation.
If you haven’t tried using the new web-based YSQL cloud shell version of ‘ysqlsh’ and the YCQL cloud shell version of ‘ycqlsh’, visit the following new documentation on using these new shells and give them a try:
To help you learn and use YugabyteDB effectively and to get you the answers you need, we constantly update and add new topics to the YugabyteDB documentation. Here are a few ways you can contribute:
- File GitHub issues for the docs. If you discover missing information, incorrect information, unclear explanations, or have new topics you’d like to see, click New issue and add the “area/documentation” label.
- Contribute to the YugabyteDB docs. Share your knowledge and lessons learned with the Yugabyte by contributing to the YugabyteDB Docs. You will get recognition and rewards for your efforts as part of our recently launched Community Heroes program.
- Ask questions and share answers in our Slack community. Your questions in the yugabyte-db Slack community are seen by fellow members and contributors who are there to help you move forward. Additionally, we routinely create new documentation pages based on topics that are of interest to Slack community users.