Я использую Spring и Cassandra как базовую базу данных. Сообщал о весеннем зонтичном проекте «spring data cassandra». Не удалось выяснить, как здесь управляются транзакции, в отличие от спящего режима. Не забудьте поделиться сведениями о том, что Менеджер транзакций будет включен, если некоторые из вас включили его.Управление транзакциями для данных Spring cassandra
ответ
Cassandra не поддерживает транзакции в традиционном (ACID) смысле. Есть несколько конструкций, в которых вы можете добиться чего-то вроде транзакционной атомарности в особых случаях, таких как атомные партии (см. http://www.datastax.com/dev/blog/atomic-batches-in-cassandra-1-2) или «Легкие транзакции» (см. http://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0), но ничего не поддается полномасштабному управлению транзакциями.
В основном это результат архитектуры Cassandra, которая фокусируется на масштабируемости и отказоустойчивости на уровне, недоступном для традиционных реляционных баз данных.
Пакет Cassandra в настоящее время является атомарным по умолчанию. http://docs.datastax.com/en/cql/3.0/cql/cql_reference/batch_r.html
Так что, вероятно, лучший эквивалент @Transactional весной данных (Хотя, полный ACID не для этого мира, это просто не так, как он играет)
Нечто подобное должно играть (вы можете изменить значение ConsistencyLevel и RetryPolicy, как вы хотите - это дело!):
Insert insert1 = CassandraTemplate.createInsertQuery("table1", value1, new WriteOptions(ConsistencyLevel.LOCAL_ONE, RetryPolicy.DEFAULT), cassandraConverter);
Insert insert2 = CassandraTemplate.createInsertQuery("table2", value2, new WriteOptions(ConsistencyLevel.LOCAL_ONE, RetryPolicy.DEFAULT), cassandraConverter);
Batch batch = QueryBuilder.batch(insert1,insert2);
//cassandraOperations - object of CassandraTemplate , injected by Spring
cassandraOperations.execute(batch);
- 1. Spring/RabbitMQ: управление транзакциями
- 2. Управление транзакциями Java Spring
- 3. Управление транзакциями Spring и OSGi
- 4. spring Управление транзакциями не работает
- 5. Hibernate управление транзакциями без Spring
- 6. Управление транзакциями Spring AOP для уровня обслуживания
- 7. Управление транзакциями для нескольких баз данных Использование Spring & Hibernate
- 8. Spring Hibernate OnetoOne/OnetoMany/ManytoOne - Управление транзакциями
- 9. Управление транзакциями при использовании Hibernate и Spring
- 10. WSO2 Управление транзакциями служб данных
- 11. Spring Управление транзакциями + Активный MQ + Datasource
- 12. Как работает управление транзакциями Spring Batch?
- 13. Управление транзакциями в Spring Data REST
- 14. Spring Boot - Управление транзакциями не работает
- 15. Spring, Hibernate, управление транзакциями, не совершается
- 16. Управление транзакциями в проекте JSF Spring 3
- 17. JSR 352 Spring Batch: Управление транзакциями
- 18. Управление транзакциями
- 19. Управление транзакциями с DAO
- 20. Управление транзакциями для удаленного вызова
- 21. Управление транзакциями для приложений J2SE
- 22. Применить Управление транзакциями Весна
- 23. Управление транзакциями Django
- 24. Есть ли управление транзакциями для DAO в Spring framework?
- 25. Управление транзакциями Spring для выполнения методов обслуживания из одной службы
- 26. Управление транзакциями, весенний ботинок
- 27. Управление транзакциями не работает для весенних тестов
- 28. Управление транзакциями F #
- 29. Управление транзакциями в SOA
- 30. Брокер Управление транзакциями
Я знаю, что Кассандра не поддерживает транзакцию atomicity.I'm пытается выяснить, если есть какая-то основа, выполнит задачу для меня. Kundera (https://github.com/impetus-opensource/Kundera/w iki/Transaction-Management), похоже, выполняет эту работу, но я смотрю что-то конкретное с проектом Spring-data-cassandra (http://projects.spring.io/spring-data-cassandra/) – Anish
Извините, @Anish, ничего как в SDC. Не стесняйтесь создавать проблему с запросом на https://jira.spring.io/browse/DATACASS –
@Mathew Adams: Я записал то же самое в JIRA, но они отметили его как Invalid. Они неправильно истолковали как проблему Кассандры, а не то, что можно включить, создав обертку весной вместо Кассандры. Вы можете найти мою ошибку в журнале [здесь] (https://jira.spring.io/browse/DATACASS-180) – Anish