Pertanyaan MySQL vs SQL Server vs. Oracle [tertutup]


Saya selalu hanya menggunakan MySQL dan tidak ada sistem database lain.

Sebuah pertanyaan muncul di rapat perusahaan hari ini dan saya merasa malu saya tidak tahu: Untuk seorang pengembang, apa fungsi mengguncang bumi yang MS atau Oracle tawarkan yang kekurangan MySQL dan yang memungkinkan MS dan Oracle untuk mengisi daya untuk sistem mereka?


76
2017-12-16 09:54


asal


Jawaban:


Saya pikir komentator lain cukup tepat untuk menyoroti semua kemampuan RDBMS non-inti ekstra yang dibundel dengan solusi komersial.

Berikut ini adalah matriks edisi dan fitur Oracle yang layak untuk dilihat hanya untuk memahami fitur "ekstra", terutama dalam konteks apa yang diperlukan untuk mengembangkan dan mendukung versi Anda sendiri (jika itu mungkin) pada produk seperti MySQL: http://www.oracle.com/us/products/database/product-editions-066501.html

Misalnya, jika Anda memiliki persyaratan yang mengatakan: "Pengguna harus dapat memulihkan versi data sebelumnya yang telah mereka hapus / perbarui hingga satu minggu setelah perubahan dilakukan" maka itu berarti biaya pengembangan tertentu yang saya pikir akan jauh lebih tinggi pada sistem yang tidak memiliki fitur built-in seperti oracle's Flashback Query.


36
2017-12-16 10:28



Lapisan RDBMS murni dari Oracle dan MSSQL menawarkan terutama lingkungan yang dapat diprogram lebih matang daripada MySQL dan InnoDB. T-SQL dan PL / SQL tidak dapat dicocokkan dengan prosedur dan pemicu yang disimpan MySQL.

Perbedaan lainnya adalah perbedaan semantik sintaktis dan sedikit yang membuat segalanya lebih mudah atau lebih sulit (seperti top 500 versus limit / offset).

Tapi pembunuh yang sebenarnya adalah bahwa ada banyak alat dan layanan terintegrasi di atas lapisan RDBMS dari MSSQL (Layanan Pelaporan, Jasa Analisis) dan Oracle (Data Pergudangan, RAC) yang MySQL tidak miliki (belum).


22
2017-12-16 10:07



MySQL tidak gratis!

Ini dipahami secara luas gratis, tetapi Anda menjual atau mendistribusikan paket perangkat lunak yang menggabungkan MySQL, itu membawa pembatasan yang agak berat. Dalam kasus ini, itu gratis hanya untuk proyek Open Source atau organisasi nirlaba. Jika Anda dapat sepenuhnya memisahkan database dan driver dari sisa aplikasi Anda, dan memaksa pelanggan Anda untuk mengunduh dan menginstal MySQL sendiri, Anda mungkin baik-baik saja.

Jika tidak, harganya $ 2.000 / tahun untuk edisi "standar", yang kira-kira sebanding dengan biaya lisensi SQL Server.

Keduanya merupakan basis data yang sangat bagus, tetapi di antara keunggulan SQL Server adalah:

  • Bahasa prosedural yang kaya dan ekspresif (T-SQL)
  • Pengoptimal kueri yang lebih baik, dan kinerja yang lebih baik di lingkungan tulis-intensif
  • Perangkat dan kemampuan tambahan yang kuat, termasuk lingkungan pemrograman, alat ETL (SSIS), pemodelan dimensi (SSAS), lingkungan pelaporan (SSRS), dan penjadwal pekerjaan yang cukup canggih.
  • Debugging interaktif dari prosedur yang tersimpan dan UDFs.
  • Alat manajemen berbasis jendela yang relatif mudah digunakan yang memungkinkan Anda melakukan sebagian besar tugas administrasi dengan cara "klik".

Banyak orang yang secara ideologis menentang penggunaan alat-alat Microsoft, atau terkunci dalam lingkungan Windows, dan saya bisa mengerti itu. Tetapi MySQL TIDAK bebas untuk penggunaan bisnis, dan itu tidak tampak dipahami secara luas.

Untuk meninjau kebijakan lisensi MySQL, silakan lihat di situs web mereka: http://www.mysql.com/about/legal/licensing/index.html


13
2017-12-04 23:34



Beberapa hal lain yang dimiliki oracle mysql.

  • Antrian
  • penjadwalan pekerjaan internal
  • bahasa prosedur yang tersimpan matang
  • tabel yang dipatenkan
  • kontrol akses halus dan audit
  • fitur pemulihan yang kuat (misal, flashback, rman, dataguard)
  • tautan basis data jauh
  • aplikasi ekspres

9
2017-12-16 11:39



Sampai saya mengelola RDBS dari vendor lain Oracle berulang-ulang "pembaca tidak memblokir penulis, penulis tidak memblokir pembaca 'berarti sedikit bagi saya. Saya benar-benar tidak tahu banyak tentang penanganan masalah penguncian dalam 8 tahun sebagai DBA Oracle. 2 tahun Informix dan 3 atau SQL Server dan percayalah pada saya, saya tahu banyak tentang penguncian.

Jadi saya akan mengatakan, selain komentar tentang dukungan dan fitur non-RDBMS, tambahkan perilaku penguncian.


8
2017-12-18 04:05



Terlalu banyak fungsi untuk didaftar. Lihat referensi Wikipedia dalam pesan nullptr. Tapi saya kira pertanyaan yang benar-benar ditanyakan pada pertemuan adalah "Untuk seorang pengembang, apa fungsi mengguncang bumi yang MS atau Oracle tawarkan bahwa MySQL tertinggal di mana memungkinkan MS dan Oracle untuk mengisi daya untuk sistem mereka. dan yang dapat dimanfaatkan secara efektif oleh perusahaan kami? "

Semua kelebihan itu benar-benar kelebihan jika cocok dengan kebutuhan Anda ...


5
2017-12-16 11:45



Peramal kelompok tabel dan satu kelompok hash klaster (yang tidak akan Anda temukan di SQL Server).


5
2017-12-16 12:17



CATATAN: Saya tidak bisa mengatakan apa pun tentang Oracle, jadi saya akan menjawab untuk SQL Server saja.

Nah, tentu saja perbedaan kecil dalam mesin database, seperti pernyataan MERGE, MASSAL INSERT, PENGELOMPOKKAN SET, dll.

Tapi saya pikir bagian yang lebih besar adalah hal-hal seperti Layanan Integrasi, Layanan Analisis dan Layanan Pelaporan. Itu adalah teknologi penting yang menurut saya benar-benar bernilai uang yang mereka bayar.


4
2017-12-16 10:02



MySQL tidak menawarkan lingkungan pemrograman yang lebih kaya yang ditawarkan Oracle dan MSSQL, terutama pada inkarnasi awal, ketika itu bahkan tidak memiliki Stored Procedures. Dari sudut pandang saya, saya cenderung untuk menempatkan sebagian besar logika bisnis saya ke dalam aplikasi, melalui DAO atau ORM mappers dll. Oleh karena itu mesin database di bawahnya kurang penting dan dalam teori aplikasi tersebut dapat dipindahkan. Dari perspektif manajemen, MSSQL menawarkan sejumlah manfaat (banyak yang sudah terdaftar) yang membuat tugas memiliki database jauh lebih mudah. Microsoft juga menyediakan SQLExpress yang sangat baik dan ringan untuk pengembangan, yang menurut saya mudah untuk dikerjakan dan terintegrasi ke dalam Visual Studio dengan baik.


4
2017-12-16 12:02



Terinspirasi oleh jawaban ThinkJet, saya pikir faktor lain yang berperan adalah, "Sampai sejauh mana kita bersedia membatalkan independensi basis data untuk menyediakan pengembangan aplikasi yang lebih cepat dan lebih murah?" Jika penekanan perusahaan adalah bahwa semua kode harus portabel di antara database maka tidak ada gunanya menggunakan apa pun selain RDBMS yang paling sederhana, dan perbaikan dan keuntungan yang disediakan oleh Oracle dan Microsoft tidak ada gunanya.

Dibutuhkan sangat sedikit untuk mematahkan kemandirian database yang sebenarnya, dan filosofi saya adalah bahwa Anda harus melemparkan diri Anda sepenuh hati untuk memanfaatkan setiap fitur yang telah Anda bayarkan - peningkatan SQL, PL / SQL, dll.

Orang lain mungkin berbeda, tentu saja.


3
2017-12-16 15:58



Saya pikir pertanyaan itu memiliki asumsi implisit bahwa itu adalah fitur pengembangan yang memungkinkan SQL Server / Oracle untuk mengisi daya. Saya menduga itu lebih merupakan implementasi / dukungan.

Hot backup adalah fitur utama yang layak dibayar, setidaknya untuk sebagian besar instalasi.

Untuk Oracle, nilai tambah yang besar adalah RAC - beberapa server yang memukul data yang sama (mis. Disk yang sama) tanpa ada replikasi berantakan yang terlibat. Ini (umumnya) tidak jelas bagi pengembang.


3
2017-12-16 22:15