你好,
如果我正确理解了cassandra的基础,比如“ select * from mytable”这样的语句,其中mytable在100个表中有大量数据,则上述查询将遍及所有节点以获取数据。根据数据量的不同,这又会对集群造成很大压力。如果是这样,为什么允许没有限定符的“从表中选择*”?
@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 以及学院提供的免费课程。关于您的另一个问题,为什么允许从没有限定符的表中选择数据,它可用于获取一些小表。考虑一个表的示例,该表具有一个国家/地区的州,与在大型表上进行操作相比,该国家/地区只会有很少的记录和查询,不会对集群造成压力。希望能给您一个开始!
@smadhavan 感谢您的答复。作为后续操作,如果集群中包含针对特定表的大量数据,cassandra是否会自动禁止select *?我没有设置可以测试这种情况。因此这个问题。
@mprkatti,这是不允许的。如果您想快速玩Cassandra并了解它,可以随时使用 //www.fast-sem.com/dev 您只需要安装一个具有互联网连接的浏览器即可启动网站而无需安装任何内容!让我们知道怎么回事。
DataStax Enterprise由Apache Cassandra™的最佳发行版提供支持
©2021 DataStax,Titan和TitanDB是DataStax,Inc.及其在美国和/或其他国家/地区的子公司的注册商标。
Apache,Apache Cassandra,Cassandra,Apache Tomcat,Tomcat,Apache Lucene,Lucene,Apache Solr,Apache Hadoop,Hadoop,Apache Spark,Spark,Apache TinkerPop,TinkerPop,Apache Kafka和Kafka是Apache Software Foundation的注册商标或商标。或其在加拿大,美国和/或其他国家/地区的子公司。
隐私政策 使用条款