MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

NoSQL - MongoDB срещу CouchDB

Вижте следните връзки

Актуализация :Намерих страхотно сравнение на 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 е особено интересна функция, позволяваща лесно внедряване на няколко сайта.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да обработваме заявки за вмъкване в Spring Data, преди да ги добавим към MongoDB?

  2. Време за изчакване за MongoConnection

  3. Mongoose - Запазване на масив от низове

  4. Запитване към MongoDB с JSON / HTTP / REST интерфейс

  5. Заявка за хранилище с параметър List в Spring Data MongoDB