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

NoSQL бази данни - добри кандидати за обработка на журнали/агрегиране и събиране?

Различните NoSQL решения решават различни проблеми за различни приложения - така че първо най-доброто нещо, което трябва да направите, е да разгледате проблема си и да го разбиете на части

  • Пишете много за съхранение, следователно скоростта на запис е важна за вас
  • Искате да извършвате операции за агрегиране на тези данни и резултатите от тях да могат лесно да се правят заявки
  • Скоростта на четене не е толкова важна от гледна точка на нещата, поне не по начин „уеб приложението трябва да е наистина отзивчиво за милиони хора“
  • Не знам дали имате нужда от динамични заявки или не

Нека да разгледаме Couch, Mongo и Raven на много високо ниво, обобщен начин

Гарвана

  • Бързо писане
  • Бързи заявки (евентуално последователни, предварително изчислени, агрегиране чрез map/reduce)
  • Възможни са динамични заявки, но не са наистина подходящи за вашия случай на употреба, тъй като най-вероятно ще правите заявки по дата и т.н.

Монго

  • Заслепяващо бързо записване (според мен опасно, тъй като спирането на захранването означава загуба на данни;-))
  • Бавно четене (сравнително), агрегиране чрез map/reduce, не е предварително изчислено
  • Динамичните заявки са точно това, което_вие_правите, но вероятно трябва да дефинирате индекси на вашите колони, ако искате някаква производителност на този вид данни

Дивана

  • Бързо писане
  • Бързо четене (предварително изчислено, но актуализирано само когато четете (IIRC)
  • Динамичните заявки не са възможни, всички са предварително дефинирани чрез функции за карта или карта/намаляване

И така, основно - имате ли нужда от динамични заявки за този вид данни? Скоростта на четене невероятно важна ли е за вас? Ако имате нужда от динамични заявки, тогава ще искате Raven или Mongo (за такива неща Couch вероятно не е това, което търсите така или иначе).

FWIW, според мен единственият случай на използване на Mongo Е за регистриране, така че може да имате отговор там.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Заменете вградения документ с помощта на драйвер Mongo C# 2.0

  2. Mongodb - Добавяне на схема за съществуваща колекция

  3. Монго агрегиране:разделяне на стойности в групи

  4. Приложете за всички класове BsonIgnoreExtraElements

  5. Актуализиране на конкретен елемент в масив с MongoDB / Meteor