Log Transaksi SQL Server di Cloud

8

Ini adalah praktik umum untuk menempatkan log transaksi ( *.ldf) pada sistem disk fisik yang terpisah dari file database ( *.mdf, *.ndf).

Dalam lingkungan cloud mesin virtual, apakah boleh menempatkan log transaksi pada huruf drive yang sama dengan file data lainnya? Bagaimana ini biasanya ditangani di lingkungan mesin virtual cloud populer saat ini.

CATATAN: Tidak menggunakan SQL Azure. Menggunakan mesin virtual Windows dengan akses penuh.

Jason Kresowaty
sumber
1
Jika Anda berbicara tentang Azure, saya tidak berpikir Anda benar-benar memiliki kendali atas penempatan file, atau bahkan visibilitas ke sistem disk yang mendasarinya sama sekali. Yang mengatakan, saya tidak berpikir itu akan sangat pintar dari Microsoft untuk melanggar praktik terbaik dan menempatkan data dan file log pada disk yang sama, terutama mengingat tambahan overhead tulis yang melekat pada platform.
Aaron Bertrand
Klarifikasi: Tidak menggunakan SQL Azure. Menggunakan mesin virtual windows penuh sehingga penempatan log transaksi terserah saya.
Jason Kresowaty
1
Jadi jika Anda memiliki beberapa volume independen yang dapat diakses oleh VM Anda, mengapa menurut Anda pertimbangan penempatan log akan berbeda untuk mesin virtual vs mesin fisik?
Aaron Bertrand
Saya kira orang perlu tahu rekomendasi dari vendor tertentu untuk menjawab dengan pasti. Saya kira saya hanya ingin beberapa ide umum tentang apa yang sebenarnya dilakukan orang dalam hal ini dengan vendor cloud populer.
Jason Kresowaty
1
Jadi apa yang kita bicarakan di sini? VM yang diselenggarakan oleh Anda pada perangkat keras dan penyimpanan yang Anda kontrol atau VM yang diselenggarakan oleh penyedia cloud seperti Azure atau EC2?
Mark Storey-Smith

Jawaban:

4

Dalam pengujian ekstensif saya terhadap cloud SQL di server cloud (khusus untuk rackspace cloud), saya menemukan bahwa pemisahan ldf dan mdf ke volume penyimpanan blok yang berbeda membuat peningkatan kinerja yang signifikan. Saya mencapai kinerja sangat panas dengan meletakkan ldf pada volume penyimpanan blok berbasis SSD dan mdf pada volume penyimpanan blok standar.

Pada akhirnya, tentu saja, volume penyimpanan blok adalah SAN bersama di suatu tempat. Dan penyimpanan "instance" lokal ada di hypervisor itu sendiri. Jadi topologi perangkat keras dari lingkungan cloud Anda akan menentukan konfigurasi apa yang akan bekerja paling baik.

Jonesome Reinstate Monica
sumber
2

Tergantung pada lingkungan cloud yang Anda gunakan tetapi biasanya masuk akal untuk meletakkannya di drive logis yang sama. Jika Anda membutuhkan IOPS tambahan, Anda dapat menghapus banyak volume tetapi masih menampilkan satu drive.

Di lingkungan cloud Anda bukan konsumen satu-satunya penyimpanan yang Anda alokasikan. Anda mendapatkan sepotong kecil kue yang sangat besar dan karenanya semua IO bersifat acak. Tidak ada yang bisa diperoleh dari mencoba memisahkan akses sekuensial (log) dari acak (data).

Tidak ada yang dapat diperoleh dari sudut pemulihan karena Anda tidak dapat bersikeras bahwa kedua volume akan dialokasikan dari berbagai array. Juga, cenderung ada kelas perlindungan yang berbeda yang diberikan pada ketersediaan penyimpanan dari pemain besar. Penyimpanan Azure misalnya direplikasi tiga kali lipat dalam pusat data, dengan salinan tambahan direplikasi ke pusat data failover secara default.

Mark Storey-Smith
sumber