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

MongoDB + Elasticsearch atau hanya Elasticsearch?

Berbicara tentang argumen untuk digunakan Mongo alih-alih/bersama dengan ES:

  1. Manajemen pengguna/peran.

    • Terpasang di MongoDB. Mungkin tidak sesuai dengan semua kebutuhan Anda, mungkin canggung di suatu tempat, tetapi sudah ada dan sudah diterapkan cukup lama.
    • Satu-satunya hal untuk keamanan di ES adalah shield . Tapi itu hanya dikirimkan untuk langganan Gold/Platinum untuk penggunaan produksi.
  2. Skema

    • ES tidak memiliki skema, tetapi dibangun di atas Lucene dan ditulis dalam Java . Ide inti dari alat ini - indeks dan dokumen pencarian, dan bekerja dengan cara ini membutuhkan konsistensi indeks. Di bagian belakang, semua dokumen harus dipasang dalam lucene datar index, yang memerlukan beberapa pemahaman tentang bagaimana ES harus menangani dokumen dan nilai bersarang Anda, dan bagaimana Anda harus mengatur indeks Anda untuk menjaga keseimbangan antara kecepatan dan kelengkapan/konsistensi data. Bekerja dengan ES mengharuskan Anda untuk selalu mengingat beberapa hal tentang skema. Yaitu:karena Anda dapat mengindeks hampir semua hal ke ES tanpa menempatkan pemetaan yang sesuai terlebih dahulu, ES dapat "menebak" pemetaan dengan cepat tetapi terkadang melakukan kesalahan dan terkadang pemetaan implisit itu jahat, karena begitu dimasukkan, itu tidak dapat diubah dengan /o mengindeks ulang seluruh indeks. Jadi, lebih baik untuk tidak memperlakukan ES sebagai toko tanpa skema, karena Anda dapat menginjak penggaruk beberapa saat (dan ini akan menjadi sakit :) ), tetapi lebih memperlakukannya sebagai skema-intensif, setidaknya saat Anda bekerja dengan dokumen, yang dapat diiris menjadi bidang konkret.
    • Mongo, di sisi lain, dapat "mengunyah dan tidak meninggalkan remah" dari hampir semua hal yang Anda masukkan ke dalamnya. Dan sebagian besar kueri Anda akan berfungsi dengan baik, `sampai Anda ingat bagaimana Mongo akan menangani data Anda dari perspektif JavaScript. Dan karena JS diketik dengan lemah, Anda dapat bekerja dengan alur kerja yang benar-benar tanpa skema (pasti, jika Anda membutuhkannya)
  3. Menangani data yang tidak seperti tabel.

    • ES terbatas untuk menangani data tanpa memasukkannya ke indeks pencarian. Dan solusi ini cukup baik, ketika Anda perlu menyimpan dan mengambil beberapa data tambahan (dibandingkan dengan data yang ingin Anda cari).
    • MongoDB mendukung gridFS . Ini memberi Anda kemampuan untuk menangani sejumlah besar data di belakang antarmuka yang sama. Yaitu, Anda dapat menyimpan data biner di Mongo dan mengambilnya dalam antarmuka yang sama, dari perspektif kode Anda.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pisahkan string menjadi larik substring atau karakter di MongoDB

  2. SQL RPAD()

  3. Melindungi Data Anda dengan ClusterControl

  4. Cara yang tepat untuk menambahkan bidang ke koleksi pengguna di meteor

  5. Driver MongoDB Java membuat Database dan Koleksi