Saya sedang membangun aplikasi baru dan sekarang merancang strukturnya, berikut adalah beberapa pemikiran tentang mengapa menggunakan atau tidak menggunakan luwak:
- Mongoose akan lebih lambat (untuk aplikasi besar)
- Mongoose lebih sulit dengan kueri yang lebih rumit
- Akan ada situasi ketika Anda menginginkan kecepatan lebih dan Anda akan memilih untuk pergi tanpa luwak maka Anda akan memiliki setengah pertanyaan dengan luwak dan setengah w / o. Itu situasi gila, dulu ..
- Mongoose akan membuat Anda membuat kode lebih cepat dengan aplikasi sederhana dengan struktur db sederhana
- Mongoose akan membuat Anda membaca dokumen mongodb DAN dokumen mongoose
- Dengan luwak, tumpukan Anda akan mendapatkan satu hal lagi untuk diandalkan dan satu lagi kemungkinan untuk rusak dan terbakar menjadi abu.
pengemudi mongodb adalah pengemudi mentah, Anda berkomunikasi langsung ke mongodb. luwak adalah lapisan abstraksi. Anda mendapatkan I / O lebih mudah ke db sementara struktur db Anda cukup sederhana.
Abstraksi membawa persyaratannya dan Anda harus mengikutinya. Aplikasi Anda akan lebih lambat, memakan lebih banyak RAM, dan menjadi lebih rumit, tetapi jika Anda tahu cara menggunakannya, Anda dapat lebih cepat menulis objek sederhana, menyimpannya ke database.
Tanpa luwak Anda akan memiliki aplikasi yang lebih cepat dengan koneksi langsung ke mongodb. Tidak ada yang mengatakan, bahwa Anda tidak dapat menulis model Anda sendiri untuk menyimpan barang ke db. Kamu bisa. Dan saya pikir itu lebih mudah. Anda menulis kode, yang akan Anda gunakan, Anda tahu apa yang Anda butuhkan. Lapisan abstraksi Anda akan jauh lebih kecil, kemudian luwak.
Saya berasal dari dunia PHP, di sana kami memiliki sql mentah dengan fungsi mysql_ terdepresiasi, lalu kami mendapat PDO - lapisan abstraksi berorientasi objek untuk berkomunikasi dengan sql. Atau Anda dapat memilih ORM yang berat seperti Doctrine untuk memiliki hal yang mirip dengan luwak di mongoDB. Objek dengan metode penyetel / pengambil / simpan dan seterusnya. Tidak apa-apa, tetapi dengan menambahkan lebih banyak abstraksi Anda menambahkan lebih banyak file, lebih banyak logika, lebih banyak dokumentasi, lebih banyak ketergantungan. Saya suka membuat hal-hal sederhana dan memiliki lebih sedikit ketergantungan di tumpukan saya. BTW, itulah mengapa saya pindah dari PHP ke Javascript klien-server di tempat pertama ..
Dengan luwak menurut saya bagus untuk menulis beberapa aplikasi sederhana, yang memiliki struktur db sederhana yang mirip dengan sql . Ketika Anda mulai memiliki subdocuments dan ingin membuat semua pertanyaan gila itu, saya merasa sangat sulit dengan luwak. Anda harus melihat dokumen mongodb, kemudian melihat dokumen mongoose untuk mengetahui cara membuat kueri yang Anda inginkan. Kadang-kadang Anda akan menemukan, bahwa masa depan X dari mongodb tidak ada di luwak, jadi Anda pergi ke pengemudi mongodb mentah dan menulis pertanyaan mongodb mentah di satu atau tempat lain. Tanpa luwak, Anda melihat dokumen mongodb dan melakukan kueri Anda.