Yugabyte, the company behind the leading distributed SQL database, today announced the general availability of YugabyteDB 2.9. This latest release delivers the industry’s first smart JDBC client driver with an understanding of the distributed architecture of a YugabyteDB cluster. The Yugabyte Smart Driver for SQL pushes the state of SQL forward, allowing applications to get better performance and fault tolerance by connecting to any node in a distributed SQL database cluster without the need for an external load balancer. The client driver is available as open source software under the Apache 2.0 license.
Since YugabyteDB is feature compatible with PostgreSQL, applications can use many of the widely available PostgreSQL client drivers to connect to a YugabyteDB cluster. However, the new driver is optimized for use with a distributed SQL database. The Yugabyte Smart Driver for SQL is both cluster-aware and topology-aware. The driver keeps track of the members of the cluster as well as their locations. As nodes are added or removed from clusters, the driver updates its membership and topology information. The Yugabyte Smart Driver for SQL offers several advantages over a PostgreSQL driver:
- Simplify operations by eliminating the load balancer: Because PostgreSQL JDBC drivers are designed for a single-node database, they do not keep track of the nodes of a distributed database cluster or their locations. Customers rely on external load balancers to route requests to different nodes in a database cluster, adding to the operational overhead. Yugabyte’s new driver eliminates the need for an external load balancer.
- Improve performance by connecting to nearby nodes: Client applications can identify and connect to the database cluster nodes closest to them to achieve lower latency.
- Improve availability with better failure handling: If a database node becomes unreachable due to a network issue or server failure, clients can connect to a different node in the cluster. Retry logic on the client-side can make failures transparent to the end-user.
“Cloud native transactional applications need databases that deliver high availability and scale without sacrificing relational database features,” said Karthik Ranganathan, co-founder and CTO, Yugabyte. “Homegrown solutions address this need by replicating data across nodes and deploying one or more load balancers to connect to the nodes. This approach results in complex and brittle applications that are hard to run in production. Yugabyte is on a mission to simplify this. We are proud to be pushing the boundary of relational databases for a cloud native world with innovations like our distributed SQL database and the Yugabyte Smart Driver for SQL.”
In addition to the new driver, YugabyteDB offers a number of creative capabilities that push the boundaries of SQL for a distributed database. These include:
- Highly efficient distributed transactional backups that work on large data sizes without impacting the foreground performance observed by application clients.
- Fine-grained point in time recovery that allows users to rollback unintended changes and restore YugabyteDB databases to a previous point in time with minimal impact to the cluster.
- Transaction savepoints that simplify rollback of transactions to a previous point in time to restore consistency.
- Reduction in network bandwidth usage with RPC compression to significantly reduce costs associated with cross-AZ or cross-region network traffic with minimal CPU overhead.
- Dynamic cluster scaling with tablet splitting and automatic data re-sharding while online, and transparently to users.