Pentingnya lokasi instalasi Microsoft SQL Server

10

Saya memiliki server dengan disk lambat yang murah dan disk cepat yang mahal.

Saya ingin menggunakan disk mahal untuk semua hal yang penting cepat, seperti database saya.

Untuk menghemat uang, saya ingin menggunakan disk lambat untuk apa pun di mana tidak ada banyak perbedaan apakah itu cepat atau lambat, seperti cadangan.

Sekarang, pertanyaan saya adalah, apakah saya harus menginstal Microsoft SQL Server pada disk lambat atau cepat?

(Untuk lebih jelasnya, saya akan meletakkan basis data saya di disk cepat tidak peduli apa, jadi pertanyaan saya hanya berkaitan dengan lokasi instalasi itu sendiri)

Niels Brinch
sumber
3
Mengapa Anda bahkan menganggap ini mengingat bahwa 120GB ssd menulis rendah adalah (a) MURAH dan (b) super cepat dan (c) cukup baik untuk semua program OS + bijaksana? Saya memindahkan semua sistem operasi ke 120gb ssd 2 tahun yang lalu dan biaya tidak masalah - pada saat itu. Sekarang ini bahkan kurang relevan.
TomTom
Anda ingin mempercayai basis data penting untuk disk SSD? Ingatkan aku untuk tidak melakukan bisnis denganmu ...
Shadur
2
@ Safad apa flamebait. Ya, saya akan meletakkannya di disk yang dikonfigurasi RAID 10 berbasis SSD yang direplikasi ke 2 disk lain secara lokal dan dicadangkan setiap malam ke lokasi yang jauh. Selamat datang di dekade ini!
Niels Brinch
@ TomTom Anda benar tentu saja, tetapi saya berada dalam situasi yang agak sensitif biaya dalam hal ini, jadi itu sebabnya saya bahkan repot dengan jenis optimasi hiper. Pertanyaan saya akan menjadi semakin tidak relevan ketika setiap tahun berlalu, seperti halnya dengan sebagian besar pertanyaan di sini saya kira.
Niels Brinch
@NielsBrinch Cent Smart dan Pound Foolish. Serius.
TomTom

Jawaban:

11

Ini semacam pendapat-ish, tapi saya akan meletakkan binari SQL Server pada disk yang lambat. Sangat umum untuk meletakkan binari pada disk OS (meskipun beberapa orang membenci itu), atau pada disk yang lebih lambat.

Anda tentu ingin mengingat untuk meletakkan basis data sistem Anda, terutama tempdb, pada disk yang lebih cepat. Bahkan, itu juga umum untuk menempatkan tempdb dengan sendirinya.

Hal ini sejalan dengan sebuah beberapa dari artikel saya menemukan bahwa mungkin berguna untuk Anda.

Ada juga cadangan log transaksi untuk dipikirkan, dan saya mengacaukan ini karena Anda ingin LDF pada disk lebih cepat dan Anda juga ingin cadangan pada disk yang berbeda dari tempat basis data tinggal, tetapi akan lebih baik jika mereka menggunakan disk lebih cepat. Anda harus membuat panggilan penilaian, tetapi saya mungkin akan kembali ke disk yang lebih lambat dan mengeluh tentang hal itu. ;)

Katherine Villyard
sumber
Terima kasih. Apakah Anda mengatakan itu tidak mempengaruhi kinerja terutama apakah instalasi sql server (binari dll) ada di disk lambat atau cepat?
Niels Brinch
1
Bukannya saya perhatikan. Dan itu adalah konfigurasi yang cukup umum.
Katherine Villyard
6
Katherine benar, karena binari itu sendiri tidak terikat IO. Secara umum menempatkan binari pada disk cepat akan meningkatkan waktu muat tetapi jarang mempengaruhi kecepatan operasi umum karena kode tersebut berjalan dari memori. Kecuali Anda sering me-restart server, biner tidak akan terasa sakit jika penyimpanannya lebih lambat.
Corey
@Corey terima kasih banyak untuk penjelasannya. Ini yang saya cari.
Niels Brinch
6

Saya ingin menindaklanjuti jawaban yang cukup bagus yang sudah disiapkan Katherine Villyard .

Ini agak tergantung pada tujuan penggunaan database Anda.
Jika Anda mengharapkan banyak operasi menulis, pergi ke depan dan menempatkan Anda .mdfdan .ndffile pada disk lebih cepat.

Namun, jika database Anda adalah salah satu yang umumnya cukup statis (melayani konten web misalnya). Dan kueri tidak banyak berbeda, kemungkinan Anda akan mendapatkan sejumlah besar kueri di memori Anda, atau bahkan di-cache di sisi aplikasi. Pada titik mana Anda lebih baik menggunakan disk lebih cepat untuk Anda .ldf, tempdbdan cadangan.

Demikian juga, jika Anda mengharapkan banyak pertanyaan besar, seperti untuk OLAPbasis data, Anda lebih baik menyimpan .mdf, tempdbpada disk yang lebih cepat. Dan menempatkan .ldfpada disk Anda yang lebih lambat karena tidak akan sering menjadi bagian dari kemacetan.

Dalam kasus apa pun, jangan repot-repot meletakkan binari pada disk cepat, kami biasanya meletakkannya pada disk lambat (bukan sistem jika dapat dihindari).
Juga, jangan terpaku pada mencoba untuk mendapatkan kedua .ldfdan .mdffile pada disk cepat, umumnya mereka dipisahkan bila memungkinkan.

Jadi dalam ringkasan, tinjau beban Anda untuk melihat apa yang akan menjadi hambatan Anda.

Reaces
sumber
3

Anda memiliki hal-hal mundur. Saya tahu ini kontra-intuitif, tetapi Anda ingin backup (terutama termasuk backup log transaksi) pada disk cepat, dan file mdf / ldf (dengan pengecualian tempdb) pada disk lambat.

Anda bisa menganggapnya sebagai Sql Server menyimpan dua representasi data Anda. File-file MDF + LDF mewakili keadaan database saat ini, sedangkan cadangan (termasuk cadangan log transaksi sejak cadangan penuh terakhir) mewakili apa yang Anda perlukan untuk memulihkan keadaan database saat ini jika terjadi kegagalan. Anda ingin memisahkan kedua representasi ini dari satu sama lain, sehingga peristiwa yang menghancurkan satu representasi juga tidak akan merusak representasi lainnya.

Ternyata kinerja Sql Server cenderung lebih bergantung pada BANYAK pada seberapa cepat Anda dapat menulis file log transaksi dan cadangannya atas seberapa cepat Anda dapat mengakses file mdf. Ini berarti Anda harus sangat mempertimbangkan untuk meletakkan cadangan di drive cepat (idealnya Anda akan menambahkan SSD kecil ke server yang dapat Anda gunakan untuk file ldf, untuk memberi mereka kecepatan sambil tetap menjaga pemisahan dari cadangan Anda). Sayangnya ini meninggalkan drive lambat untuk file MDF Anda, tetapi sekali lagi: itu tidak masalah seperti yang Anda pikirkan.

Perlu dicatat di atas dengan asumsi bahwa Anda memiliki RAM yang cukup, bahwa Anda mengikuti beban kerja yang khas, dan bahwa Anda berencana untuk menggunakan mode Pemulihan penuh, daripada sederhana. Selain itu, sistem operasi dan program Sql Server yang terinstal itu sendiri dapat ditempatkan pada drive lambat, meskipun tentu saja Anda mungkin ingin sebanyak yang Anda punya ruang untuk hidup di drive cepat.

Joel Coel
sumber
Dengan cadangan, maksud saya file yang tidak digunakan, tetapi hanya disimpan. Saya akan meletakkan file mdf dan ldf pada disk cepat. Ini berita baru bagi saya bahwa mdf diperbolehkan untuk menggunakan disk yang lambat, itu adalah informasi yang menarik dan tidak terduga.
Niels Brinch
1
Anda tidak ingin mdf pada disk yang sama dengan cadangan / log. MDF mewakili status basis data saat ini. Backup + LDF mewakili apa yang Anda butuhkan untuk memulihkan database ke kondisi saat ini. Anda ingin kedua representasi dipisahkan satu sama lain, sehingga peristiwa yang menghancurkan satu tidak akan merusak yang lain. Dan karena log dan backup harus di disk yang cepat (kinerja tergantung banyak lebih pada seberapa cepat Anda dapat menulis ke file LDF dari seberapa cepat Anda dapat menulis ke file MDF), yang berarti MDF harus pergi ke disk lambat.
Joel Coel
Saya akan mengedit sebagian besar komentar di atas menjadi jawabannya.
Joel Coel
1
Saya tidak yakin mengapa Anda mengatakan hal itu .ldfdan .mdfperlu dipisahkan jika terjadi bencana ... Biasanya tidak diasumsikan bahwa Anda akan menggunakan salah satunya untuk pemulihan bencana, itulah tujuan cadangan. Jika Anda tidak ingin kehilangan data sesedikit mungkin, Anda mendapatkan cadangan log yang sangat sering, Anda tidak bergantung pada file log itu sendiri.
Reaces
@Reaces Kau benar. Saya punya kentut otak dan sedang menulis file LDF dengan jari saya sambil memikirkan backup TRN di kepala saya. Pikiran umum berlaku, tetapi saya harus merevisi secara signifikan untuk mengklarifikasi itu (bekerja sekarang).
Joel Coel