как реализовать откат в 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 по заявке

0 ответов

Другие вопросы по тегам