MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Basis data NoSQL mana yang harus saya gunakan untuk masuk?

Saya telah memutuskan untuk merevisi jawaban yang diterima ini karena keadaan seni telah berubah secara signifikan dalam 18 bulan terakhir, dan ada banyak alternatif yang lebih baik.

Jawaban Baru

MongoDB adalah pilihan sub-par untuk solusi logging yang skalabel. Ada alasan yang biasa untuk ini (menulis kinerja di bawah beban misalnya). Saya ingin mengajukan satu lagi, yaitu hanya menyelesaikan satu kasus penggunaan dalam solusi logging.

Solusi logging yang kuat perlu mencakup setidaknya tahapan berikut:

  • Koleksi
  • Transportasi
  • Memproses
  • Penyimpanan
  • Telusuri
  • Visualisasi

MongoDB sebagai pilihan hanya menyelesaikan kasus penggunaan Penyimpanan (walaupun agak buruk). Setelah rantai lengkap dianalisis, ada solusi yang lebih tepat.

@KazukiOhta menyebutkan beberapa opsi. Solusi ujung ke ujung pilihan saya hari ini melibatkan:

  • Logstash-Forwarder untuk Pengumpulan &Transportasi
  • Logstash &Riemann untuk Pemrosesan
  • ElasticSearch untuk Penyimpanan &Kueri
  • Kibana3 untuk Visualisasi

Penggunaan dasar ElasticSearch untuk penyimpanan data log menggunakan solusi NoSQL breed terbaik saat ini untuk kasus penggunaan logging dan pencarian. Fakta bahwa Logstash-Forwarder / Logstash / ElasticSearch / Kibana3 berada di bawah payung ElasticSearch membuat argumen yang lebih meyakinkan.

Karena Logstash juga dapat bertindak sebagai proxy Graphite, rantai yang sangat mirip dapat dibuat untuk masalah terkait pengumpulan dan analisis metrik (bukan hanya log).

Jawaban Lama

Koleksi Capped MongoDB sangat populer dan cocok untuk logging, dengan bonus tambahan menjadi 'schema less', yang biasanya cocok secara semantik untuk logging. Seringkali kita hanya tahu apa yang ingin kita masuki dengan baik ke dalam sebuah proyek, atau setelah masalah tertentu ditemukan dalam produksi. Basis data relasional atau skema ketat cenderung sulit diubah dalam kasus ini, dan upaya untuk membuatnya 'fleksibel' cenderung hanya membuatnya 'lambat' dan sulit digunakan atau dipahami.

Tetapi jika Anda ingin mengelola log Anda dalam gelap dan menjalankan laser dan membuatnya tampak seperti Anda dari luar angkasa, selalu ada Graylog2 yang menggunakan MongoDB sebagai bagian dari infrastruktur keseluruhannya tetapi menyediakan lebih banyak lagi di atas seperti format umum yang dapat diperluas, server pengumpulan log khusus, arsitektur terdistribusi, dan UI yang funky.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Failover untuk Replikasi MySQL (dan lainnya) - Haruskah Otomatis?

  2. Melindungi Data Anda dengan ClusterControl

  3. Cara mengecualikan beberapa bidang dari dokumen

  4. Pemrograman Database Python dengan MongoDB untuk Pemula

  5. Cara Menyebarkan ClusterControl di AWS untuk Mengelola Database Cloud Anda