我们计划将 Cassandra 3.0.14 升级到 Cassandra 4.1.1,并且我们正在检查当前 Java SDK 版本 (3.3.0) 与 Cassandra 4.1.1 的兼容性。
我已经用我们当前的实现对其进行了测试,似乎没有任何问题。
基于此链接:https://docs.datastax.com/en/driver-matrix/docs/java-drivers.html,对于 Cassandra 驱动程序版本 3.0+ 到 Apache Cassandra 4,“部分兼容”意味着什么?
早期版本的 Java 驱动程序的“部分兼容性”意味着,尽管旧版本可以连接到 Cassandra 4.x 集群,但这些驱动程序仅限于 Cassandra 3.x 和 2.2 API,特别是本机 CQL 二进制协议v4。
Cassandra 4.0 中添加了CQL 本机协议 v5 ( CASSANDRA-9362 )。从驱动程序的角度来看,与 v4 相比,主要变化是能够指定每个查询的键空间以及改进对准备语句的处理。
值得注意的是,本机协议 v5 处于测试版支持状态有一段时间 ( CASSANDRA-12142 ),并且测试版状态直到 Java 驱动程序 v4.11.0 ( JAVA-2704 )才解除。
Java 驱动程序 v4 与 Java 驱动程序 v3 不二进制兼容,因此如果您决定升级,则需要重构您的应用程序。
在大多数情况下,本机协议 v5 的改进尚未实现 ( CASSANDRA-18478 ),因此您应该可以继续使用 Java 驱动程序的 v3.x。但是,Java 驱动程序 v3.3.0 已于 6 年前发布,因此我们建议您升级到最新的 3.x 补丁版本,在撰写本文时该版本为 Java 驱动程序 v3.11。干杯!