Kelemahan dengan berbagai jenis database NoSQL

10

Inilah pertanyaan saya: Apa kelemahan dengan berbagai jenis database NoSQL? Secara khusus, apa kelemahan toko kunci, toko data grafik, dan toko dokumen?

Saya memiliki waktu yang mudah menemukan kekuatan, tetapi dokumen tentang kelemahan tampaknya lebih langka.

Sunting: Dalam perbandingan satu sama lain, dan dengan basis data relasional.

Aedilum
sumber

Jawaban:

7

Kekuatan / kelemahan terbesar dari setiap penyimpanan data yang didistribusikan berasal dari teorema CAP. Lihat http://blog.nahurst.com/visual-guide-to-nosql-systems untuk ikhtisar singkat tentang apa artinya dalam praktiknya untuk sejumlah besar sistem NoSQL yang ada di luar sana.

btilly
sumber
1
Perhatikan bahwa ini sebenarnya bukan kerugian NOSQL. Teorema CAP berlaku untuk semua penyimpanan data yang didistribusikan: SQL, NOSQL, relasional atau non-relasional.
nvogel
6

Jika Anda membandingkannya dengan database relasional, kelemahan yang jelas adalah bahwa penyimpanan nilai kunci tidak bersifat relasional. Konsekuensinya, akan lebih sulit untuk menulis laporan menggunakan penyimpanan nilai kunci daripada menggunakan basis data relasional, di mana laporan dan ekstraksi data tersebut dirancang secara khusus.

Robert Harvey
sumber
Baiklah, bagaimana dengan dua lainnya? Seperti yang saya tahu, basis data grafik adalah semua tentang hubungan, misalnya.
Aedilum
1
@Aedilum: Pengalaman saya sebagian besar dengan database relasional, tapi saya curiga bahwa kunci-nilai menyimpan, menyimpan data grafik dan menyimpan dokumen semua memecahkan masalah tertentu. Secara umum, masing-masing akan menjadi kuat di domain masalah yang dirancang khusus, dan lebih lemah di domain lain.
Robert Harvey
2

Ini sangat subyektif, apa yang menurut Anda mungkin menjadi kelemahan, orang lain mungkin berpikir adalah kekuatan terbesarnya.

Semua database NoSQL yang saat ini populer sedang menangani masalah-masalah dimana sistem RDBMS yang ada lemah, dan mereka biasanya sangat terspesialisasi pada satu masalah tertentu yang dimiliki dan sedang dicoba diselesaikan oleh pencetusnya.

Jadi, setiap kelemahan produk adalah kemampuannya untuk melakukan apa yang Anda butuhkan dalam waktu atau ruang yang efisien.


sumber
Memang, salah satu hal yang saya pelajari tentang NoSQL adalah bahwa mereka semua dibuat untuk menyelesaikan masalah yang sulit didapat RDBMS, seperti sejumlah besar operasi dalam rentang waktu yang singkat atau hubungan yang kompleks.
Aedilum
1

Saya akan mulai dengan mencatat bahwa saya suka database NoSQL dan saya sedang dalam proses membuang database dan aplikasi berbasis SQL kami di tempat yang masuk akal. Proses ini telah membawa satu kelemahan utama ke cahaya - cerita operasional belum ada di sana. Yang saya maksud dengan ini adalah:

  • NoSQL masih merupakan target yang bergerak cepat. Anda harus cukup akrab dengannya untuk mengetahui apa yang berubah di antara versi. Dari perspektif operasional, ini menciptakan beberapa kesulitan - sysadmin digunakan untuk hal-hal yang terdokumentasi secara wajar dengan praktik terbaik. Ketika praktik terbaik belum ditetapkan, praktiknya akan sedikit menakutkan.
  • Sangat, sangat sedikit orang di luar sana yang terbiasa mengoperasikannya di luar komunitas pembangunan. Ini membuatnya menjadi tantangan ketika Anda ingin menyerahkan produk ke operasi dan selesai dengan itu.
  • Jenis-jenis ops yang lebih baik cenderung mampu menangani SQL ringan, dan setidaknya mengenalinya. Json atau apa pun nosql Anda berbicara adalah sedikit kurva belajar.
  • Reputasi adalah hal yang sulit - kehilangan data sangat menakutkan untuk jenis ops. Mereka menjadi percaya bahwa database SQL akan selamat dari bencana nuklir. NoSQL akan sedikit pekerjaan penjualan di sana.

Hal rumit lainnya kadang-kadang adalah pelaporan - banyak alat userland dapat menghubungkan langsung ke database sql, NoSQL masih membutuhkan pengembang untuk menyeberangi jembatan itu.

Wyatt Barnett
sumber
Jadi, intinya ... Tidak ada kelemahan nyata di seluruh papan yang tidak terkait dengan masa kanak-kanak produk NoSQL?
Aedilum
@ Edilum: Masa bayi itu adalah peringatan yang cukup besar.
Robert Harvey
@Robert Harvey: tepatnya, bayi melahirkan banyak masalah. @Aedilum: sebagai genre tidak ada kelemahan yang mengerikan dengan asumsi Anda melakukan sesuatu dengan database NoSQL Anda yang masuk akal dan Anda punya daging untuk mengelolanya termasuk menggulirkan solusi Anda sendiri dalam gelap malam ketika produksi turun karena tidak ada manual dan tidak ada dukungan berbayar. Masuk akal?
Wyatt Barnett