Saya seorang noob yang lengkap ketika datang ke gerakan NoSQL. Saya telah mendengar banyak tentang MongoDB dan CouchDB. Saya tahu ada perbedaan di antara keduanya. Mana yang Anda sarankan untuk dipelajari sebagai langkah pertama menuju dunia NoSQL?
Saya seorang noob yang lengkap ketika datang ke gerakan NoSQL. Saya telah mendengar banyak tentang MongoDB dan CouchDB. Saya tahu ada perbedaan di antara keduanya. Mana yang Anda sarankan untuk dipelajari sebagai langkah pertama menuju dunia NoSQL?
Jawaban:
Lihat tautan berikut
Pembaruan : Saya menemukan perbandingan hebat dari basis data NoSQL .
MongoDB (3.2)
Paling baik digunakan : Jika Anda membutuhkan pertanyaan dinamis. Jika Anda lebih suka menentukan indeks, bukan memetakan / mengurangi fungsi. Jika Anda membutuhkan kinerja yang baik pada DB besar. Jika Anda menginginkan CouchDB, tetapi data Anda terlalu banyak berubah, mengisi disk.
Sebagai contoh : Untuk sebagian besar hal yang akan Anda lakukan dengan MySQL atau PostgreSQL, tetapi memiliki kolom yang telah ditentukan benar-benar menghambat Anda.
CouchDB (1.2)
Paling baik digunakan : Untuk mengumpulkan, kadang-kadang mengubah data, yang menjalankan kueri yang telah ditentukan sebelumnya. Tempat di mana pembuatan versi penting.
Sebagai contoh : CRM, sistem CMS. Replikasi master-master adalah fitur yang sangat menarik, memungkinkan penyebaran multi-situs yang mudah.
Jika Anda berasal dari dunia MySQL, MongoDB akan "merasa" lebih alami bagi Anda karena dukungan bahasa seperti permintaan.
Saya pikir itulah yang membuatnya sangat ramah bagi banyak orang.
CouchDB fantastis jika Anda ingin memanfaatkan dukungan replikasi master-master yang sangat hebat dengan pengaturan multi-simpul, mungkin di pusat data yang berbeda atau sesuatu seperti itu.
Replikasi MongoDB (set replika) adalah setup master-slave-slave-slave *, Anda hanya dapat menulis ke master dalam set replika dan membaca dari salah satu dari mereka.
Untuk konfigurasi situs standar, tidak masalah. Ini memetakan penggunaan MySQL dengan sangat baik.
Tetapi jika Anda mencoba untuk membuat layanan global seperti CDN yang perlu menjaga semua simpul global disinkronkan meskipun membaca / menulis kepada mereka semua, sesuatu seperti replikasi di CouchDB akan menjadi keuntungan besar bagi Anda.
Sementara MongoDB memiliki bahasa seperti permintaan yang dapat Anda gunakan dan terasa sangat intuitif, CouchDB mengambil pendekatan "pengurangan peta" dan konsep pandangan ini. Awalnya terasa aneh, tetapi ketika Anda terbiasa, itu benar-benar mulai terasa intuitif.
Berikut ini adalah ikhtisar singkat sehingga masuk akal:
Jadi kedua sumber ini menggunakan dokumen JSON, tetapi CouchDB mengikuti ini lebih banyak "setiap server adalah master dan dapat disinkronkan dengan dunia" pendekatan yang fantastis jika Anda membutuhkannya, sementara MongoDB benar-benar MySQL dari dunia NoSQL.
Jadi jika itu terdengar seperti apa yang Anda butuhkan / inginkan, lakukanlah.
Perbedaan kecil seperti protokol biner Mongo vs antarmuka RESTful dari CouchDB semuanya detail kecil.
Jika Anda ingin kecepatan mentah dan persetan dengan keamanan data, Anda dapat membuat Mongo berjalan lebih cepat dari CouchDB karena Anda dapat memerintahkannya untuk beroperasi di luar memori dan tidak melakukan hal-hal ke disk kecuali untuk interval jarang.
Anda dapat melakukan hal yang sama dengan Couch, tetapi protokol komunikasi berbasis HTTP akan menjadi 2-4x lebih lambat dari komunikasi biner mentah dengan Mongo dalam "kecepatan di atas segalanya!" skenario.
Perlu diingat bahwa kecepatan gila gila tidak berguna jika server crash atau kegagalan disk merusak dan membuat DB Anda terlupakan, sehingga titik data tidak sehebat kelihatannya (kecuali jika Anda melakukan sistem perdagangan real-time di Wall). Street, dalam hal ini lihat Redis).
Semoga semua bisa membantu!
Sekarang ada lebih banyak database NoSQL di pasar daripada sebelumnya. Saya sarankan bahkan melihat Gartner Magic Quadrant jika Anda mencari database yang juga bagus untuk aplikasi perusahaan berdasarkan dukungan, perluasan, manajemen, dan biaya.
http://www.gartner.com/technology/reprints.do?id=1-23A415Q&ct=141020&st=sb
Saya ingin menyarankan Couchbase kepada siapa saja yang belum mencobanya, tetapi tidak didasarkan pada versi yang ditunjukkan dalam laporan (2.5.1) karena hampir 2 revisi di belakang di mana CB Server hari ini, mendekati rilis 4.0 di 2H15 .
http://www.couchbase.com/coming-in-couchbase-server-4-0
Bagian lain tentang Couchbase sebagai vendor / produk adalah bahwa itu adalah tipe DB multi guna. Ini dapat bertindak sebagai toko K / V murni, Document Oriented Database dengan penskalaan multi-dimensi, Memcached, cache-samping dengan kegigihan, dan mendukung SQL ANSI 92 yang sesuai dengan sambungan otomatis, replikasi ke cluster DR dengan menekan tombol, dan bahkan memiliki komponen seluler bawaan untuk ekosistem.
Jika tidak ada yang lain, ada baiknya memeriksa tolok ukur terbaru:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.html http://info.couchbase.com/NoSQL-Technical-Comparison-Report.html