Sumber daya untuk memahami penguncian dan konkurensi SQL Server?


8

Seperti yang ditunjukkan oleh pertanyaan baru-baru ini tentang penguncian dan konkurensi tambang adalah KERAS.

Bisakah Anda menyarankan sumber daya yang baik untuk profesional SQL tingkat lanjut hingga lanjut untuk melakukan studi menyeluruh tentang hal ini yang, jika dipelajari dengan tepat, memungkinkan navigasi yang lebih baik dari semua jebakan yang melekat di area ini?

Saya sedang memikirkan semua jenis sumber daya - tutorial, blog, halaman manual, sesi PASS, atau apa pun.

Jawaban:


7

Buku terbaik tentang masalah ini, dan sumber daya terlengkap, adalah SQL Server 2008 Internals dari Kalen Delaney. Anda benar-benar tidak dapat melakukan yang lebih baik. Buku bagus lainnya tentang masalah ini adalah SQL Server 2008 Internal dan Pemecahan Masalah Chris Bolton. Saya tidak berpikir itu selengkap buku Kalen, tetapi itu mencakup hal-hal dengan cukup baik, terutama di sekitar penguncian dan konkurensi.


Saya harus memberi saran kedua - SQL Server 2008 Internal oleh Kalen Delaney adalah sumber yang mengagumkan! Itu duduk di meja saya setiap saat.
OliverAsmus

7

Sementara buku khusus produk melakukan pekerjaan yang hebat dalam menjelaskan cara menggunakan produk (dan seri Kalen Delaney mengagumkan!), Mereka tidak benar-benar memiliki peluang melawan 'buku hitam' dan 'buku merah' dari sistem basis data. Khususnya buku hitam (tautan pertama) cukup banyak bacaan wajib jika Anda ingin memahami konsep-konsep ini. Buku merah adalah kumpulan makalah penelitian, banyak tersedia online. Saya menyimpan halaman dengan tautan ke beberapa di antaranya . Buku ketiga yang ditautkan pada dasarnya adalah penulisan ulang 'buku hitam' yang lebih mutakhir (juga lebih murah dan tersedia di Kindle ...)

Ada juga beberapa blog yang bagus, saya pertama dan terutama akan merekomendasikan blog SQL Server CSS .


5

Mengunci dan konkurensi adalah topik yang paling banyak saya pelajari melalui pengujian dan observasi.

Mulailah dengan membaca Level Isolasi di Mesin Basis Data dan Efek Concurrency , sehingga Anda memiliki pemahaman tentang hubungan antara keduanya. Sekarang Anda dapat bereksperimen:

  • Bangun SQL untuk transaksi pengujian. Sesuatu yang sederhana dan mandiri dengan konteks / domain yang Anda pahami misalnya checkout keranjang belanja atau transfer bank. Pastikan Anda memiliki metode untuk memverifikasi bahwa data dalam kondisi yang diharapkan setelah pengujian.
  • Jalankan skenario Anda, amati jenis, durasi, dan urutan kunci yang diterapkan oleh mesin basis data.
  • Ubah level isolasi atau terapkan petunjuk dan amati perubahan pada kunci yang diambil.
  • Ketika Anda berpikir Anda memiliki transaksi yang akan bertahan dari konkurensi , muat menguji itu.

Saya cenderung memeriksa urutan kunci dengan jejak bendera 1200 atau jejak Profiler . Saya percaya acara yang diperpanjang juga bisa digunakan tetapi saya belum mencoba sendiri.


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.