Adakah yang tahu tentang perbandingan yang menunjukkan bagaimana SSD dibandingkan dengan HDD untuk kinerja di lingkungan SQL?
Saya mencoba memahami jenis manfaat kinerja apa yang dapat diperoleh dengan beralih ke SSD.
Adakah yang tahu tentang perbandingan yang menunjukkan bagaimana SSD dibandingkan dengan HDD untuk kinerja di lingkungan SQL?
Saya mencoba memahami jenis manfaat kinerja apa yang dapat diperoleh dengan beralih ke SSD.
Jawaban:
Jika Anda melakukan banyak pembacaan kecil, SSD jauh lebih cepat. Inilah salah satu dari beberapa perbandingan yang beredar tentang kinerja database. Lihat grafik di bawah untuk jawaban singkatnya.
Untuk kinerja yang bagus, SSD menawarkan banyak keuntungan, yang utama adalah bahwa waktu pencarian efektif 0, yang berarti semua HD kecil yang diketuai oleh database ditangani lebih cepat.
Namun ada beberapa kekhawatiran dengan generasi saat ini pada masa tulis, karena setelah begitu banyak menulis blok tidak dapat digunakan lagi. Mereka dapat menulis sedikit, saya percaya intel mengatakan sekitar satu byte byte untuk drive 32GB mereka sebelum mereka mulai mencapai tingkat berbahaya ware ... ini hanya akan menjadi lebih baik seiring waktu.
Untuk pemahaman yang lebih baik tentang mengapa kinerja mereka jauh lebih baik, baca artikel ini dari Anandtech pada SSD . Dia membahas detail drive, apa yang baik, apa yang tidak, dan seluk beluk cara kerjanya. Di bagian atas juga ada tautan ke artikel tindak lanjut yang mencakup serangkaian drive terbaru.
Anda dapat menginstal sistem operasi dan perangkat lunak SQL pada hard drive standar dan kemudian menambahkan SSD untuk hanya menyimpan file database Anda. Ini harus membatasi jumlah penulisan yang dialami drive SSD dan juga memaksimalkan jumlah ruang yang tersedia untuk data Anda pada drive.
saya sarankan Anda untuk membaca makalah berikut Migrasi Server Storage ke SSD: Analisis Tradeoffs , cukup bagus dibaca.
Menurut pendapat saya, belum ada cukup manfaat dari SDD di area server. Mungkin dalam beberapa tahun mereka mungkin layak dibeli, bot untuk saat ini HDD adalah pilihan yang lebih baik.
Jawaban Nick Craver baik; Saya hanya ingin menambahkan dua peringatan ke SSD yang menurut saya orang harus sadar:
a) Masalah SSD dengan keausan tulis tidak hilang, mereka merupakan hal mendasar bagi sel-sel flash yang digunakan. Sel SLC memiliki daya tahan tulis yang jauh lebih tinggi daripada MLC, sehingga OP harus mempertimbangkan untuk mendapatkan drive SLC di atas MLC. Tentu saja, SLC juga jauh lebih mahal.
b) Drive saat ini menyimpan data cache pada drive sebelum menuliskannya. Dengan demikian ada risiko kehilangan data jika daya terputus selama operasi penulisan. Ini adalah sesuatu yang dapat Anda atasi, tetapi cache ada untuk kinerja, dan untuk mengurangi amplifikasi tulis.
IMHO tidak satu pun di atas adalah pelanggar. Saya akan siap untuk menggunakan SSD untuk produksi hari ini, tetapi dengan beberapa perencanaan terlebih dahulu.
Beberapa hal yang perlu diingat.
Jika Anda menekan basis data sehingga bacaan Anda melambat dan Anda membutuhkan SSD, maka Anda perlu memperbaiki indeks Anda atau melihat menambahkan lebih banyak RAM ke server.
Sebagian besar server basis data, setelah disetel sepenuhnya tidak perlu SSD berjalan dengan baik.
Baca artikel ini (cukup lama - 2009):
Ringkasan: ganti 24 x 15k RPM SAS drive dengan 6 (ya enam) SSD dan masih mendapatkan kinerja 35% lebih tinggi. Ini dengan Intel X25Ms yang tidak lagi unggul untuk SSD.
Untuk orang-orang basis data, ini fantastis karena Anda dapat memiliki server lebih cepat yang lebih kecil menggunakan daya yang lebih kecil.
Satu hal yang perlu dipertimbangkan adalah memiliki log transatcion pada HDD dan MDF Anda pada SSD. Juga masa hidup akan sangat tergantung pada jenis aplikasi. OLTP dapat terbakar dengan cepat di mana data statis yang seharusnya tidak memiliki masalah.
Pengalaman saya sendiri dicampur di sini ...
Pengujian pada windows 7 dengan sql server 2008 express r2. Berjalan di Desktop i7 dengan Sandy Bridge dan ram terpasang 12G (saya pikir DDR3?). Maaf pengaturan sedang desktop, saya hanya setelah melihat berapa banyak catatan saya dapat mengelola pada platform i7 sebelum saya membangun server.
Saya pertama kali menjalankan tes ini pada drive 1.5TB 7200rpm yang diinstal untuk mendapatkan timing dasar.
Catatan 10k dengan memperbarui procs, mengoptimalkan tabel untuk menyimpan data terkait sebelumnya dalam tabel datar, menambahkan indeks sampai saya mendapatkan waktu ke beberapa detik sebagai titik awal, kemudian saya menduplikasi catatan hingga 1,2 juta dan mendapat waktu dari 0: 3: 37 untuk pembaruan yang sama. 3 1/2 menit tidak buruk untuk pengaturan non-raid ini.
Duping catatan hingga 2,56 juta memberi saya waktu 0:15:57 - peningkatan hampir 5x. Mungkin sebagian besar karena paging melewati memori 12G yang terpasang.
Menginstal drive SSD dan memindahkan basis data, waktunya benar-benar meningkat menjadi lebih dari 20 menit. Saya berasumsi ini karena file halaman adalah per hard drive dan tidak ada secara default pada drive SSD karena tidak diinstal sebagai drive OS (bluescreens berlimpah ketika saya mencobanya).
Menambahkan pagefile ke drive SSD dan menguji ulang tes itu, 0: 5: 52-m sehingga pagefile tampaknya telah melakukan trik, tetapi saya tidak yakin pagefile cocok untuk drive SSD karena semua alasan di atas, mereka sangat terikat dan dapat menambah keausan yang tidak semestinya pada drive.
Satu peringatan, saya juga mengaktifkan Smartboost pada drive itu dan yang mungkin juga mempengaruhi timing, akan menjalankannya kembali tanpa itu.
Perasaan terbaik saya adalah bahwa lebih mudah untuk menambahkan memori hari ini, dan untuk biaya mungkin serangan 0 + 1 dari disk Hybrid akan melakukan pekerjaan yang hampir sama baiknya tanpa masalah.
sunting: menonaktifkan paging file pada SSD dan membiarkan smart boost melakukan tugasnya, waktu ditingkatkan dari 5:52 menit menjadi 4:55 menit untuk 2,56 juta catatan dengan serangkaian 3 pembaruan masing-masing. Saya akan mencoba cache 8G ssd pada drive hybrid seagate 750G berikutnya. maka jika itu tidak buruk saya akan mencobanya dalam serangan 0 + 1.
pembaruan terakhir tentang ini karena ini adalah utas lama - tetapi saya ingin meletakkan hasil yang saya dapatkan di sana sehingga seseorang dapat menemukannya.
Memindahkan basis data ke Seagate 750G Hybrid dengan cache SSD 8G Saya menjalankan tes beberapa kali agar cache SSD dapat belajar. Ini memberi saya waktu 5:15 m: s untuk pengujian yang sama, memperbarui 2,56 juta catatan - itu cukup dekat dengan kinerja SSD (4:55 m: s dengan Intel Smartboost) bagi saya untuk mempertimbangkan biaya.
Di sekitar $ 50 lebih banyak ($ 239 vs $ 189 sekarang) hibrida menyediakan lebih dari 6x penyimpanan dan kinerja yang hampir sama, tanpa menjalankan perangkat lunak tambahan untuk optimasi. Dalam serangan 0 + 1 saya berharap untuk mendapatkan timing yang jauh lebih baik dan drive ini memiliki garansi 5 tahun, dia berharap saya tidak akan membutuhkannya.
Secara pribadi, saya tidak akan menggunakan SSD karena alasan yang telah disebutkan; mereka secara bertahap akan melambat sebelum akhirnya gagal. Kami belum benar-benar tahu kapan ini akan terjadi - perkiraan saat ini hanya itu - perkiraan. Ingat ketika kita semua membeli CD yang 'tidak bisa dihancurkan' di awal / pertengahan 80-an? Beberapa tahun kemudian, kami menganggap penyimpanan data dalam bentuk CD sama bodohnya dengan menggunakan floppy disk.
Jika Anda memiliki perangkat keras, OS, dan DB yang semuanya dikonfigurasi dengan benar, maka Anda tidak perlu bertaruh pada SSD.
Dalam beberapa tahun, ketika produk telah jatuh tempo sedikit, itu akan menjadi skenario yang berbeda. Tapi sampai saat itu ...
Artikel Penelitian Microsoft berkaitan dengan biaya per Gb daripada keuntungan kinerja. Sebenarnya tidak pas dan menguji drive tetapi menggunakan algoritma retro-casting berdasarkan file log dari server yang sebenarnya.
Beberapa hal yang muncul dalam pikiran dengan SSD dan SQL:
1 / Jika Anda lalai menambahkan indeks yang tepat, SSD akan jauh lebih memaafkan karena waktu pencarian acak sangat rendah.
2 / Biaya jauh menurun ketika studi itu dilakukan dan untuk aplikasi web kecil, katakanlah untuk menjalankan bagian belakang aplikasi telepon, bukan server Exchange perusahaan, kinerja dapat menghemat biaya dalam menyewa konsultan untuk menyempurnakan SQL Server.
3 / Sebuah drive SSD tunggal dengan salinan bayangan tentunya harus lebih murah daripada sekelompok gelendong dalam kabinet RAID serta pengontrol dan koneksi. Belum lagi tenaga dan pemanas serta ruang rak.
4 / Spindle terkenal karena menjadi bagian yang paling umum mati di komputer. SSD tidak memiliki komponen yang bergerak dan satu jam waktu istirahat bisnis dapat menghabiskan biaya SSD dalam sekali jalan.
5 / Wear adalah masalah tetapi mereka memiliki cara untuk mengelolanya (melibatkan penghamburan blok) yang dimungkinkan karena data yang terfragmentasi secara acak tidak akan memperlambat SSD. Selain itu, basis data kecil pada disk besar kemungkinan tidak akan aus pada waktunya untuk membeli yang baru lebih murah di masa depan.
6 / Ada tren menuju basis data non-relasional dan melakukan join di tingkat menengah. Ini benar-benar dapat mengubah hal-hal: I / O ke tabel sederhana yang tidak diindeks pada drive SSD pada pecahan tanpa penalti kinerja dan dengan proposisi penskalaan yang jauh lebih sederhana. Juga menghemat lisensi SQL Server per shard.
7 / Ini semua teoretis. Jika ada yang memiliki pengujian kinerja dunia nyata terhadap spindle, saya ingin melihatnya.
Luke