Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Baru di SQL Server 2014 (12.x), In-Memory OLTP dapat secara signifikan meningkatkan performa aplikasi database OLTP. In-Memory OLTP adalah mesin database yang dioptimalkan untuk memori dan terintegrasi ke dalam mesin SQL Server, dioptimalkan untuk OLTP.
|
Ingin mencoba SQL Server 2016? Daftar untuk Microsoft Azure, lalu buka Di sini untuk memutar Komputer Virtual dengan SQL Server 2016 yang sudah diinstal. Anda dapat menghapus Komputer Virtual setelah selesai. |
Untuk menggunakan In-Memory OLTP, Anda menentukan tabel yang sangat diakses sebagai memori teroptimasi. Tabel yang dioptimalkan memori sepenuhnya transaksional, tahan kerusakan, dan diakses menggunakan Transact-SQL sama seperti tabel berbasis disk. Kueri dapat mereferensikan tabel yang dioptimalkan memori dan tabel berbasis disk. Transaksi dapat memperbarui data dalam tabel yang dioptimalkan memori dan tabel berbasis disk. Prosedur tersimpan yang hanya mereferensikan tabel yang dioptimalkan memori dapat dikompilasi secara asli ke dalam kode mesin untuk peningkatan performa lebih lanjut. Mesin In-Memory OLTP dirancang untuk tingkat konkurensi sesi yang sangat tinggi untuk jenis transaksi OLTP yang didorong dari lapisan tengah yang sangat terdistribusi. Untuk mencapai hal ini, ia menggunakan struktur data bebas kait dan kontrol konkurensi multi-versi yang optimis. Hasilnya dapat diprediksi, latensi rendah sub-milidetik dan throughput tinggi dengan penskalaan linier untuk transaksi database. Perolehan performa aktual tergantung pada banyak faktor, tetapi peningkatan performa 5 hingga 20 kali umum.
Tabel berikut ini meringkas pola beban kerja yang mungkin paling menguntungkan dengan menggunakan In-Memory OLTP:
| Skenario Implementasi | Skenario Implementasi | Manfaat In-Memory OLTP |
|---|---|---|
| Tingkat penyisipan data yang tinggi dari beberapa koneksi yang berjalan secara bersamaan. | Terutama penyimpanan khusus tambahan. Tidak dapat mengikuti beban kerja sisipkan. |
Menghilangkan pertikaian. Kurangi penebangan pohon. |
| Baca performa dan skala dengan sisipan dan pembaruan batch berkala. | Operasi baca performa tinggi, terutama ketika setiap permintaan server memiliki beberapa operasi baca yang harus dilakukan. Tidak dapat memenuhi persyaratan peningkatan skala. |
Hilangkan ketidakcocokan saat data baru tiba. Pengambilan data latensi yang lebih rendah. Minimalkan waktu eksekusi kode. |
| Pemrosesan logika bisnis intensif di server database. | Sisipkan, perbarui, dan hapus beban kerja. Komputasi intensif di dalam prosedur tersimpan. Membaca dan menulis pertikaian. |
Menghilangkan pertikaian. Minimalkan waktu eksekusi kode untuk mengurangi latensi dan throughput yang ditingkatkan. |
| Latensi rendah. | Memerlukan transaksi bisnis latensi rendah yang tidak dapat dicapai solusi database khas. | Menghilangkan pertikaian. Minimalkan waktu eksekusi kode. Pelaksanaan kode berlatensi rendah. Pengambilan data yang efisien. |
| Manajemen status sesi. | Sering menyisipkan, memperbarui, dan pencarian titik. Beban skala tinggi dari berbagai server web stateless. |
Menghilangkan pertikaian. Pengambilan data yang efisien. Pengurangan atau penghapusan IO yang bersifat opsional, saat menggunakan tabel yang tidak memiliki daya tahan |
Untuk informasi selengkapnya tentang skenario di mana In-Memory OLTP akan menghasilkan perolehan performa terbesar, lihat In-Memory OLTP - Pola Beban Kerja Umum dan Pertimbangan Migrasi.
In-Memory OLTP akan memberikan peningkatan performa terbaik dalam OLTP dengan transaksi berjangka pendek.
Pola pemrograman yang In-Memory OLTP akan meningkatkan termasuk skenario konkurensi, pencarian titik, beban kerja di mana ada banyak sisipan dan pembaruan, dan logika bisnis dalam prosedur tersimpan.
Integrasi dengan SQL Server berarti Anda dapat memiliki tabel yang dioptimalkan memori dan tabel berbasis disk dalam database yang sama, dan mengkueri di kedua jenis tabel.
Pada SQL Server 2014 (12.x) terdapat keterbatasan pada area permukaan Transact-SQL yang didukung untuk In-Memory OLTP.
In-Memory OLTP mencapai perolehan performa dan skalabilitas yang signifikan dengan menggunakan:
Algoritma yang dioptimalkan untuk mengakses data yang berada di dalam memori.
Kontrol konkurensi optimis yang menghilangkan kunci logis.
Objek bebas kunci yang menghilangkan semua kunci fisik dan kait. Thread yang melakukan pekerjaan transaksional tidak menggunakan kunci atau kait untuk kontrol paralelisme.
Prosedur tersimpan yang dikompilasi secara asli, yang memiliki performa yang jauh lebih baik daripada prosedur tersimpan yang ditafsirkan, saat mengakses tabel yang dioptimalkan memori.
Penting
Beberapa perubahan sintaks pada tabel dan prosedur tersimpan akan diperlukan untuk menggunakan In-Memory OLTP. Untuk informasi selengkapnya, lihat Migrasi ke In-Memory OLTP. Sebelum Anda mencoba memigrasikan tabel berbasis disk ke tabel yang dioptimalkan memori, baca Menentukan apakah Tabel atau Prosedur Tersimpan Harus Ditransmisikan ke In-Memory OLTP untuk melihat tabel dan prosedur tersimpan mana yang akan mendapat manfaat dari In-Memory OLTP.
Di bagian ini
Bagian ini menyediakan informasi tentang konsep berikut:
| Topik | Deskripsi |
|---|---|
| Persyaratan untuk Menggunakan Tabel yang Dioptimalkan Memori | Membahas persyaratan perangkat keras dan perangkat lunak serta panduan untuk menggunakan tabel yang dioptimalkan memori. |
| Menggunakan In-Memory OLTP di Lingkungan VM | Mencakup penggunaan In-Memory OLTP di lingkungan virtual. |
| In-Memory Contoh Kode OLTP | Berisi sampel kode yang menunjukkan cara membuat dan menggunakan tabel yang dioptimalkan memori. |
| Tabel yang Dioptimalkan Memori | Memperkenalkan tabel yang dioptimalkan untuk memori. |
| Variabel dari TabelMemory-Optimized | Contoh kode memperlihatkan cara menggunakan variabel tabel yang dioptimalkan memori alih-alih variabel tabel tradisional untuk mengurangi penggunaan tempdb. |
| Indeks pada Tabel Memory-Optimized | Memperkenalkan indeks yang dioptimalkan untuk memori. |
| Prosedur Tersimpan yang Dikompilasi Secara Asli | Memperkenalkan prosedur tersimpan yang dikompilasi secara asli. |
| Mengelola Memori untuk OLTP In-Memory | Memahami dan mengelola penggunaan memori pada sistem Anda. |
| Membuat dan Mengelola Penyimpanan untuk Objek yang Dioptimalkan Memori | Membahas data dan file delta, yang menyimpan informasi tentang transaksi dalam tabel yang dioptimalkan memori. |
| Pencadangan, Pengembalian, dan Pemulihan Tabel yang Dioptimalkan Memori | Membahas pencadangan, pengembalian, dan pemulihan untuk tabel yang dioptimalkan memori. |
| Dukungan Transact-SQL untuk OLTP Dalam Memori | Membahas dukungan Transact-SQL untuk In-Memory OLTP. |
| Dukungan Ketersediaan Tinggi untuk database OLTP In-Memory | Membahas grup ketersediaan dan pengklusteran failover di In-Memory OLTP. |
| Dukungan SQL Server untuk OLTP In-Memory | Mencantumkan sintaks dan fitur baru dan yang diperbarui yang mendukung tabel yang dioptimalkan memori. |
| Migrasi ke Dalam Memori OLTP | Membahas cara memigrasikan tabel berbasis disk ke tabel yang dioptimalkan memori. |
Informasi selengkapnya tentang In-Memory OLTP tersedia di: