|
|
|
rds29 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.4.2011 Репутация: нет Всего: нет |
Добрый день,
Подскажите пожалуйста нужно реализовать следующую логику Optimistic Locking используя Java и Cassandra: Имеется таблица Col1 (PK) | Date |Version -------------------------- abc | Some Date |3 Для реализации Optimistic locking используется колонка version. Когда мы считываем запись из базы данных - мы запоминаем версию, а когда необходимо сделать update этой записи - проверяем, что версия не поменялась. Нужно сделать так, чтобы обеспечивалась атомарность проверки и обновления записи в таблице. Также необходимо инкрементировать версию при каждом апдейте. Проблемы 1. Version нельзя поместить where для запроса вида update table where Col1 = 'abc' and version = 3 2. Version нельзя поместить в PK, т.к. ее нужно изменять (насколько я понял PK - константа и менять его содержимое нельзя) 3. Можно сделать select, получив текущую version, сравнить в Java коде с той версией, которую мы запомнили, и потом сделать update. Здесь проблема в атомарности, точнее в ее отсутствии, а она необходима. Подскажите, как обойти данные проблемы? |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | NoSQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |