как реализовать откат в Cassandra или мне следует реализовать откат в Cassandra
Я знаю это cassandra
не предлагает функции отката, и я также прочитал, что для каждого типа запроса следует создавать отдельную таблицу. Например, я создаю приложение, которое позволяет пользователям загружатьrecipes
.
Я могу думать о следующих операциях, которые потребуются моему приложению: 1) все recipes
нужно хранить с собственными recipe id
. Итак, мне нужна таблица сrecipe id
как partition key
а также recipe
детали для остальных столбцов.
2) Аrecipe
будет принадлежать cuisine
так что user
может искать recipe
на основе cuisine
. Итак, мне нужен стол сcuisine
введите как partition key
а также recipe id
как остальные данные 3) A user
должен быть в состоянии увидеть recipes
они создали (вроде их портфолио). Так что мне нужен стол сuser id
как partition key
как recipe id
как оставшиеся данные
В моем scala
приложение, я создал следующие четыре функции, которые вставляют данные
val res = for {recipeSavedInRecipeDB <- saveRecipe(recipe)
recipeSavedInCuisineDB <- saveRecipeInCusineDB(recipe)
userPortfolioUpdated <- saveRecipeInUserPortofolio(recipe)
yield {
...
}
Конечно, по мере роста приложения можно хранить больше типов данных, что означает больше таблиц с повторяющимися значениями.
Какой рекомендуемый способ реализации rollback
скажи, если один из db
операция не удалась? Стоит ли мне даже попытаться реализоватьrollback
так как подозреваю, что это усложнит логику приложения. Какdb
сбои операций обрабатываются в cassandra
по заявке