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

Статистика в реално време:MySQL(/Drizzle) или MongoDB?

Така че BuddyMedia използва част от това. Gilt Groupe направи нещо доста страхотно с Hummingbird (node.js + MongoDB).

След като съм работил за голям онлайн рекламодател в пространството на социалните медии, мога да потвърдя, че отчитането в реално време е наистина болка. Опитът да се „съберат“ 500 милиона импресии на ден вече е предизвикателство, но опитът да се направи това в реално време проработи, но имаше някои значителни ограничения. (сякаш всъщност се забави с 5 минути :)

Честно казано, този тип проблем е една от причините да започна да използвам MongoDB. И не съм единственият. Хората използват MongoDB за всякакъв вид анализи в реално време:наблюдение на сървъра , централизирано регистриране , както и отчитане на таблото за управление.

Истинският ключ, когато правите този тип отчитане, е да разберете, че структурата на данните е напълно различна с MongoDB, ще избегнете заявки за „обединяване“, така че заявките и изходните диаграми ще бъдат различни. Има допълнителна работа по кодиране от страна на клиента.

Ето ключът, който може да ви насочи в правилната посока за това с MongoDB. Разгледайте следната структура от данни:

{
  date: "20110430",
  gender: "M",
  age: 1, // 1 is probably a bucket
  impression_hour: [ 100, 50, ...], // 24 of these
  impression_minute: [ 2, 5, 19, 8, ... ], // 1440 of these
  clicks_hour: [ 10, 2, ... ],
  ...
}

Очевидно има някои настройки тук, подходящи индекси, може би смесване на данни+пол+възраст в _id . Но това е нещо като основна структура на анализа на кликванията с MongoDB. Наистина е лесно да актуализирате импресии и кликвания { $inc : { clicks_hour.0 : 1 } } . Можете да актуализирате целия документ атомарно. И всъщност е доста естествено да се докладва. Вече имате масив, съдържащ вашите точки с данни на ниво час или минута.

Надяваме се, че това ви насочва в правилната посока.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. криптична грешка на mongodb LEFT_SUBFIELD поддържа само обект:статистика не:6

  2. Операциите на Монго гладуват

  3. Изберете записи, съответстващи на конкатна стойност на две полета в mongodb

  4. MongoDB персонализирано сортиране

  5. Има ли начин да се проектира типа на полето