
Недавно я начал понимать Кассандру и работать с ней.
Я создал два семейства столбцов. Для CF1 запись — это вставка в уникальную строку со всеми значениями столбцов. Например: Последовательность операций вставки может быть такой:
Key Col1 Col2 Col3
k1 c11 c12 c13
k2 c21 c22 c23
Для CF2. запись — это вставка в столбец строки с временной меткой. Например: Последовательность операций вставки может быть такой:
Key timeCol1 timeCol2
k1 ct11
k1 ct11 ct12
k2 ct21
k2 ct21 ct22
Я пользуюсь услугами YCSB и сберегательной кассыклиент.batch_mutate()call. Для CF1 я отправляю все столбцовые значения для строки через call. Для CF2 я отправляю новые столбцовые значения для строки.
Теперь предположим, что opscenter сообщает о «запросах на запись», скажем, 1000.операции/сек, когда количество записей составляет, скажем, 10000 записей.
Что означает операция с точки зрения opscenter? Означает ли это уникальные вставки строк во все семейства столбцов? Означает ли это количество каждой мутации для строки? Как opscenter идентифицирует уникальную операцию? С точки зрения приложения операция означает по-разному для обоих семейств столбцов.
Может ли кто-нибудь мне подсказать?
Спасибо, Арун.
решение1
Метрики «Запросы на запись» и «Запросы на чтение» представляют собой количество операций от внешних клиентов, поэтому один вызов batch_mutate представляет собой 1 запрос, независимо от того, сколько мутаций он содержит.
Метрики "CF: Local Writes" и "CF: Local Reads" представляют собой количество операций, полученных на локальном узле, обычно от узла-координатора. Для одной вставки количество "CF: Local Writes" будет равно "Write Requests" x RF для этого пространства ключей. Для вызовов batch_mutate каждая мутация в пакете подсчитывается отдельно на уровне "CF: Local Writes".
Эти операции выполняются только на уровне строк, и не существует какой-либо интеллектуальной обработки/объединения на основе задействованных данных. Например, выполнение одного и того же запроса на обновление дважды приведет к выполнению 2 операций.