Load Balancing dengan SQL Server


31

Apa yang ada saat ini untuk melakukan Load Balancing Microsoft SQL Server pada Windows Server dan transparan untuk akses program apa pun. Apakah ini dibangun atau apakah solusi harus dibeli?

Saya mencoba mencari tahu apakah ada solusi hari ini yang membuat ini sangat mudah dari sudut pandang server web atau akses database lain ke SQL Server.

Jawaban:


31

Tidak ada penyetelan beban "standar" yang diatur untuk MS SQL Server yang dapat Anda jalankan melalui wizard.

Ini akan menjadi keputusan arsitektur database dan diimplementasikan pada level database bukan pada level server. Tekniknya adalah:

  • Menskalakan / menggabungkan server basis data
  • Partisi
  • Turunkan persyaratan pelaporan Anda
  • Mungkin replikasi

Jika ada yang tidak setuju, maka saya ingin melihat artikel oleh seorang tokoh MS SQL yang terkenal yang mengatakan bahwa pengelompokan adalah load balancing. Artikel-artikel yang dikutip di atas tidak menyebutkan load balancing. Sebagai contoh, A Microsoftie (Chas Boyd) mengatakan tidak ada di sini .

Pertanyaan saya kepada OP adalah beban seperti apa yang Anda harapkan?

Database server biasanya IO dan memori terikat, sehingga konfigurasi disk yang tepat (dengan grup-grup yang sesuai) dan RAM sebanyak mungkin akan jauh lebih jauh daripada solusi di atas.

Jangan lupa: SQL Server 2005 / Windows 2003 Enterprise 32-bit menggunakan 32GB RAM (yang mana Anda akan memiliki cache data 26-28GB) dan Anda tidak dibatasi oleh huruf drive karena titik mount NTFS. Adapun x64 ...


22

Pertama saya ingin menghapus beberapa hal jika saya bisa ....

SQL Server Clustering adalah teknologi ketersediaan yang dibangun di atas Windows Clustering. Ini menyediakan redundansi pada tingkat perangkat keras dan tidak memiliki hubungan dengan teknik yang dikenal sebagai load balancing, yaitu distribusi beban pemrosesan.

Lebih jauh dari ini, Mirroring Database dan Pengiriman Log juga merupakan teknologi untuk terutama menerapkan ketersediaan berbagai bentuk.

Sekarang ke pertanyaan awal ...

Sayangnya tidak ada solusi siap untuk "keluar dari kotak" untuk load balancing di SQL Server.

Anda dapat menggunakan SQL Server Replication Technologies untuk mengimplementasikan lingkungan basis data terdistribusi yang juga merupakan faktor dalam distribusi beban pemrosesan transaksi, namun aplikasi Anda harus “sadar” akan arsitektur yang mendasarinya.

Pendekatan ini membutuhkan pengembangan dan penyesuaian aplikasi yang diberikan untuk memberikan layanan yang seimbang.

Saya harap apa yang saya perincian jelas dan masuk akal, tetapi tentu saja jangan ragu untuk langsung mengirimkan pertanyaan Anda kepada saya.



-1

Jika Anda tidak memiliki database tulis yang sangat tinggi, katakanlah 10/90 di mana hanya 10% dari transaksi Anda yang ditulis, Anda dapat menggunakan sql 2005 dan di atas replikasi peer-to-peer di atas penyeimbang beban perangkat keras untuk memenuhi kebutuhan Anda. Tidak ada yang keluar dari kotak.


-1

Grup AlwaysOn dengan satu grup dengan set DB bertindak sebagai Primer di Server A dan grup DB lainnya yang tersisa bertindak sebagai Primer di Server B yang dapat saya anggap sebagai solusi penyeimbangan beban. Hanya hal-hal yang Anda butuhkan untuk mengembangkan sinkronisasi manual dari objek tingkat Server seperti login, server yang terhubung, operator, peringatan, pengaturan surat database.


Ini sangat sulit dimengerti. Jika Anda memiliki sesuatu yang baru untuk ditambahkan, dapatkah Anda melakukannya dengan lebih jelas?
Laurenz Albe

-2

Teknologi baru untuk penyeimbangan beban basis data, terpisah dari SQL Server, tersedia. Solusi perangkat lunak ini terintegrasi dengan Always On pada 2012 atau 2014 dan mendukung pemisahan baca / tulis otomatis dan teknik penyeimbangan beban lainnya. Cari NetScaler DataStream atau ScaleArc untuk SQL Server sebagai dua contoh perangkat lunak penyeimbang beban SQL transparan ini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.