Cassandra 卡桑德拉解释
我是从学校学卡桑德拉的。我有几个问题要问。请帮助我理解这些背后的逻辑 假设我有两张桌子 1) 用户Cassandra 卡桑德拉解释,cassandra,datastax,nosql,Cassandra,Datastax,Nosql,我是从学校学卡桑德拉的。我有几个问题要问。请帮助我理解这些背后的逻辑 假设我有两张桌子 1) 用户 First Name- Text Last Name- Text UserID - UUID PRIMARY KEY 2) 股票 Stock ID PRIMARY KEY UserID ColXYZ 现在我的疑问是:- 1) 我需要使用first\u name='XYZ'筛选User表。这是一个瓶颈,因为它不是PM,所以我无法过滤它。这种架构背后有什么原因吗 2) 由于我不能按PM以外的任何列
First Name- Text
Last Name- Text
UserID - UUID PRIMARY KEY
2) 股票
Stock ID PRIMARY KEY
UserID
ColXYZ
现在我的疑问是:-
1) 我需要使用first\u name='XYZ'
筛选User
表。这是一个瓶颈,因为它不是PM,所以我无法过滤它。这种架构背后有什么原因吗
2) 由于我不能按PM以外的任何列进行过滤,我如何记住用户的UUID??例如:-假设用户XYZ有一个UUID7892hbwdw81212ww(某物)
,我首先如何知道用户XYZ的UUID???因为我不能按任何其他列进行筛选,所以我需要知道该用户的UUID?我怎么知道呢
3) 因为对于RF>1,协调器根据拓扑将请求转发到不同的节点,然后根据最新的时间戳向客户端作出响应。如果1模式响应缓慢,并且该节点具有最新更新的数据,该怎么办?在那种情况下会发生什么
4) 谁决定需要将数据复制到哪个节点?我知道协调员根据分区键将请求转发到实际节点,数据需要存储在该节点上。但数据将在哪些节点中复制
5) 此外,使用Cassandra本身就是一项艰巨的任务,因为我可以看到DB设计在其中是一项艰巨的任务。我们的模型设计应该是完美的(对于像我这样的新手来说,这并不总是可能的),我们是否应该认真考虑卡桑德拉作为数据源?? < P>我可能会(遗憾地)咬…用户1162512:)
希望这能有所帮助。ans1。在first_name列上创建索引,如:- 在用户上创建索引firstname(first_name); 如果您可以按名字选择数据,请在选择查询结束时提供“允许筛选” ans2。ans1 first将解决第二个问题 答复3。如果设置了多个一致性级别,则cassandra将匹配来自等于一致性级别的节点的数据,而不是提供更新的数据 答复4。复制由cassandra根据网络距离决定
回答5.在cassandra上进行一些练习后,这将很容易。您可以将其用作数据源。以后,请尝试将您的问题限制为一个实际问题。感谢ashic提供的非常好的“尖刻”解释:这在某种程度上消除了我的疑虑。但我仍然不清楚如何对Cassandra DB建模的概念。你能不能再“咬”我一口,给我提供一个很好的体验。谢谢:)有人考虑使用二级索引或允许筛选吗