Bagaimana database NoSQL seperti MongoDB dapat digunakan untuk analisis data? Apa sajakah fitur di dalamnya yang dapat membuat analisis data lebih cepat dan kuat?
Bagaimana database NoSQL seperti MongoDB dapat digunakan untuk analisis data? Apa sajakah fitur di dalamnya yang dapat membuat analisis data lebih cepat dan kuat?
Jawaban:
Sejujurnya, kebanyakan database NoSQL tidak terlalu cocok untuk aplikasi dalam data besar. Untuk sebagian besar dari semua aplikasi data besar, kinerja MongoDB dibandingkan dengan database relasional seperti MySQL secara signifikan cukup buruk untuk menjamin tinggal jauh dari sesuatu seperti MongoDB sepenuhnya.
Dengan itu, ada beberapa properti yang sangat berguna dari database NoSQL yang tentu saja menguntungkan Anda ketika Anda bekerja dengan set data yang besar, meskipun kemungkinan manfaat itu lebih besar daripada kinerja NoSQL yang umumnya buruk dibandingkan dengan SQL untuk dibaca. operasi intensif (paling mirip dengan kasus penggunaan data besar khas) rendah.
Secara pribadi saya mungkin menyarankan Anda juga memeriksa basis data grafik seperti Neo4j yang menunjukkan kinerja yang sangat baik untuk jenis pertanyaan tertentu jika Anda ingin memilih backend untuk aplikasi ilmu data Anda.
json
adalah data yang benar-benar terstruktur. Anda secara teknis dapat melakukan segala jenis analisis data di atasnya, menggunakan database NOSQL sebenarnya tidak terkait. Ada alat yang dibangun di atas mongo, seperti analytica.
Salah satu manfaat dari pendekatan NoSQL bebas skema adalah Anda tidak melakukan secara prematur dan Anda dapat menerapkan skema yang tepat pada waktu kueri menggunakan alat yang sesuai seperti Apache Drill . Lihat presentasi ini untuk detailnya. MySQL tidak akan menjadi pilihan pertama saya dalam pengaturan data besar.
Pertimbangkan, coba, dan mungkin bahkan gunakan banyak basis data. Ini bukan hanya masalah "kinerja" yang dimainkan di sini. Ini benar-benar akan sesuai dengan kebutuhan Anda. Berapa banyak data yang Anda bicarakan? data apa? seberapa cepat Anda membutuhkannya? Apakah Anda lebih banyak membaca berat atau menulis berat?
Inilah satu hal yang tidak dapat Anda lakukan dalam database SQL: Hitung sentimen. http://www.slideshare.net/shift8/mongodb-machine-learning
Tentu saja kecepatan dalam hal itu mungkin tidak cukup cepat untuk kebutuhan Anda, tetapi itu adalah sesuatu yang mungkin. Dengan beberapa caching nilai agregat tertentu, itu bahkan cukup dapat diterima. Mengapa kamu melakukan ini? Kenyamanan
Kenyamanan benar-benar adalah sesuatu yang Anda akan diyakinkan. Itulah sebabnya (menurut saya) database NoSQL dibuat. Performa juga tentu saja, tapi saya mencoba untuk mendiskon benchmark dan lebih fokus pada masalah lain.
Database MongoDB (dan beberapa NoSQL lainnya) memiliki beberapa fitur yang sangat kuat seperti peta bawaan / pengurangan. Ini bisa menghasilkan penghematan baik dalam biaya maupun waktu untuk menggunakan sesuatu seperti Hadoop. Atau bisa menyediakan prototipe atau MVP untuk meluncurkan bisnis yang lebih besar.
Bagaimana dengan basis data grafik? Mereka "NoSQL" juga. Lihatlah basis data seperti OrientDB. Jika Anda ingin berdebat kinerja ... Saya tidak berpikir Anda akan menunjukkan kepada saya database SQL yang lebih cepat di sana =) ... dan basis data grafik memiliki beberapa aplikasi yang sangat luar biasa berdasarkan pada apa yang perlu Anda lakukan.
Aturan teknologi (dan internet) jangan terlalu nyaman dengan satu hal. Anda akan dibatasi dan mengatur diri sendiri untuk gagal.