0

I have started understanding and working with cassandra recently.

I have created two Column Families. For CF1, a write is an insert into a unique row with all column values. Eg: Sequence of insert operations could be like this :

      Key Col1  Col2   Col3
      k1  c11   c12   c13
      k2  c21   c22   c23

For CF2. a write is an insert into a time stamped column of a row. Eg: Sequence of insert operations could be like this :

     Key  timeCol1  timeCol2
     k1   ct11
     k1   ct11        ct12
     k2   ct21
     k2   ct21        ct22

I am using YCSB and using thrift based client.batch_mutate() call. For CF1, i send all column vals for a row through the call. For CF2, i send the new column vals for a row.

Now say opscenter reports the "write requests" as say 1000 operations/sec when a record count is say 10000 records.

What does an operation mean from opscenter perspective? Does it mean unique row inserts across all column families ? Does it mean count of each mutations for a row ? How does opscenter identify a unique operation ? From application perspective an operation means differently for both column families.

Can some one guide me ?

Thanks, Arun

Arun K
  • 3
  • 3

1 Answers1

3

The "Write Requests" and "Read Requests" metrics represent the number of operations from external clients, so single batch_mutate call is 1 request, regardless of how many mutations it contains.

The "CF: Local Writes" and "CF: Local Reads" metrics represent the number of operations received at the local node, typically from a coordinator node. For a single insert, the number of "CF: Local Writes" would equal "Write Requests" x RF for that keyspace. For batch_mutate calls, each mutation within the batch is counted separate at the "CF: Local Writes" level.

These operations are only at the row level, and there isn't any sort of intelligent processing/merging based on the data involved. eg, running the same update query twice will yield 2 operations.

mbulman
  • 366
  • 1
  • 4