Latest NoSQL Java Ecosystem Updates 2022 Q3 & Q4
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
- Spark 3.3 support
- Improved Cosmos DB Live Migration in Spark Connector
- Optimisations for readMany API
- IntelliJ Support
- JDK 17 support
- Azure Cosmos Kafka Connector Improvements
- Client Side Metrics via Micrometer.io Meter Registry
- All Changes and Deletes support for Change Feed
- Spring Boot Version 2.7.x support
- 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.
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.
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.
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.
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.
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:
- Java SDK change log
- Spring Data Client Library change log
- OLTP Spark Connector change log
- Kafka Connectors change log
Get Started with Java in Azure Cosmos DB
- Azure Cosmos DB Java SDK v4 technical documentation
- Diagnose and troubleshoot Azure Cosmos DB Java SDK v4
- Java SDK v4 getting started sample application
- Azure Cosmos DB Spring Data Sample
- Cosmic Works Java
- Release notes and additional resources
- Exploring the Async API (reactor programming)
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 SLAs, automatic 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.