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

SQL Server Clustering dari Perspektif Oracle RAC

Bukan rahasia lagi bahwa saya tahu solusi pengelompokan database Oracle dengan cukup baik. Baru-baru ini, saya menyelesaikan clustering SQL Server, solusi ketersediaan tinggi yang membutuhkan waktu dua tahun dari desain awal hingga implementasi akhir. Proses tersebut meliputi pendokumentasian persyaratan, penentuan opsi, pemetaan persyaratan hingga detail implementasi, penganggaran, pengadaan, pemasangan, konfigurasi, dan pengujian.

Sekarang setelah proyek saya selesai, saya pikir saya akan memberikan beberapa item tentang pengelompokan SQL Server dari sudut pandang orang Oracle RAC. Kita semua tahu bahwa SQL Server dan Oracle adalah mesin RDBMS dan mereka mungkin memiliki beberapa kesamaan. Tapi mereka juga makhluk yang sama sekali berbeda. Jadi, jika Anda merasa nyaman dengan Oracle's Grid Infrastructure dan RAC dan Data Guard, dan ingin menerapkan solusi SQL Server HA, mungkin ini akan memberikan beberapa informasi yang bagus untuk Anda.

Sistem produksi kami saat ini adalah database utama Oracle RAC 4-node. Ini memberikan ketersediaan tinggi (dan kinerja tinggi) dalam pusat data utama kami. Kami menggunakan Data Guard untuk mengangkut redo ke database siaga fisik RAC 3-node. Meskipun SQL Server <> Oracle, saya ingin menjaga konfigurasi kami semirip mungkin untuk memudahkan administrasi. Jadi, kami menerapkan 2-node SQL Server Failover Cluster di situs utama kami dan database "siaga" 1-node di situs DR kami.

Sekarang ke pengamatan saya, tanpa urutan tertentu.

  • Solusi pengelompokan HA SQL Server adalah Aktif/Pasif. Oracle adalah Aktif/Aktif yang bagi saya "lebih baik", dan ya ... itu istilah subjektif. Untuk implementasi Aktif/Pasif kami, saya tidak menyukai gagasan dua server fisik yang duduk di sana dengan satu yang pada dasarnya menganggur sepanjang waktu. Jadi kami memiliki satu server fisik yang merupakan node 'pilihan' dan satu server virtual. Jika server fisik gagal, pengelompokan akan secara otomatis mem-failover instance SQL Server ke server virtual dan kami beroperasi kembali. Cluster Aktif/Pasif ini tidak menangani skalabilitas seperti yang dilakukan Oracle RAC, tetapi memberikan saya ketersediaan yang lebih tinggi di lingkungan utama kami.
  • Menerapkan pengelompokan sangat mudah. Aktifkan pengelompokan di tingkat OS. Karena ini adalah tumpukan Microsoft sepenuhnya, mereka membangun pengelompokan ke dalam OS. Itu sudah ada untuk Anda. Anda hanya perlu menyalakannya. Kemudian jalankan Alat Administratif -> Failover Cluster Manager dan wizard memandu Anda melalui pengaturan. Jauh lebih mudah daripada menginstal Infrastruktur Grid. Tetapi Oracle memang harus bersaing dengan platform OS yang berbeda yang membuatnya lebih sulit di sana. Akan menarik untuk melihat bagaimana SQL Server 2016 di Linux menangani Failover Clustering.
  • Oracle menggunakan model Shared Disk sedangkan SQL Server adalah Shared Nothing. Tetapi Anda perlu menggunakan "disk bersama" karena disk harus tersedia di kedua node. Namun, MS Failover Clustering (MSFC) memasang disk berkerumun di node aktif. Ketika SQL Server dipindahkan ke node lain, baik secara otomatis atau manual, MSFC akan meng-unmount disk pada satu node kemudian memasangnya di node lain. Agak aneh jika jendela Windows Explorer terbuka dan melihat disk muncul atau menghilang selama transisi ini.
  • Infrastruktur Grid menggunakan Voting Disk untuk operasi kuorum. Di MSFC, Anda dapat memiliki disk Kuorum, menggunakan berbagi file, atau mengonfigurasi tanpa kuorum. Jika Anda menggunakan yang terakhir, Anda menghambat kemampuan failover otomatis Anda.
  • Saya terbiasa primer saya memiliki cluster sendiri dan standby cluster sendiri. Dengan SQL Server, node utama dan node siaga harus menjadi bagian dari cluster yang sama. Untungnya, cluster dapat melintasi subnet  yang berbeda dari Oracle GI. Menambahkan node siaga sangat mudah, kami baru saja menghapus hak suaranya dan kami tidak mengonfigurasi disk kuorum untuk node siaga. Ini tidak masalah bagi kami karena kami ingin failover ke standby menjadi operasi manual.
  • Untuk database standby, Anda dapat menggunakan Database Mirroring, Log Shipping, atau AlwaysOn Availability Groups (AGs). Dua yang pertama sedang dalam perjalanan keluar jadi saya pergi dengan AG. AG membutuhkan node standby untuk menjadi bagian dari cluster yang sama dengan node utama. Ada wizard untuk memandu Anda menyiapkan database untuk berpartisipasi dalam AG. Ini jauh lebih mudah daripada menyiapkan siaga fisik Oracle.
  • Bagi Anda yang membenci dokumentasi Oracle, saatnya bersyukur. Banyak kali selama proses ini saya menemukan dokumentasi MS hilang bagian yang sangat besar. Misalnya, saya tidak pernah menemukan cara mengkonfigurasi node siaga saya agar tidak memiliki hak suara. Untungnya kami dapat mengekliknya.

Ketika semuanya dikatakan dan dilakukan, mengimplementasikan solusi SQL Server tidak terlalu sulit. Terkadang saya harus mengandalkan pengetahuan saya tentang pengelompokan. Di lain waktu, terminologi Microsoft menghalangi. Sebagai contoh, seluruh dunia menyebutnya "split brain" tetapi MS menyebutnya "split cluster". Terkadang mengatasi perbedaan leksikon adalah rintangan terbesar.


  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 mengganti nilai tertentu di kolom database Oracle?

  2. CSV di Pengembang SQL…

  3. Pengantar Penanganan Pengecualian PL/SQL Di Database Oracle

  4. ORA-01017 Tips Resolusi Kesalahan Oracle

  5. Hibernasi, id, oracle, urutan