Bagaimana Anda memutuskan jenis database apa yang akan digunakan?

31

Saya sangat tidak suka nama "NoSQL", karena tidak terlalu deskriptif. Ini memberitahu saya apa database tidak di mana aku lebih tertarik pada apa database yang . Saya benar-benar berpikir bahwa kategori ini benar-benar meliputi beberapa kategori database. Saya hanya mencoba untuk mendapatkan gambaran umum tentang apa pekerjaan setiap database tertentu adalah alat terbaik untuk itu.

Beberapa asumsi yang ingin saya buat (dan saya minta Anda buat):

  1. Anggaplah Anda memiliki kemampuan untuk merekrut sejumlah insinyur brilian yang sama-sama berpengalaman dengan setiap teknologi basis data yang pernah ada.
  2. Asumsikan Anda memiliki infrastruktur teknis untuk mendukung basis data apa pun (termasuk server dan sysadmin yang tersedia yang dapat mendukung basis data tersebut).
  3. Asumsikan bahwa setiap basis data memiliki dukungan terbaik untuk gratis.
  4. Asumsikan Anda menerima 100% dari manajemen.
  5. Asumsikan Anda memiliki jumlah uang tak terbatas untuk dilemparkan pada masalah.

Sekarang, saya menyadari bahwa asumsi di atas menghilangkan banyak pertimbangan valid yang terlibat dalam memilih database, tetapi fokus saya adalah mencari tahu basis data apa yang terbaik untuk pekerjaan pada tingkat teknis murni. Jadi, dengan asumsi di atas, pertanyaannya adalah: pekerjaan apa yang dimiliki setiap database (termasuk SQL dan NoSQL) alat terbaik untuk dan mengapa?

Jason Baker
sumber
Setiap kesempatan Anda bisa mengambil dua contoh dari database ini dan apa kategorinya?
JeffO

Jawaban:

6

Database relasional (SQL) bagus untuk data yang model dasarnya tetap stabil. Banyak implementasi telah ada untuk sementara waktu (Oracle, DB2, SqlServer) dan stabil dan aman. Juga, sangat mudah untuk menemukan orang yang berpengalaman untuk mengadministrasikan mereka - dan admin database adalah suatu keharusan! Pemrogram tidak harus berurusan dengan izin, pengaturan, dan penyetelan. Mereka harus dapat berkonsentrasi pada pemrograman, dan membiarkan administrator khawatir tentang menjaga database. Database relasional juga relatif mudah untuk dicari, dan ada banyak alat di luar sana untuk membantu menemukan data dari mereka.

Michael K.
sumber
5

SQL

Objek relasional. Server yang stabil dengan kendali butir halus atas izin.

NoSQL

Penyimpanan fleksibel. Skalabilitas tinggi dan kemampuan sharding.

Josh K.
sumber
1

Ada beberapa info yang sangat baik tentang ini dalam artikel ini: Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j perbandingan :

Sementara database SQL adalah alat yang sangat berguna, monopoli mereka ~ 15 tahun akan segera berakhir. Dan itu hanya waktu: Saya bahkan tidak bisa menghitung hal-hal yang dipaksa ke dalam basis data relasional, tetapi tidak pernah benar-benar memasangnya.
Tetapi perbedaan antara database NoSQL jauh lebih besar daripada sebelumnya antara satu database SQL dan yang lainnya. Ini berarti bahwa itu adalah tanggung jawab yang lebih besar pada arsitek perangkat lunak untuk memilih yang tepat untuk proyek pada awalnya.
Dalam hal ini, berikut adalah perbandingan Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j dan HBase [...]

Jason Baker
sumber
-3

Saya kira ini bukan pertanyaan yang bagus, misalnya, kendaraan apa yang bagus? Bugatti, BWM, mobil, mesin mini, kereta api, lokomotif, pesawat terbang?
Hal ini tergantung pada situasi Anda,

untuk pekerjaan kecil tanpa data besar, sqlight mungkin bagus.
untuk perusahaan yang menggunakan produk Microsoft, MSSQL bagus.
untuk pengembangan web, MySql sangat mudah digunakan.
untuk bank, Oracle atau couchbase (jika menangani masalah trancation).
untuk pekerjaan kecil dengan banyak data, MongoDB bagus.
untuk perusahaan dengan data yang sangat besar dan hanya satu jenis tabel, Cassandra.
untuk perusahaan dengan data besar, Couchbase.
untuk ekosistem hadoop, HBase.
untuk grafik, gambar, dalam Memori, ...

Hossein Vatani
sumber
5
Saya ingin tahu mengapa Anda akan merekomendasikan MySQL untuk toko Microsoft melalui Sql Server?
Becuzz
saya memperbaikinya, maksud saya Mssql.
Hossein Vatani