一直对cassandra做测试,但是测试的结果却跟官方提供的写快,读慢的情况相反。一直没找到问题的答案。
最近在做大数据量的测试时才想起了conf/storage-conf.xml中的这个字段rowcached:
~ The optional RowsCached attribute specifies the number of rows
~ whose entire contents we cache in memory. Do not use this on
~ ColumnFamilies with large rows, or ColumnFamilies with high write:read
~ ratios. Specify a fraction (value less than 1), a percentage (ending in
~ a % sign) or an absolute number of rows to cache.
~ RowsCached defaults to 0, i.e., row cache is off by default.
意思大概是有多少row的数据会放到内存中而不是写入到文件中。
将该值设置为具体的值后测试发现,写的性能明显提升了很大的一块,读的性能也有明显的加快。
所以说官方给出的结果是基于内存的形式做出,即打开了rowcache属性,如果不打开该属性,默认不使用内存的话,即使是使用sstable,性能上也会因为写文件而拖慢。
另外注意磁盘写入的操作,根据业务能容忍的情况合理安排数据,当然还要根据多节点的复制策略进行规划。
分享到:
相关推荐
[Packt Publishing] Cassandra 高性能开发经典实例 (英文版) [Packt Publishing] Cassandra High Performance Cookbook (E-Book) ☆ 出版信息:☆ [作者信息] Edward Capriolo [出版机构] Packt Publishing ...
- **复制与一致性**:解释Cassandra中数据的复制机制,包括一致性级别的选择及其对读写性能的影响。 - **故障检测与恢复**:介绍Cassandra如何检测节点故障,并自动进行数据恢复的过程。 - **数据修复**:阐述...
NoSQL数据库(如MongoDB,Cassandra):Cassandra的索引与性能优化.docx
在此次性能对比测试中,bankmarkUG使用了Yahoo Cloud Serving Benchmark(YCSB)作为测试平台,目的是为了比较SequoiaDB、Cassandra和MongoDB在不同工作负载场景下的性能表现。YCSB是一个用于评估云存储系统中数据库...
Cassandra,作为NoSQL数据库家族中的重要成员,因其高可用性、可扩展性和出色的性能,在大数据处理领域得到了广泛应用。本书旨在帮助读者理解Cassandra的核心概念、架构设计以及实际操作技巧。 在Cassandra的世界里...
在3.11.3版本中,Cassandra增强了数据复制的策略,能够更好地管理数据在集群中的分布,确保数据一致性的同时提高读写性能。 其次,Cassandra支持列式存储,这与传统的行式存储有所不同。列族数据库在处理大量稀疏...
4. **性能监控**:DevCenter能够监控Cassandra集群的性能指标,如读写速率、延迟、节点状态等,帮助用户识别潜在的问题并优化系统性能。 5. **版本控制**:通过DevCenter,用户可以跟踪和管理Cassandra模式的版本。...
5. ** tombstone issue**:Cassandra使用tombstones来标记已删除的数据,但过多的tombstones会增加GC压力,影响性能。 6. **写入策略**:如异步写入和同步写入的选择,不同的策略会影响性能。同步写入保证了强一致...
Spring Data Cassandra提供了对Cassandra的JPA支持,允许开发者使用注解驱动的方式进行数据操作。首先,定义一个Cassandra实体类,比如`User`,并使用`@Table`指定表名,`@Column`指定列名: ```java import org....
本文档详细阐述了CQL的数据建模、查询方法、数据类型、索引使用、轻量级事务处理、一致性级别跟踪以及一致性对性能影响等方面的知识。 在数据建模方面,CQL支持多种数据结构。文档提到了复合键(compound keys)和...
标题与描述均提到了“MariaDB与Cassandra的互操作性”,这主要指的是MariaDB中的Cassandra存储引擎(Cassandra Storage Engine)。这是一个重要的知识点,它实现了MariaDB与Cassandra数据库之间的桥梁,允许用户在...
Cassandra是一款高性能、高可用性的分布式NoSQL数据库,其架构设计主要应对...这些设计使得Cassandra能够在大规模分布式环境中展现出优越的性能和良好的可伸缩性,适用于需要处理大量数据和高并发读写场景的应用。
2. **一致性哈希**:Cassandra使用一致性哈希来分布数据,这使得添加或删除节点时对整体性能的影响最小。 3. **列族模型**:不同于传统的行存储,Cassandra采用列族(Column Family)模型,允许灵活的数据结构,...
Hector提供了对Cassandra的各种操作,包括CRUD(创建、读取、更新和删除)操作,以及更复杂的查询和索引管理。 Hector的使用步骤: 1. 添加依赖:首先,要在项目中引入Hector库的依赖。通常,这可以通过Maven或...
在Cassandra 1.2 中,引入了超级列族(Super Column Family),允许在一个列族中组织更多的列,但后来在更高版本中被Composite Keys替代,以提供更好的查询性能。 ### 3. 数据复制 Cassandra 提供了数据复制功能,...
将 YCSB 与 Cassandra 结合,我们可以对 Cassandra 数据库进行压力测试,了解其在不同工作负载下的性能表现。 ### YCSB 简介 YCSB 的设计目标是提供一个通用的框架,以便于对比和分析不同云存储系统的性能。它提供...
7. **索引和查询优化**:Cassandra 3.11.13可能会包括对索引和查询性能的优化,使得复杂的查询更加高效。通过索引,用户可以更快地定位到所需的数据。 8. **TTL (Time To Live)**:Cassandra 支持设置数据的生存...
LSM树的这个特性允许Cassandra以非常高的吞吐量进行数据写入,而不会影响数据库的性能。 Cassandra的架构也借鉴了其他两个著名的分布式系统:Bigtable和Dynamo。Bigtable是由谷歌在2006年发布的一篇论文中介绍的一...
【标题】:“Cassandra-Operator:Apache Cassandra在Kubernetes中的算子实现” 【内容】: Apache Cassandra是一款分布式NoSQL数据库系统,广泛应用于大数据存储和实时分析。为了在容器化环境中,特别是Kubernetes...