我尝试根据 Cassandra 查询语言 (CQL) 识别引擎(Cassandra、Scylla、AstraDB、CosmosDB、Yugabyte 等)。我专注于表 system.local 和 system.peers,请参阅示例:
SELECT release_version FROM system.local;
和
SELECT release_version FROM system.peers;
但是我没有得到系统/引擎的相关信息。这个问题你解决了吗?
据我所知,Cassandra(或发行版)的所有版本均未报告其“引擎”的类型。
在 Apache Cassandra 中,
release_version
只是发行版本,例如:
cqlsh> SELECT release_version FROM system.local;
release_version
-----------------
4.1.5
DataStax 的 Astra DB 报告发布版本为:
release_version
-----------------
4.0.0.6816
在不知道您的用例的情况下,我无法想到报告分发/分叉的情况是有意义的,因为这是您在连接到数据库时已经提前知道的事情。
例如,您需要安全捆绑包和应用程序令牌才能连接到 Astra DB。这不是其他版本的 Cassandra 所需要的。同样,您已经从接触点知道您正在连接到 ScyllaDB Cloud 实例。
我可以想到有限的情况,您不会预先知道您要连接到哪种 Cassandra 分支或发行版。干杯!