Cassandra 消除关于NoSQL数据库的混淆
这个问题是关于NoSQL的(例如,以cassandra为例)Cassandra 消除关于NoSQL数据库的混淆,cassandra,database,nosql,Cassandra,Database,Nosql,这个问题是关于NoSQL的(例如,以cassandra为例) 当您使用没有数据复制的NoSQL数据库时,是否确实没有一致性问题?也不是在访问并发的情况下 如果一个分区在两个分区中都写入了同一行(可能多次),会发生什么情况?当分区消失时,使用哪个写值 假设你使用N=5w=3r=3。这意味着您已经保证了一致性,对吗?使用这个法定人数有多好?有3个节点返回数据,这不是很大的开销吗 能否在cassandra中指定每个查询是否希望查询具有保证的一致性?例如,您执行一个insert查询,并希望强制所有复制
- 当您使用没有数据复制的NoSQL数据库时,是否确实没有一致性问题?也不是在访问并发的情况下
- 如果一个分区在两个分区中都写入了同一行(可能多次),会发生什么情况?当分区消失时,使用哪个写值
- 假设你使用N=5w=3r=3。这意味着您已经保证了一致性,对吗?使用这个法定人数有多好?有3个节点返回数据,这不是很大的开销吗
- 能否在cassandra中指定每个查询是否希望查询具有保证的一致性?例如,您执行一个insert查询,并希望强制所有复制副本在读取操作返回值之前完成插入
- 如果您有:employeeID{PK:employeeID,departmentId,employeeName,birthday}和部门{PK:departmentId,departmentName},并且您希望使用特定的部门名称获取所有员工的生日。两个问题:
- 您不能要求所有员工都有一个给定的生日(因为您只能查询主键)
- 无法加入员工和部门列族,因为无法加入
在这种情况下,无论何时员工被解雇/雇用,都必须将其删除/添加到“部门生日”列中。这个过程是你必须手动完成的吗?因此,您必须手动创建查询以更新所有冗余/非规范化数据?我将从cassandra的角度回答这一问题,因为这正是您所看到的(几乎没有任何两个nosql存储是相同的!)