Menskalakan sumber daya database secara dinamis dengan waktu henti minimal - Azure SQL Database & Azure SQL Managed Instance

Berlaku untuk:Azure SQL DatabaseAzure SQL Managed Instance

Azure SQL Database dan Azure SQL Managed Instance memungkinkan Anda menambahkan lebih banyak sumber daya secara dinamis ke database Anda dengan waktu henti minimal; namun, ada peralihan periode di mana konektivitas hilang ke database untuk waktu yang singkat, yang dapat dimitigasi menggunakan logika coba lagi.

Gambaran Umum

Ketika permintaan untuk aplikasi Anda tumbuh dari beberapa perangkat dan pelanggan menjadi jutaan, Azure SQL Database dan SQL Managed Instance menskalakan dengan cepat dengan waktu henti minimal. Skalabilitas adalah salah satu karakteristik terpenting platform as a service (PaaS) yang memungkinkan Anda untuk menambahkan lebih banyak sumber daya ke layanan Anda ketika diperlukan secara dinamis. Azure SQL Database memungkinkan Anda untuk mengubah sumber daya (daya CPU, memori, throughput IO, dan penyimpanan) yang dialokasikan untuk database Anda dengan mudah.

Anda dapat memitigasi masalah performa karena peningkatan penggunaan aplikasi Anda yang tidak dapat diperbaiki menggunakan metode pengindeksan atau regenerasi kueri. Menambahkan lebih banyak sumber daya memungkinkan Anda bereaksi cepat ketika database Anda mencapai batas sumber daya saat ini dan membutuhkan lebih banyak daya untuk menangani beban kerja yang masuk. Azure SQL Database juga memungkinkan Anda untuk menurunkan skala sumber daya ketika sumber dayanya tidak diperlukan untuk menurunkan biaya.

Anda tidak perlu khawatir tentang pembelian perangkat keras dan mengubah infrastruktur yang mendasarinya. Penskalaan database dapat dengan mudah dilakukan melalui portal Microsoft Azure dengan menggunakan penggeser.

Scale database performance

Azure SQL Database menawarkan model pembelian berbasis DTU dan model pembelian berbasis vCore, sementara Azure SQL Managed Instance hanya menawarkan model pembelian berbasis vCore.

  • Model pembelian berbasis DTU menawarkan perpaduan sumber daya komputasi, memori, dan I/O dalam tiga tingkat layanan untuk mendukung beban kerja database yang ringan hingga berat: Dasar, Standar, dan Premium. Tingkat performa dalam setiap tingkat menyediakan campuran sumber daya yang berbeda, di mana Anda dapat menambahkan sumber daya penyimpanan tambahan.
  • Model pembelian berbasis vCore memungkinkan Anda memilih jumlah vCore, jumlah memori, serta jumlah dan kecepatan penyimpanan. Model pembelian ini menawarkan tiga tingkat layanan: Tujuan Umum, Business Critical, dan Hyperscale.

Tingkat layanan, tingkat komputasi, dan batas sumber daya untuk database, kumpulan database elastis, atau instans terkelola dapat diubah kapan saja. Misalnya, Anda dapat membangun aplikasi pertama Anda pada database tunggal menggunakan tingkat komputasi tanpa server dan kemudian mengubah tingkat layanannya secara manual atau terprogram kapan saja, ke tingkat komputasi yang tersedia, untuk memenuhi kebutuhan solusi Anda.

Catatan

Pengecualian penting di mana Anda tidak dapat mengubah tingkat layanan database adalah:

  • Database yang menggunakan fitur yang hanya tersedia di tingkat layanan Business Critical/Premium, tidak dapat diubah untuk menggunakan tingkat layanan Tujuan Umum/Standar. Saat ini, satu-satunya fitur tersebut adalah OLTP Dalam Memori.
  • Database yang awalnya dibuat di tingkat layanan Hyperscale tidak dapat dimigrasikan ke tingkat layanan lain. Jika Anda memigrasikan database yang sudah ada di Azure SQL Database ke tingkat layanan Hyperscale, Anda dapat memigrasikan balik ke tingkat layanan Tujuan Umum dalam waktu 45 hari sejak migrasi awal ke Hyperscale. Jika Anda ingin memigrasikan database ke tingkat layanan lain, seperti Business Critical, lakukan migrasi balik terlebih dahulu ke tingkat layanan Tujuan Umum, lalu lakukan migrasi lebih lanjut. Pelajari selengkapnya di Cara bermigrasi balik dari Hyperscale.

Anda dapat menyesuaikan sumber daya yang dialokasikan ke database Anda dengan mengubah tujuan layanan, atau penskalaan, untuk memenuhi tuntutan beban kerja. Tindakan ini juga memungkinkan Anda untuk hanya membayar sumber daya yang Anda butuhkan, ketika membutuhkannya. Silakan lihat catatan tentang dampak potensial yang mungkin dimiliki operasi skala pada aplikasi.

Azure SQL Database menawarkan kemampuan untuk menskalakan database Anda secara dinamis:

  • Dengan database tunggal, Anda dapat menggunakan model DTU atau vCore untuk menentukan jumlah maksimum sumber daya yang akan ditetapkan ke setiap database.
  • Kumpulan elastis memungkinkan Anda menentukan batas sumber daya maksimum per grup database dalam kumpulan.

Azure SQL Managed Instance juga memungkinkan Anda untuk menskalakan:

  • SQL Managed Instance menggunakan mode vCores dan memungkinkan Anda menentukan core CPU maksimum dan maksimum penyimpanan yang dialokasikan untuk instans Anda. Semua database dalam instans terkelola akan membagikan sumber daya yang dialokasikan ke instans.

Tip

Penskalaan dinamis memungkinkan pelanggan mengubah alokasi sumber daya secara manual atau terprogram. Kemampuan penskalaan dinamis tersedia untuk semua sumber daya Azure SQL Database dan Azure SQL Managed Instance.

Selain mendukung penskalaan dinamis, tingkat Tanpa Server di Azure SQL Database mendukung penskalaan otomatis. Database di sumber daya skala tingkat Tanpa Server secara otomatis dalam rentang yang ditentukan pelanggan, berdasarkan permintaan beban kerja. Tidak ada tindakan pelanggan yang diperlukan untuk menskalakan database.

Dampak operasi peningkatan atau penurunan skala

Memulai tindakan meningkatkan atau menurunkan skala dalam salah satu ragam yang disebutkan di atas, memulai ulang proses mesin database dan memindahkannya ke mesin virtual yang berbeda jika diperlukan. Memindahkan proses mesin database ke mesin virtual baru adalah proses online di mana Anda dapat terus menggunakan layanan Azure SQL Database yang ada. Setelah mesin database target siap untuk memproses kueri, koneksi terbuka ke mesin database saat ini akan dihentikan, dan transaksi yang tidak dikomit akan digulung balik. Koneksi baru akan dibuat ke mesin database target.

Catatan

Tidak disarankan untuk menskalakan instans terkelola Anda jika transaksi yang berjalan lama, seperti impor data, pekerjaan pemrosesan data, pembangunan ulang indeks, dll., sedang berjalan, atau jika Anda memiliki koneksi aktif pada instans. Untuk mencegah penskalaan membutuhkan waktu lebih lama untuk diselesaikan dari biasanya, Anda harus menskalakan instans setelah menyelesaikan semua operasi yang berjalan lama.

Catatan

Anda dapat mengharapkan pemutusan koneksi singkat ketika proses skala naik/turunan selesai. Jika Anda telah menerapkan Logika coba lagi untuk kesalahan sementara standar, Anda tidak akan melihat failover.

Metode skala alternatif

Penskalaan sumber daya adalah cara termudah dan paling efektif untuk meningkatkan performa database Anda tanpa mengubah database atau kode aplikasi. Dalam beberapa kasus, bahkan tingkat layanan tertinggi, ukuran komputasi, dan pengoptimalan performa mungkin tidak menangani beban kerja Anda dengan cara yang sukses dan hemat biaya. Dalam hal ini Anda memiliki opsi tambahan berikut untuk menskalakan database Anda:

  • Baca peluasan skala adalah fitur yang tersedia di mana Anda mendapatkan satu replika data baca-saja di mana Anda dapat menjalankan kueri baca-saja yang menuntut seperti laporan. Replika baca-saja akan menangani beban kerja baca-saja Anda tanpa memengaruhi penggunaan sumber daya pada database utama Anda.
  • Pemecahan Database adalah set teknik yang memungkinkan Anda untuk memisahkan data Anda menjadi beberapa database dan menskalakannya secara independen.

Langkah berikutnya