是否有任何 DSE 6.x 版本支持 C* 4.x sstable 格式 (-nb-)?我想使用 sstableloader 将数据从 apache C* 4.x 加载到 DSE 6.x。将 C* 4.x sstables 导入 DSE 6.x 的最佳推荐升级路径(兼容)是什么?
- DSE 6.x - 协议 DSE_V2 - (sstable 格式
-bb-
) - C* 4.x - 协议 v5 - (sstable 格式
-nb-
)
使用 Apache Cassandra 4.x sstableloader -> 即使按照文档application.conf
添加( v4
) ,客户端仍无法协商协议。无论提供何种兼容驱动程序,错误仍然相同:EXTRA_CLASSPATH
com.datastax.driver.core.exceptions.UnsupportedProtocolVersionException: \
[/10.x.x.x:9042] Host does not support protocol version V6 but V5.
使用 DSE 6.8.x sstableloader -> 从 4.x 导入-nb-
sstables 完成且无错误,但 DSE 集群的 /data 路径中没有文件并SELECT * from TABLE
返回 0 行。使用nodetool refresh
和nodetool import
似乎没有帮助。
Datastax 文档中没有关于 C* 4.x 与 DSE 兼容性的明确信息。任何与此相关的链接或信息都会有所帮助。谢谢!
DataStax Enterprise (DSE) 6.8/6.9中的存储引擎基于:
因此,尽管 DSE 具有仅在 Apache Cassandra 较新版本中可用的高级功能,但 DSE 仅支持使用DataStax 产品兼容性矩阵
m*
中记录的 C* 3.x SSTable 格式,而不支持C* 4.x 中的较新格式。n*
m*
支持与 DSE 6 一起使用的C* 3.x SSTable 格式包括:ma
从 3.0.0 开始mb
从 3.0.7、3.7 开始mc
从 3.0.8、3.9 开始md
从 3.0.18、3.11.4 开始me
来自 C* 3.0.25、3.11.11这些 C* SSTable 格式比 DSE 6 中底层的 C* 版本更新,因此不受支持:
na
从 4.0-rc1 开始nb
从 4.0.0 开始oa
从 5.0.0 开始如果您尝试加载不受支持的格式的 SSTable,DSE 中的存储引擎将无法识别这些格式,因此将忽略它们。
顺便提一下,DataStax 超融合数据库 (HCD)是 Cassandra 的云原生发行版(意味着它已为 Kubernetes 做好准备),它基于 Apache Cassandra 4.x,但具有针对 Gen AI 应用程序的向量搜索功能,并且包含数据 API,为开发人员提供 API 访问权限以执行 CRUD 操作。如果您确实需要使用 C* 4.x SSTables,HCD 可能是一个不错的选择,但请注意,HCD 是与 DSE 完全不同的产品。
由于我多次提到过这家公司,因此为了全面披露,我是一名 Apache Cassandra 提交者,在 DataStax 工作。干杯!