Не транзакции часом понадобились? они там есть, просто отключите шардинг в mongo. Аналогично если вы включите шардинг в mysql - транзакции в привычном использовании станут не доступны.
Alexander Litvinenko: Вот, почитайте ссылку что вы дали, я знаю около 6 вариаций эмуляции транзакций для монги, как я и сказал - в монге нет классических транзакций.
Единственная NoSQL база с Нормальным транзакциями - это OrientDB, но она на java и тормозит.
un1t: там в перемешку. 50% говорит что нет транзакций, незная просто нюанса с шардингом, а вторая как раз говорит где их взять. Почитай, там много умных слов но это то что ты как раз ищеш.
Тока эта штука основана на монге 2.4 и похоже уже умерла. На этой же странице есть ссылка на . Percona Server for MongoDB, но там про транзакии ничего не написано.
lega: подозреваю что под эмуляциями вы имеете ввиду отсуцтвие слова "beginTransaction" у монги нету слова "транзакция" посколькуизначально она настроена на шардинг. Шардинг непозволяет работать транзакциям поскольку для них необходимо чтобы к одному объекту данных, одновременно обращался один пользователь, что в шардинге трудно достижымо. Но сам механизм CAS там есть, хотя им редко пользуются, ввиду того что шардинг всетаки понадежнее будет транзакций. Об этом вкратце написано буквально в пятой ссылке, на первой странице гугла.
Alexander Litvinenko: ты ведь знаешь что выдача гугла персонализированная? так что я не знаю какие там тебе ссылки выдаются. Лучше укажи конкретную ссылку, а не гугл. Я пока видел только про различные костыли эмуляции транзакций типа Two-Phase Commit.
un1t: логично, пятая ссылка у меня эта. Если покопатся, думаю и посвежее найдется ссылка. Сам я от транзакций давно отказался, как выше писал, шардинг надежнее.
Alexander Litvinenko: по этой ссылке пример костыля эмулирущего транзакции. Нафиг с таким мучаться, лучше реляционную базу выбрать. При чем тут шардинг? Шардинг это одно, а транзакции другое, не вижу связи. Я вот например активно использую транзакции в MySQL, но шардинг мне нафик не нужен, т.к. объем данных небольшой.
Alexander Litvinenko: > ввиду того что шардинг всетаки понадежнее будет транзакций
> я от транзакций давно отказался, как выше писал, шардинг надежнее.
перефразирую: "отказался от велика в пользу мясорубки чтобы было лучше дышать под водой" или "сравнение теплого с мягким".
Alexander Litvinenko: теперь ясно, про что ты. Но если рассматривать случай когда шардинг нам ну нужен, без таких костылей намного удобнее. START TRANSACTION; COMMIT; и все.