January 26th, 2023

Latest NoSQL Java Ecosystem Updates 2022 Q3 & Q4

Theo van Kraay
Principal Program Manager

We’re always busy adding new features, fixes, patches, and improvements to our Java-based client libraries for Azure Cosmos DB API for NoSQL. In this regular blog series we’ll share highlights of recent updates in the last period.

 

July – December 2022 updates

  1. Spark 3.3 support
  2. Improved Cosmos DB Live Migration in Spark Connector
  3. Optimisations for readMany API
  4. IntelliJ Support
  5. JDK 17 support
  6. Azure Cosmos Kafka Connector Improvements
  7. Client Side Metrics via Micrometer.io Meter Registry
  8. All Changes and Deletes support for Change Feed
  9. Spring Boot Version 2.7.x support
  10. Fixes, patches, and enhancements

 

Spark 3.3 support

Cloud-native hybrid transactional and analytical processing (HTAP) is supported in Azure Cosmos DB through Synapse link, using OLTP and OLAP Spark connectors, which now support Spark 3.3 as of December 2022.

Apache Spark 3.3.0: что нового? Краткий обзор свежего релиза

Improved Cosmos DB Live Migration in Spark Connector

During November 2022, we improved Cosmos DB Live Migration support using the OLTP Spark connector by enhancing our existing sample to allow multiple container migration simultaneously. This improvement also contains different deployment configurations defined through metadata.

Optimisations for readMany API

The readMany method in the Java V4 is a popular API for navigating the trade-off between the need to run many individual reads in parallel and the cost of having a large enough number of client machines or cores standing by to serve that requirement. During November 2022 we added optimisations to improve performance in cases where only a single item is requested from a physical partition, as well as adding diagnostic improvements.

Image readmanystats

IntelliJ Support

In September and November we announced IntelliJ support for Azure Cosmos DB via the Azure ToolKit for IntelliJ plugin.

JDK 17 support

Support for Java 17 came during October 2022 for the Java SDK, Spring and Spark Connector.

Azure Cosmos Kafka Connector Improvements

We’ve listened to feedback and worked closely with our customers to add bulk support by default, improving ingestion throughput capability for the Sink connector. We’ve also added gateway mode support to the Kafka Connector.

Image data migrations

Client Side Metrics via Micrometer.io Meter Registry

During September 2022 we have added the option to emit metrics from the Azure Cosmos DB Java SDK via a micrometer MeterRegistry as well as doing so from the Spark connector via configuration. Check out documentation on how to enable client side metrics.

Image micrometer

All Changes and Deletes support for Change Feed

During September we also added support in the Java SDK for allowing all changes and deletes in the change feed to be visible (also known as “full fidelity” change feed).

Note: at the time of writing this is a private preview feature in the Azure Cosmos DB backend. If you want to enable this feature, contact support.

Image changefeedoverview

Spring Boot Version 2.7.x support

June 2022 saw the Cosmos Spring Data Client Library get support for Spring Boot version 2.7.x. We’ll be releasing support for version 3.0.x soon!

Fixes, patches, and enhancements

In addition to all of the above features, we have of course made a large number of smaller bug fixes, security patches, enhancements, and improvements. You can track all the changes for each client library, along with the minimum version we recommend you use, by viewing the change logs:

 

Get Started with Java in Azure Cosmos DB

About Azure Cosmos DB

Azure Cosmos DB is a fast and scalable distributed NoSQL database, built for modern application development. Get guaranteed single-digit millisecond response times and 99.999-percent availability, backed by SLAsautomatic and instant scalability, and open-source APIs for MongoDB and Cassandra. Enjoy fast writes and reads anywhere in the world with turnkey data replication and multi-region writes.

To easily build your first database, watch our Get Started videos on YouTube and explore ways to dev/test free

Author

Theo van Kraay
Principal Program Manager

Principal Program Manager on the Azure Cosmos DB engineering team. Focused on Apache Cassandra offerings, Java ecosystem, high availability, and customer success.