【发布时间】:2014-09-25 23:59:10
【问题描述】:
我正在听 this talk 关于 Cassandra 中的数据建模。演讲者的一般性陈述是“在 Cassandra 中写入比读取更快”。
这种情况总是正确的吗?如果是,为什么?
【问题讨论】:
标签: cassandra-2.0
我正在听 this talk 关于 Cassandra 中的数据建模。演讲者的一般性陈述是“在 Cassandra 中写入比读取更快”。
这种情况总是正确的吗?如果是,为什么?
【问题讨论】:
标签: cassandra-2.0
这仍然是正确的,即使不像过去那样有很大的不同。写入通常执行得更好,因为它不涉及太多 I/O——当数据同时写入提交日志(文件)和内存(内存表)时,写入操作完成。当 memtable 达到最大大小时,所有表都会刷新到磁盘 sstable 中。由于不同的原因,读取可能需要更多的 I/O。读取操作首先涉及从布隆过滤器(与 sstable 关联的过滤器,它可能会节省 I/O 时间,说明数据肯定不存在于关联的 sstable 中),然后,如果过滤器返回正值,Cassandra 开始寻找sstable 来查找数据。 HTH,卡罗
【讨论】: