我是 NoSQL 的新手,我正试图了解如何为电子商务网站正确建模数据。亚马逊有针对不同类型产品的这些过滤器,例如,如果您搜索笔记本电脑,则会有品牌、处理器、硬盘、显卡、操作系统等过滤器。
所以据我所知,首先主键将按浏览节点 ID(即此处的笔记本电脑)进行分区,然后我们可以将其他键作为排序键,但问题是如果有 6 个过滤器,将会有可以组成64种组合。我可以选择品牌和处理器,或者品牌和显卡,或者处理器和显卡,这将与过滤器的数量成指数关系,所以我假设为每种可能性都准备一个表格是不可行的。
我也怀疑在获取整个分区数据后进行过滤是否可行,那样太慢了。那么应该如何对数据库进行建模。 对不起,如果我的问题没有意义。
最佳答案
您要做的是搜索和过滤。我认为尝试在 cassandra 中模拟所有此类条件组合不是一个好主意,而且它可能无法扩展。对于高流量企业系统,使用 ElasticSearch 或 SOLR 是此类场景的选择之一,而不是直接查询数据库(即使它是 RDBMS)。
关于database - 在 cassandra 中,如果我每个查询都有一个表并且我有多个过滤器组合,我是否为每个查询创建一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51119823/