Вижте следните връзки
- CouchDB срещу MongoDB
- MongoDB или CouchDB – годни за производство?
- DB-Engines - Сравнение CouchDB срещу MongoDB
Актуализация :Намерих страхотно сравнение на NoSQL бази данни.
MongoDB (3.2)
- Написано на:C++
- Основна точка:хранилище на JSON документи
- Лиценз:AGPL (драйвери:Apache)
- Протокол:персонализиран, двоичен (BSON)
- Главна/подчинена репликация (автоматичен отказ с набори от реплики)
- Вграден шардинг
- Заявките са javascript изрази
- Изпълняване на произволни javascript функции от страна на сървъра
- Има геопространствено индексиране и заявки
- Множество машини за съхранение с различни характеристики на производителност
- Ефективност спрямо функции
- Проверка на документа
- Дневник
- Мощна рамка за агрегиране
- На 32-битови системи, ограничено до ~2,5 Gb
- Интегрирано търсене на текст
- GridFS за съхраняване на големи данни + метаданни (всъщност не е FS)
- Познаване на центъра за данни
Най-добре използван :Ако имате нужда от динамични заявки. Ако предпочитате да дефинирате индекси, а не функции за картографиране/намаляване. Ако имате нужда от добра производителност на голяма DB. Ако искате CouchDB, но данните ви се променят твърде много, запълвайки дискове.
Например :За повечето неща, които бихте направили с MySQL или PostgreSQL, но наличието на предварително дефинирани колони наистина ви задържа.
CouchDB (1.2)
- Написано на:Erlang
- Основна точка:последователност на базата данни, лекота на използване
- Лиценз:Apache
- Протокол:HTTP/REST
- Двупосочна (!) репликация,
- непрекъснато или ad hoc,
- с откриване на конфликт,
- по този начин репликация master-master. (!)
- MVCC - операциите за запис не блокират четене
- Налични са предишни версии на документите
- Само срив (надежден) дизайн
- Нуждае се от уплътняване от време на време
- Изгледи:вградена карта/намаляване
- Форматиране на изгледи:списъци и показвания
- Възможно е валидиране на документа от страна на сървъра
- Възможно удостоверяване
- Актуализации в реално време чрез '_changes' (!)
- Обработка на прикачени файлове
Най-добре използван :За натрупване, периодично променящи се данни, върху които трябва да се изпълняват предварително дефинирани заявки. Места, където управлението на версии е важно.
Например :CRM, CMS системи. Репликацията Master-Master е особено интересна функция, позволяваща лесно внедряване на няколко сайта.