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

Коя NoSQL база данни трябва да използвам за регистриране?

Реших да преразгледам този приет отговор, тъй като състоянието на техниката се е променило значително през последните 18 месеца и съществуват много по-добри алтернативи.

Нов отговор

MongoDB е под-номинален избор за мащабируемо решение за регистриране. Има обичайните причини за това (например, производителност на запис при натоварване). Бих искал да предложа още един, който е, че решава само един случай на употреба в решение за регистриране.

Силното решение за регистриране трябва да покрива поне следните етапи:

  • Колекция
  • Транспорт
  • Обработка
  • Съхранение
  • Търсене
  • Визуализация

MongoDB като избор решава само случая на използване на Storage (макар и малко лошо). След като се анализира цялата верига, има по-подходящи решения.

@KazukiOhta споменава няколко опции. Моето предпочитано решение от край до край в наши дни включва:

  • Logstash-спедитор за събиране и транспорт
  • Logstash &Riemann за обработка
  • ElasticSearch за съхранение и заявки
  • Kibana3 за визуализация

Основното използване на ElasticSearch за съхранение на данни от регистрационни файлове използва текущото най-добро решение NoSQL за случаи на използване на регистриране и търсене. Фактът, че Logstash-Forwarder / Logstash / ElasticSearch / Kibana3 са под чадъра на ElasticSearch, е още по-убедителен аргумент.

Тъй като Logstash може да действа и като прокси на Graphite, може да се изгради много подобна верига за свързания проблем със събирането и анализирането на показатели (не само регистрационни файлове).

Стар отговор

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

Но ако искате да управлявате вашите регистрационни файлове на тъмно и лазерите да работят и да изглежда, че сте от космоса, винаги има Graylog2, който използва MongoDB като част от цялостната си инфраструктура, но предоставя много повече отгоре, като например общ, разширяем формат, специален сървър за събиране на регистрационни файлове, разпределена архитектура и фънки потребителски интерфейс.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB forEach()

  2. MongoDb - Променете типа от Int на Double

  3. Java Mongodb numberlong заявка

  4. MongoDB:Сървърът има предупреждения за стартиране „Контролът на достъпа не е активиран за базата данни“

  5. MongoDB карта/намаляване на множество колекции?