myšleno to bylo tak, že přidání nového dokumentu či úprava existujícího a vygenerování indexu není atomická operace jako u relačních databází. Pošleš dokument, dostane ho storage engine (whitetiger třeba), ten ho uloží a catalog si zjistí, jestli je dopad na index, ten poté nechá ve vlastním threadu dopočítat a invalidovat cache, ale to už RPC request nečeká a clientovi pošle info, že dokument je vložený. Pokud chviličku poté chceš dokument vyhledat, ještě není v indexu, trvá to pár ms (u nezatížené db) až klidně minuty (u hodně zatížené), nedá se to ale skoro vůbec nebugovat, mongo-tools na tohle je slabé.
Nevím, jestli jsou nějaké články, vychází to ze zdrojového kódu, mrkni na github, jak se v catalogu řeší thready a posílají data do storage enginu. Klidně napiš, můžeme se o tom pobavit více. Nechci mongo pomlouvat, ale technologie chce používat tak, jak jsou navržené. Mongo nepoužívá žádný wal, nemá updaty uložené v btree struktuře jako leveldb, díky tomu má neskutečný paralelismus při ukládání, ale hledání vložených dokumentů je hodně lazy, což zrovna u acl vidím jako kritické.