どうしてもNoSQLが向かない用途もある 排他制御やトランザクションの仕組みに頼らずNoSQLデータベースのデータを更新する方法を紹介してきました。NoSQLデータベースの更新処理で一貫性を確保するには、競合の発生する更新や削除を避け、データの追加と非同期処理をうまく使うことがポイントになります。 しかしこの方法はRDBMSの更新処理を完全に置き換えるものではありません。NoSQLデータベースの更新処理は、RDBMSでは当たり前だった即時一貫性を犠牲にしていることを忘れないでください。トランザクション処理を単一のINSERTで登録し、実際の更新や削除を非同期処理で済ませるということは、言い換えれば「問題の先送り」に過ぎません。更新処理の種類によっては、こうした先送りが許されないケースもあります。 例えば、ショッピングサイトでは注文のリクエストを受け付けたときに在庫を確認し、引き当てます。在