Announcing the General Availability of YugabyteDB 2.16
We are excited to announce the general availability of YugabyteDB 2.16, our latest stable release. YugabyteDB 2.16 is ready for production environments and includes enhancements and GA features previewed in past releases. This new release comes on the heels of YugabyteDB 2.17, our most recent preview release containing our latest innovations.
YugabyteDB 2.16 spotlights our continued focus on helping you grow your business with fast, reliable, access to accurate data. This allows you to meet high customer expectations and accelerate the productivity of your developers and IT operators.
Read on to discover the new enhancements released in YugabyteDB 2.16 and the previously announced features now generally available for production deployments.
Be Ready for Any Future with YugabyteDB 2.16
YugabyteDB 2.16 is a future-proof database ready to power a wide range of business-critical applications. It removes key obstacles to database modernization, placing developer productivity at the core and providing organizations with a host of new benefits unmatched in legacy and many modern databases.
Features that were previously announced as part of YugabyteDB 2.15 have now gone through additional internal testing and development as well as external usage. One notable feature being promoted to production use and generally available in YugabyteDB 2.16 is Packed Column Storage Format, which accelerates bulk data loading and reduces storage requirements.
Streamline Security with New KMS Options: Google and Azure
When it comes to security, you want to use tools and processes you know well and that are already corporate-approved.
YugabyteDB 2.16 saves time by delivering a wider choice of key management systems (KMS). We now include support for Google Cloud KMS and Azure Key Vault services. These options, combined with already-supported HashiCorp Vault and AWS KMS, now provide all of the most popular KMS options for centralized key management.
You can use the intuitive YugabyteDB Anywhere user interface to create KMS configurations to generate the required universe keys for one or more YugabyteDB universes. Both the Azure KMS and Google Cloud KMS consists of a key vault containing one or more keys, with each key capable of having multiple versions. Before defining a KMS configuration with YugabyteDB Anywhere, you need to create a key vault through their respectives portals first.
Embrace CDC with Better Usability and Hardening
While Change Data Capture (CDC) remains a beta feature in YugabyteDB 2.16 as we continue to work on integration with YugabyteDB Anywhere and YugabyteDM Managed, YugabyteDB 2.16 delivers a number of key updates to our CDC capabilities.
One key usability improvement involves the two supported modes: snapshot and streaming modes. In YugabyteDB 2.16, users no longer need to perform a manual transition from snapshot to streaming CDC mode. The transition is handled transparently. Once the snapshot operation is done, the streaming mode will start automatically.
Other key enhancements to CDC in YugabyteDB 2.16 include the following:
- Dynamically Add New Tables. Add new tables ad hoc to an existing CDC stream.
- Perform Schema Changes. Perform schema changes through alter tables on tables associated with CDC streams.
- Highly Available Snapshots. Initially, if you create a stream for a particular table that already contains records, the stream takes a snapshot of the table, and streams all the data from the table. After the snapshot of the whole table is completed, YugabyteDB starts streaming the changes that happen in the table. We have now added high availability to the snapshot operation.
- Before Image of Row in CDC Event. The before image is the state of the row affected by the write, prior to the write. Users can now get the before image as part of the CDC event.
Simplify Kubernetes Universes
YugabyteDB has a database architecture built for Kubernetes. Organizations are increasingly shifting to a cloud native architecture that makes use of containerized apps and services. YugabyteDB 2.16 brings the following enhancements for k8s users:
- Read Replica support for K8S universes. The simple-to-deploy read replicas in YugabyteDB Anywhere greatly improve users’ experience by distributing read copies of the data, resulting in significantly lower read latencies. Users no longer need to be physically close to the main cluster to enjoy an optimal experience. Users can now leverage k8s to configure read replicas.
- Achieve flexibility through universe-level overrides for K8S providers.K8S users often need to override settings like image registry, storage class, or pod labels. Instead of creating different providers with these settings, users can now provide universe level helm overrides to specify their desired overrides during universe creation/edit time.
- Support for K8S Cert-Manager. Cert-manager is a K8S controller that can support generation and lifecycle management of certificates from a wide variety of certificate issuers including Let’s Encrypt, HashiCorp Vault, and Venafi as well as private PKI. YugabyteDB Anywhere now integrates with Cert-Manager and allows users to seamlessly manage certificates and their lifecycle across all issuers supported by Cert-Manager for K8S universes.
Differentiate with Enhanced xCluster Replication
YugabyteDB xCluster replication is the perfect fit for applications where high performance and a high level of protection are crucial and where zero RPO and synchronous replication are less important.
The easiest way to set up xCluster replication is through YugabyteDB Anywhere, which provides UI and API support to manage asynchronous replication between independent YugabyteDB clusters. You can configure unidirectional or bidirectional xCluster replication. YugabyteDB 2.16 provides the following improvements to xCluster setup:
- Automatic bootstrapping during replication setup. Bootstrapping brings your target universe to the same checkpoint as your source universe before turning on replication. It ensures data consistency between the source and target universe. The need for bootstrapping is auto detected, and you will be able to reuse the storage configuration during the backup and restore part of bootstrapping. You have the option to specify the number of parallel threads run during bootstrapping. The greater number results in a more significantly decreased backup and restore time but increases pressure on the universes. Tables that do not require bootstrapping are set up for replication first, followed by tables that need bootstrapping—database by database.
- Detect broken replication.You can now detect if the replication is broken.
- Restart replications with API. You can restart replication using the API and view progress on xCluster tasks by navigating to Universes, selecting the source universe, and then selecting Tasks.
- Enhanced monitoring. As part of monitoring, you can now see the per-table replication state.
Accelerate Backup and Restore with up to 5x Higher Throughput
With an ever-increasing global footprint of data, DBAs need to mitigate the challenge of accommodating growing backups during a set timeframe. We are continuously working on improving the backup and restore throughput and decreasing the restore times of YugabyteDB.
YugabyteDB 2.16 introduces a new backup architecture where each node sends its data directly to the backup target in parallel. This eliminates bottlenecks and allows backups to scale with deployment size. Restore is handled similarly. The initiating node coordinates with other participating nodes in parallel to read from the dump file and restore the nodes.
This scalable new architecture allows each node to deliver up to a 5x improvement in backup and restore times compared to previous versions. The new capabilities can be deployed and used without configuration changes. For more details refer to this YugabyteDB 2.17: Faster, Better Protection for Your Business-Critical Apps or Back up and Restore Universes.
Implement Custom Hooks During Pre-Post Provisioning and Upgrades (API only)
YugabyteDB Anywhere users often need to run their own scripts before or after the completion of a particular task. For example:
- Installing/configuring software on cluster nodes post-provisioning
- Updating software in the wake of security vulnerabilities
- Running pre- or post-flight checks before and after upgrades
YugabyteDB 2.16 provides the framework to support custom hooks on YugabyteDB Anywhere. Custom hooks are scripts that the customer wants to run before or after the completion of a particular task. These hooks can be triggered pre/post node provisioning, pre/post upgrade, or can be API triggered. Hooks are singular, self-contained text files and must be idempotent. The custom hook infrastructure currently supports executing hooks using Bash or Python.
Simplify load balancing with new Node.js Smart Driver for YSQL
The key to maintaining optimal performance in a distributed database is managing the connections and load across nodes. For strong performance and fault tolerance in YugabyteDB, you can simplify balancing application traffic (i.e. connections to the database) across the nodes in the cluster through cluster-aware smart drivers.
Smart drivers help avoid excessive load (CPU and memory) on any single node, eliminating hot nodes. YugabyteDB 2.16 includes an enhanced YugabyteDB node-postgres smart driver, a distributed Node.js driver for YSQL built on the PostgreSQL node-postgres driver, with additional connection load balancing features.
Get Started and Learn More
We’re excited to deliver these innovative enterprise-grade features in YugabyteDB 2.16, the latest stable version of our flagship database. Discover more, or try YugabyteDB today:
- Download YugabyteDB 2.16—installation takes just a few minutes.
- If you’re a startup, take advantage of the YugabyteDB Managed Quantum Leap program and get $10,000 USD towards a YugabyteDB Managed database in production.
- Join the YugabyteDB Slack Community for interactions with the active YugabyteDB community, and real-time discussions with our engineering teams.