Cassandra 4.0 虚拟表如何读取数据?

Posted

技术标签:

【中文标题】Cassandra 4.0 虚拟表如何读取数据?【英文标题】:How Cassandra 4.0 virtual table reads data? 【发布时间】:2020-12-27 11:35:44 【问题描述】:

从文档中可以看出,在 cassandra 4.0 中,虚拟表是只读的,不允许写入。

目前有 2 个 vtables 可用,即 system_views 和 system_virtual_schema,它包含 17 个表。

这包含客户端、缓存、设置等数据。

这些数据在 vtables 中究竟来自哪里?

这里是所有 vtables:https://github.com/apache/cassandra/tree/64b338cbbce6bba70bda696250f3ccf4931b2808/src/java/org/apache/cassandra/db/virtual

PS:我已经通过 cassandra.yaml 参考:https://cassandra.apache.org/doc/latest/new/virtualtables.html

【问题讨论】:

thelastpickle.com/blog/2019/03/08/… 【参考方案1】:

虚拟表存储的指标数据以前只能通过 JMX 获得,但现在也可以通过 CQL 获得。

例如,system_view.clients 表跟踪客户端连接上的元数据,包括(但不限于):

客户端的远程IP地址 登录用户(如果启用了身份验证) 协议版本 驱动程序名称和版本 是否使用 SSL 等

这些数据可通过 JMX 和 nodetool clientstats 获得,现在可通过 CQL 检索(我在 https://community.datastax.com/questions/6113/ 中写过此内容)。干杯!

【讨论】:

以上是关于Cassandra 4.0 虚拟表如何读取数据?的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 如何读取数据/写模式如果影响读取

Cassandra如何保证数据最终一致性

从 Cassandra 填充缓存的正确方法

spark如何在cassandra表之间复制数据?

如何防止来自 Cassandra 的 Dataflow 读取并行度降低

cassandra使用java驱动读取大量数据