将来自社区的Apache Cassandra专家和DataStax聚集在一起。

想学习吗?有一个问题?想分享您的专业知识吗?你是在正确的地方!

不知道从哪里开始? 入门

 

问题

姆帕卡蒂头像图片
姆帕卡蒂 ·

为什么在Cassandra中允许无限制的读取?

你好,

如果我正确理解了cassandra的基础,比如“ select * from mytable”这样的语句,其中mytable在100个表中有大量数据,则上述查询将遍及所有节点以获取数据。根据数据量的不同,这又会对集群造成很大压力。如果是这样,为什么允许没有限定符的“从表中选择*”?

cql
10 | 1000 所需字符 剩余字符 超出字符

最多可以使用8个附件(包括图像),每个附件最多1.0 MiB,总共10.0 MiB。

1 回答

斯马达万头像图片
斯马达万 已回答 ·

@mprkatti, thank you for your question. Your understanding is correct that when leveraging SELECT * ... type queries on a table containing 巨大的 跨越 NoSQL Cassandra群集,它必须扫描整个群集以找到需要提取的数据。在此社区门户网站中,有许多有关正确数据建模的问题和解答。我建议您开始 //docs.fast-sem.com/en/cql-oss/3.x/cql/ddl/ddlCQLDataModelingTOC.html 以及学院提供的免费课程。关于您的另一个问题,为什么允许从没有限定符的表中选择数据,它可用于获取一些小表。考虑一个表的示例,该表具有一个国家/地区的州,与在大型表上进行操作相比,该国家/地区只会有很少的记录和查询,不会对集群造成压力。希望能给您一个开始!

2 评论 分享
10 | 1000 所需字符 剩余字符 超出字符

最多可以使用8个附件(包括图像),每个附件最多1.0 MiB,总共10.0 MiB。

@smadhavan 感谢您的答复。作为后续操作,如果集群中包含针对特定表的大量数据,cassandra是否会自动禁止select *?我没有设置可以测试这种情况。因此这个问题。

0个赞 0 ·

@mprkatti,这是不允许的。如果您想快速玩Cassandra并了解它,可以随时使用 //www.fast-sem.com/dev 您只需要安装一个具有互联网连接的浏览器即可启动网站而无需安装任何内容!让我们知道怎么回事。

0个赞 0 ·