Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Server dan Oracle, mana yang lebih baik dalam hal skalabilitas?

Baik Oracle dan SQL Server adalah database disk bersama sehingga dibatasi oleh bandwidth disk untuk kueri yang dipindai tabel pada volume data yang besar. Produk seperti Teradata , Netezza atau DB/2 Edisi Paralel adalah 'tidak berbagi apa pun' arsitektur di mana database menyimpan partisi horizontal pada masing-masing node. Jenis arsitektur ini memberikan kinerja kueri paralel terbaik karena disk lokal pada setiap node tidak dibatasi melalui hambatan pusat pada SAN.

Sistem disk bersama (seperti Oracle Cluster Aplikasi Nyata atau SQL Server Tergugus penginstalan masih memerlukan SAN bersama , yang membatasi bandwidth untuk streaming. Pada VLDB, ini dapat secara serius membatasi kinerja pemindaian tabel yang mungkin dicapai. Sebagian besar kueri gudang data menjalankan pemindaian tabel atau rentang di seluruh blok data yang besar. Jika kueri akan mencapai lebih dari beberapa persen baris, pemindaian tabel tunggal sering kali merupakan rencana kueri yang optimal.

Beberapa array disk direct-attach lokal pada node memberikan lebih banyak bandwidth disk.

Setelah mengatakan bahwa saya mengetahui toko Oracle DW (perusahaan telekomunikasi besar Eropa) yang memiliki gudang data berbasis Oracle yang memuat 600 GB per hari, sehingga arsitektur disk bersama tampaknya tidak memaksakan batasan yang tidak dapat diatasi.

Antara MS-SQL dan Oracle ada beberapa perbedaan. IMHO Oracle memiliki dukungan VLDB yang lebih baik daripada SQL server karena alasan berikut:

  • Oracle memiliki dukungan asli untuk indeks bitmap , yang merupakan struktur indeks yang cocok untuk kueri gudang data berkecepatan tinggi. Mereka pada dasarnya melakukan CPU untuk I/O tradeoff karena run-length dikodekan dan menggunakan ruang yang relatif sedikit. Di sisi lain, Microsoft mengklaim bahwa Persimpangan Indeks tidak terlalu lambat.

  • Oracle memiliki fasilitas partisi tabel yang lebih baik daripada SQL Server. IIRC Partisi tabel di SQL Server 2005 hanya dapat dilakukan pada satu kolom.

  • Oracle dapat dijalankan di agak lebih besar perangkat keras daripada SQL Server, meskipun seseorang dapat menjalankan SQL server pada beberapa cukup dengan hormat besar sistem.

  • Oracle memiliki dukungan yang lebih matang untuk Tampilan material dan Penulisan ulang kueri untuk mengoptimalkan kueri relasional. SQL2005 memang memiliki beberapa kemampuan penulisan ulang kueri tetapi tidak didokumentasikan dengan baik dan saya belum melihatnya digunakan dalam sistem produksi. Namun, Microsoft akan menyarankan agar Anda menggunakan Layanan Analisis , yang sebenarnya mendukung konfigurasi apa pun yang dibagikan.

Kecuali Anda memiliki volume data yang benar-benar alkitabiah dan memilih antara Oracle dan arsitektur apa-apa yang dibagikan seperti Teradata, Anda mungkin akan melihat sedikit perbedaan praktis antara Oracle dan SQL Server. Khususnya sejak diperkenalkannya SQL2005, fasilitas partisi di SQL Server dipandang cukup baik dan ada banyak dari contoh dari multi-terabyte sistem yang telah berhasil diimplementasikan di dalamnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghapus daftar tabel dari skema di Oracle?

  2. Oracle FOR LOOP tidak beralih di SYS_REFCURSOR

  3. Bagaimana cara melewatkan parameter bernilai tabel dari C# ke prosedur tersimpan Oracle

  4. Oracle Database Regex Untuk Grup Karakter yang Berulang

  5. Haruskah saya menggunakan JDBC getNString() daripada getString()?