Menyelesaikan Computing A-level saya pada tahun 2003 dan mendapatkan gelar dalam Computing pada tahun 2007, dan mempelajari perdagangan saya di sebuah perusahaan dengan banyak penggunaan SQL, saya dibesarkan dengan gagasan tentang Relational Database yang digunakan untuk penyimpanan.
Jadi, meskipun relatif baru untuk pengembangan, saya terkejut membaca komentar (di /software//q/89994/12436 ) yang mengatakan:
[Beberapa devs] membenci [SQL] dan berpikir bahwa itu dan RDBMS adalah mode
Jelas, pengembang yang kompeten akan menggunakan alat yang tepat untuk pekerjaan yang tepat dan tidak akan membuat database relasional ketika misalnya file datar atau solusi lain untuk penyimpanan yang tepat, tetapi RDBM berguna dalam sejumlah besar keadaan, jadi bagaimana mereka bisa dianggap mode?
Jawaban:
Kuncinya adalah dalam R dalam RDBMS, yang merupakan singkatan untuk relasional. Bertentangan dengan kepercayaan populer itu tidak berarti hubungan antara tabel, tetapi lebih pada kenyataan, bahwa setiap tabel adalah hubungan dalam arti matematika kata .
Model relasional memiliki implikasi yang cukup signifikan. Anda harus memodelkan data Anda agar sesuai dengan hubungan dan menormalkan model itu . Jika aplikasi Anda dirancang sebagai model berorientasi objek, model relasional tidak cocok. Ini secara luas dikenal sebagai ketidakcocokan impedansi objek-relasional .
Salah satu pendekatan untuk ketidakcocokan ini adalah ORM (object-relation mappers), yang telah mendapatkan banyak popularitas. Tapi mereka bukan solusi yang benar, mereka lebih suka mengatasi masalah. Mereka masih belum benar-benar menyelesaikan masalah pemetaan warisan kelas ke model relasional.
Solusi sebenarnya untuk ketidakcocokan objek-relasional adalah OODBMSes , yang sayangnya tidak mendapatkan banyak daya tarik. Mesin populer yang mendukung OOBD secara asli adalah PostgreSQL, yang merupakan hybrid OO / RDBMS. OODBMS lain adalah Zope Object DB , yang dibangun dengan Python dan dalam pengaturan tipikal menggunakan RDBMS sebagai mesin yang mendasarinya.
Pendekatan alternatif adalah memiliki lebih banyak logika yang diimplementasikan dalam aplikasi atau tingkat peralatan menengah dan menggunakan solusi NoSQL untuk penyimpanan yang mendasarinya.
Baik OODBMS maupun NoSQL adalah "hanya file-datar".
sumber
Saya membuat pernyataan yang Anda kutip dalam pertanyaan di atas. Jika Anda ingin kutipan untuk memverifikasi asumsi saya tentang pengembang di situs ini, maka baca jawaban saya untuk pertanyaan berikut dan tinjau balasan reaksi dan downvotes yang saya terima untuk apa yang saya anggap sebagai jawaban yang dapat diterima.
Haruskah programmer berpengalaman mengetahui permintaan basis data?
Saya membuat pernyataan bahwa jika database RDBMS digunakan meskipun Linq atau ORM, seorang pengembang harus memiliki pengetahuan SQL yang canggih.
Ini adalah pernyataan yang sangat tidak populer tampaknya karena perbedaan pendapat yang terhormat tentang pentingnya SQL, dengan pola pikir yang kurang terhormat bahwa RDBMS secara inheren lebih rendah daripada database NoSQL seperti MongoDB.
EDIT: Untuk menambah klaim saya lebih lanjut, saya akan mengutip SK-logika pengguna:
sumber
mode :
RDBMS sudah ada sejak lama (setidaknya dalam istilah CS), jadi siapa pun yang mengatakan itu berarti mengatakan sesuatu yang lain atau tidak mengerti.
sumber
Alternatif untuk RDBMS bukan hanya flat-file. Ketika saya di sekolah, OODBMS adalah hal yang baru dan profesor saya benar ketika dia memberi label iseng. Anda harus melihat pada model yang berbeda dan perhatikan trennya. Saya telah melihat peningkatan ketergantungan pada OLAP dan akan berani bertaruh sistem multi-dimensi baru yang dapat memproses data lebih cepat hanya sekitar sudut.
sumber
Masalahnya adalah bahwa banyak pengembang salah menyamakan RDBMS dengan SQL. SQL adalah bahasa yang benar-benar mengerikan oleh standar modern. Ini adalah implementasi cacat dan tidak lengkap dari bahasa "relasional" (SQL tidak benar-benar relasional sama sekali dan itu bagian dari masalah) yang belum banyak berkembang dalam 30 tahun terakhir. Banyak orang yang menggunakan SQL hampir tidak memahami model relasional - semua yang mereka tahu adalah SQL sehingga mereka menganggap bahwa model relasional adalah penyebab frustrasi mereka.
sumber
Tanpa konteks sulit untuk menentukan siapa / mengapa pernyataan bahwa RDBM dianggap iseng.
Dalam jangka pendek hingga menengah (5 -10 tahun) dan saya akan berpikir lebih lama lagi bahwa tidak akan hilang. RDBM menyediakan metode yang efisien dan efektif untuk menyimpan, memproses, dan mengambil data relasional yang merupakan milik sebagian besar perusahaan, baik pelanggan / pesanan, penumpang / tiket, dll.
Ada alternatif lain lain seperti NoSQL yang tampaknya tumbuh dalam popoularitas dengan proyek open source.
Karena OLAP ini benar-benar (dalam pikiran saya) database spesialis yang dirancang untuk memungkinkan bisnis memberikan informasi statistik tepat waktu dan berguna tentang perusahaan dan menjalankan skenario "bagaimana jika" pada data saat ini. Tentu saja dalam hampir semua kasus, data saat ini berasal dari RDMBs dan dimanipulasi dan kemudian dimasukkan ke dalam database OLAP.
sumber
Database relasional adalah iseng dalam arti yang sama bahwa komputer mikro adalah iseng.
sumber
Jawaban sederhana adalah tidak. RDBMS bukan mode. Ketika Anda membaca sesuatu di situs web untuk LinqPad, perlu diingat bahwa tujuan mereka adalah untuk menjual lisensi untuk produk mereka.
sumber
Fad bukan kata yang tepat karena mereka telah lama hidup. Saya pikir Anda bisa mulai membuat argumen bahwa teknologinya sudah sangat tua dan mungkin saatnya untuk datang dengan hal berikutnya berikutnya - mungkin arsitektur NoSQL
sumber
The Wiki Def. dari Fad , mendefinisikan istilah "mode" sebagai berikut: Sebuah mode adalah segala bentuk perilaku yang berkembang di antara populasi besar dan secara kolektif diikuti dengan antusiasme untuk beberapa periode, umumnya sebagai hasil dari perilaku yang dianggap sebagai novel dalam beberapa cara. Sebuah tren dikatakan "menangkap" ketika jumlah orang yang mengadopsinya mulai meningkat dengan cepat. Perilaku itu biasanya akan memudar dengan cepat begitu persepsi tentang kebaruan hilang.
Karena pengikut RDBMS tidak cepat pudar, dan tidak akan pergi dalam beberapa tahun mendatang (berkat tumpukan besar aplikasi produksi yang menggunakannya), kami tidak dapat mengatakan bahwa ini adalah sebuah tren. Sebenarnya konsep inti RDBMS tetap cukup stabil di mana begitu banyak teknologi lainnya berubah (dan masih berubah) secara dramatis.
Konsep RDBMS (dan kendaraan utamanya, SQL) mewakili langkah dalam teknologi yang, seperti banyak lainnya, dapat digantikan oleh yang lebih baik, itu saja.
sumber