sql >> Databáze >  >> NoSQL >> MongoDB

Integrita dat MongoDB

Pochybuji, že existuje něco, co může zaručit integrita dat kromě zmíněného 2fázového commitu. Alespoň do oznámení verze 4 .

Existuje jen málo věcí, které minimalizují šance na nesprávné počty. Spojte vkládání a aktualizaci do jediného hromadné . Sníží to pravděpodobnost, že jedna z operací selže na straně aplikace, protože se jedná o jediný požadavek.

Poté zkontrolujte, zda nInserted === 1 a nModified === 1 . V opačném případě zkuste znovu nebo zařaďte do fronty úlohu přepočtu pro dané ID příspěvku.

Pro opakované pokusy je nezbytné mít opakovatelné zápisy povoleno, protože budete používat $inc na postech, což má k idempotentnímu provozu dost daleko.

Další možností je použít bez transakce přístup - jakási kombinace "Spouštět skript pokaždé, aby se aktualizoval počet komentářů" a "Vůbec neukládat číslo komentářů". Budete si muset ponechat časová razítka poslední úlohy přepočtu a počítat nové komentáře od data.



  1. Jak zaregistrovatClassMap pro všechny třídy ve jmenném prostoru pro MongoDb?

  2. MongoDB - Promítněte pouze odpovídající prvek v poli

  3. Jak mohu získat hodnotu z Redis a vložit ji do proměnné v NGiNX?

  4. Potřebujete návrhy na návrh doporučení umělce