Кассандра: скопировать всю строку

Есть ли рекомендуемый способ с помощью Java-клиента скопировать/клонировать строку в семействе столбцов Cassandra?

В настоящее время я использую Hector (1.0-2) с Cassandra 1.1.8, но переход на другую клиентскую библиотеку не должен быть проблемой.


person Andrea    schedule 13.01.2013    source источник
comment
почему вы хотите скопировать строку? Куда вы копируете? Так как с любым клиентом легко поспорить, я не уверен, в чем здесь проблема.   -  person manuzhang    schedule 14.01.2013
comment
Мне нужно скопировать одну строку в том же семействе столбцов, но с другим ключом строки. Да, я знаю, что любой клиент позволяет получить все ячейки данного ключа строки. Мне было интересно, есть ли более фасадный метод для этого вместо того, чтобы вручную получать все строки и воссоздавать строку в цикле.   -  person Andrea    schedule 14.01.2013


Ответы (1)


Нет, получить все строки, отправив список ключей (происходит параллельно на дисках, поэтому ввод-вывод выполняется быстрее). перебрать все строки в памяти (что в любом случае очень быстро) и выполнить одну операцию записи, записывая все строки обратно на диски (опять же, запись выполняется на всех дисках параллельно, поэтому запись на диск выполняется быстро).

В любом случае вам нужно беспокоиться о вводе-выводе, поскольку операции в памяти обычно выполняются быстро. Если вы делаете ОГРОМНОЕ количество копий, вам нужно вместо этого переключиться на отображение/уменьшение.

Если вы используете PlayOrm на cassandra, просто напишите метод копирования для объекта, который вы копируете, чтобы ваш код оставался чистым.

person Dean Hiller    schedule 14.01.2013
comment
Спасибо, мне приходится каждый раз копировать только одну строку, поэтому общий поток должен быть быстрым. - person Andrea; 14.01.2013