Кассандра: обновить несколько строк? - PullRequest
1 голос
/ 15 августа 2010

В mysql я могу выполнить следующий запрос: UPDATE mytable SET price = '100' WHERE manufacturer='22'

Можно ли это сделать с помощью cassandra?

Спасибо!

1 Ответ

3 голосов
/ 15 августа 2010

Для этого вам нужно будет поддерживать свой собственный индекс в отдельном семействе столбцов (вам нужен способ найти все продукты (идентификаторы продуктов), произведенные производителем цертатина. Когда у вас есть все идентификаторы продуктов, выполняющие пакетную мутацию это просто). * 1001 например *

 ManufacturerToProducts = { // this is a ColumnFamily
     '22': { // this is the key to this Row inside the CF
        // now we have an infinite # of columns in this row
       'prod_1': "prod_1",  //for simplicity I'm only showing the value (but in reality the values in the map are the entire Column.)
       'prod_1911' : null         
      },  // end row
      '23': {   // this is the key to another row in the CF
         // now we have another infinite # of columns in this row
        'prod_1492': null,
      },
    }

(отказ от ответственности: спасибо Arin за примечание, использованное выше)

...