Mapreduce 如何评估卡桑德拉的表现?
我是新来卡桑德拉的。我在Cassandra数据库上学习并进行了一些测试,我发现了一些问题:Mapreduce 如何评估卡桑德拉的表现?,mapreduce,cassandra,cassandra-2.0,query-performance,Mapreduce,Cassandra,Cassandra 2.0,Query Performance,我是新来卡桑德拉的。我在Cassandra数据库上学习并进行了一些测试,我发现了一些问题: 鉴于Cassandra鼓励数据的非规范化和重复,当多个列族中的数据仅从其中一个列族更新时,如何保证数据一致性 表中的列数会影响查询性能吗 确实,查询返回的记录数越多,其性能就越差 在Cassandra中使用mapreduce在什么情况下有用 鉴于Cassandra鼓励非规范化和复制 数据,当存在于多个列族中的数据是 仅从其中一个列族更新数据一致性 保证 这正是卡桑德拉引入的原因。即使使用批处理,您仍然处于
数据,当存在于多个列族中的数据是
仅从其中一个列族更新数据一致性 保证 这正是卡桑德拉引入的原因。即使使用批处理,您仍然处于分布式系统中,在建模数据时也需要这样考虑。既然你没有具体的问题,我们就继续从理论上讲 表中的列数会影响查询性能吗 与其说是列的数量,不如说是每个分区的大小。分区越大,卡桑德拉的一些内部机制(如压缩)就越难工作。如果您不熟悉数据是如何存储在磁盘上的,我建议您看看本教程 确实,查询返回的记录数越多, 它的性能更差 这是物理。更多数据=更多IO、带宽、GC要收集的对象等。鉴于Cassandra是作为事务数据存储构建的,它不是为超大数据返回/全表扫描构建的(真正分布式的系统很少)。上面链接的教程很好地解释了这一点 在Cassandra中使用mapreduce在什么情况下有用 如果您对在Cassandra上运行分析感兴趣,我建议您使用Spark,因为在商业和开源级别上,Spark和Cassandra的关系都有很多优化工作。当你们对Cassandra的工作方式感到满意时,若你们对Cassandra有兴趣的话,我建议你们看看这个教程。它谈到了商业产品,但概念/教程也将适用于开放源码
关于第一个问题,如果我有两个表,A和B,具有相同的数据和相同的列,只是主键不同。如果我更改表a中某一行的值,则此更改可能也会在表B中传播?嗨,彼得-还没有。在我看到的一些JIRA的基础上,这些方面有了一些发展,但就目前而言,必须同时(从应用程序)进行更新,以保持表之间的一致性。