Обяснете защо са необходими базирани на документи бази данни (MongoDB)?

Значението на сплотяването на бази веднъж беше само да се даде отговор на всеки въпрос за всеки период от време. Тези. например има някаква база данни във фирмата и трябва да направите някакъв отчет.

В интернет приложенията нещата стоят малко по-различно. Най-често заявките към базата данни са еднакви, с редки изключения (търсене). BigTable и други са обвързани с този принцип, създавайки индекс на необходимите заявки, когато данните се променят асинхронно.

По този начин, след промяна на данните, индексите за необходимите заявки незабавно се актуализират. SQL също има индекси, но те са на по-ниско ниво.

MongoDB изгражда индекси автоматично при първа заявка. Така че е много подобен на схемата lang memcache sql. Но с порядък по-бързо, защото mongodb самият е по-бърз от memcached (аз самият все още не съм проверил това и едва ли вярвам, но всички единодушно казват, че това е така).

Вторият бонус е по-проста репликация. По-конкретно, за същия mongodb, концепцията за господар-роб и парчета е в самото сърце.

Третият бонус е карта/намаляване за обработка на данни. Изпълнява се на вградения език (за mongodb това е spidermonkey, т.е. javascript).

Като цяло приложение, първоначално написано на mongodb, теоретично ще бъде по-бързо от SQL версията. Поне с бърза реализация като MongoDB.